summaryrefslogtreecommitdiff
path: root/cider-selector.el
Commit message (Collapse)AuthorAge
* Rename `cider-describe-current-connection` -> `cider-describe-connection`Vitalie Spinu2018-08-05
| | | | .. because it accepts an explicit REPL argument now.
* Kill a redundant declare-functionBozhidar Batsov2018-07-08
|
* Improve a docstringBozhidar Batsov2018-07-08
|
* Rename cider--recently-visited-buffer to cider-selector--recently-visited-bufferBozhidar Batsov2018-07-08
|
* Add the ability to jump to the profiler buffer using `cider-selector`Bozhidar Batsov2018-07-08
|
* Rename cider-find-or-create-scratch-buffer to ↵Bozhidar Batsov2018-07-08
| | | | cider-scratch-find-or-create-buffer
* [Fix #2203] Rename cider-interaction.el to cider-eval.elBozhidar Batsov2018-06-25
| | | | | | | | | | All of the non-eval functionality was removed, which marks the end of the process of breaking up the old file. Down the road we may opt to break down cider-eval into some core functionality and extra functionality, as many of the eval commands there are kind of "exotic", but that's not that important at this point.
* New connection API and jack-in rewrite (#2324)Vitalie Spinu2018-06-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Second attempt on #2069. A brief description of the new functionality follows. 1) __Jack-in/connect__ - User level commands: Create new sessions: C-c M-j: cider-jack-in-clj C-c M-J: cider-jack-in-cljs C-c M-c: cider-connect-clj C-c M-C: cider-connect-cljs Add new REPLs to the current session: C-c M-s: cider-connect-sibling-clj C-c M-S: cider-connect-sibling-cljs - `cider-jack-in-clojurescript` no longer creates two repls, only the cljs repl - clj repl has no longer a special status of the "main" repl. All repls within a session share same server and are siblings of each other. You can create as many clj and cljs siblings as you want from any repl. - Creation of the client is no longer tightly bounded with the nrepl-server startup. The dynamic communication mechanism between jack-in and nrepl-server filter has been replace by a simple `on-port-callback`. 2) __New Connection and Session Management API__ - Connections (aka REPLs) are grouped in [sesman](https://github.com/vspinu/sesman) sessions. Sibling repls are added to the current session. - Cider connection commands (`cider-quit`, `cider-restart`, `cider-display-connection-info`) have been refactored to operate exclusively on the connection level. - Sesman commands operate on the whole session: ![sesman-map](https://user-images.githubusercontent.com/1363467/41355277-6864ffb8-6f21-11e8-9387-3de586477d68.png) - Associations (links) between current context (buffer, directory, project) are governed by sesman and could be formed only on the session level. In a nutshell, session can be linked to projects, directories and buffers. Buffer link have precedence over directory links, and directory have precedence over project links. When a sesman session is registered it's automatically linked with the lowest priority context (project, or directory if no project found). By default (configured with `sesman-1-to-1-links`) multiple sessions can be linked with a project or a directory, but only one session can be linked with a buffer. Cider functionality (eval, completion, repl-switching etc) operate on linked sessions. When there are multiple linked sessions ambiguity is automatically resolved by the recency of the REPL buffers (configured with `sesman-disambiguate-by-relevance`). - Show info on current links with `C-c C-s l`. Show info on current, linked or all sessions with `C-c C-s i`. - Micro-management of the server is not allowed (it's not useful and would complicate UI). All repls within a session share a server. Server can be either remote (`cider-connect`) or local (bootstraped within the emacs during `cider-jack-in-xyz`). In case of the local server, when the last connection is killed the server is automatically killed. `cider-restart` restarts the connection but not the server. `sesman-restart` restarts the server and all the connections. At least two issues I still plan to tackle here: - Restart of SSH tunneled connection has not been tested and probably doesn't work - REPL buffer naming system is no longer adequate. It should be possible to include session name as part of the buffer name and add more flexibility into the customization of buffer name templates. ----- A tot of no longer necessary or questionable functionality has been removed. The goal is to start from scratch and add only what is really necessary. I am listing all the removed functions for the ease of lookup through the github interface. Removed: cider--connection-host, cider--connection-port, cider--connection-project-dir, cider--connection-properties, cider--connection-type, cider--guess-cljs-connection, cider--has-warned-about-bad-repl-type, cider--in-connection-buffer-p, cider--quit-connection, cider--restart-connection, cider-assoc-buffer-with-connection, cider-assoc-project-with-connection, cider-change-buffers-designation, cider-clear-buffer-local-connection, cider-close-nrepl-session, cider-connections (variable), cider-current-connection (variable), cider-current-messages-buffer, cider-current-repl-buffer, cider-default-connection, cider-extract-designation-from-current-repl-buffer, cider-find-connection-buffer-for-project-directory, cider-find-reusable-repl-buffer, cider-make-connection-default, cider-map-connections, cider-other-connection, cider-project-connections, cider-project-connections-types, cider-prompt-for-project-on-connect, cider-read-connection, cider-repl-buffers, cider-replicate-connection, cider-request-dispatch, cider-rotate-default-connection, cider-toggle-buffer-connection, cider-toggle-request-dispatch, nrepl-connection-buffer-name-template, nrepl-create-client-buffer-function, nrepl-post-client-callback nrepl-prompt-to-kill-server-buffer-on-quit, nrepl-use-this-as-repl-buffer, Connection Browser Functionality: cider--connection-browser-buffer-name, cider--connection-ewoc, cider--connection-pp, cider--connections-close-connection, cider--connections-goto-connection, cider--connections-make-default, cider--connections-refresh, cider--connections-refresh-buffer, cider--ewoc-apply-at-point, cider--setup-connection-browser, cider--update-connections-display, cider-client-name-repl-type, cider-connection-browser, cider-connections-buffer-mode, cider-connections-buffer-mode-map cider-connections-close-connection, cider-connections-goto-connection, cider-connections-make-default, cider-display-connected-message, cider-project-name, Renamed: cider-current-session -> cider-nrepl-eval-session cider-current-tooling-session -> cider-nrepl-tooling-session cider-display-connection-info -> cider-describe-current-connection cider-create-sibling-cljs-repl -> cider-connect-sibling-cljs nrepl-connection-buffer-name -> nrepl-repl-buffer-name cider--close-connection-buffer -> cider--close-connection ## repl <> connection overlap cleanup cider-connections -> cider-repls cider-current-connection -> cider-current-repl cider-map-connections -> cider-map-repls cider-connection-type-for-buffer -> cider-repl-type-for-buffer cider-repl-set-type -> cider-set-repl-type
* Bump the copyright yearsBozhidar Batsov2018-01-01
|
* Update the copyright years in the source codeBozhidar Batsov2017-01-04
|
* Migrate cider-selector-tests to buttercupcskksc2016-04-22
|
* Fix some copyright yearsBozhidar Batsov2016-04-09
|
* [#1352] Documentation complies with checkdoc styleChaitanya Koparkar2016-04-06
|
* Acknowledge properly @Malabarba's amazing contributions to CIDERBozhidar Batsov2016-03-23
|
* Fix a byte-compilation warningBozhidar Batsov2016-02-12
|
* Add an action for the scratch buffer in the cider-selectorBozhidar Batsov2016-02-12
|
* Change the name of the selector's help bufferBozhidar Batsov2016-02-12
|
* Add a commentBozhidar Batsov2016-02-12
|
* Add *cider-doc* to the list of buffers accessible via the cider-selectorBozhidar Batsov2016-02-11
|
* Use derived-mode-p in cider--recently-visited-bufferBozhidar Batsov2016-02-11
|
* Improve the nrepl-messages selector's help messageBozhidar Batsov2016-02-11
|
* [Fix #1458] Separate nREPL messages by connections instead of byBozhidar Batsov2016-01-31
| | | | | | | | | sessions This is still not ideal as the resulting buffer name is a bit ugly (it features the entire connection buffer name). Down the road we should extract only the relevant part of a connection buffer's name.
* Update the copyright yearsBozhidar Batsov2016-01-01
|
* Add a way to jump to the tooling session's messagesBozhidar Batsov2015-11-26
|
* [#1412] Track nREPL messages per sessionBozhidar Batsov2015-11-25
|
* [#1225] Move a bunch of connection management logic to CIDER itselfBozhidar Batsov2015-08-23
| | | | | | | An nREPL client library shouldn't really handle connection multiplexing and similar concerns. It should simply dispatch requests over a specified connection - plain & simple. It's the responsibility of the users to decide what kind of connection management they'd like to implement.
* Simplify REPL-switching codeBozhidar Batsov2015-08-13
|
* Rename cider-rotate-connection to cider-rotate-default-connectionBozhidar Batsov2015-08-12
|
* pushnew -> cl-pushnewBozhidar Batsov2015-07-16
|
* Use string-match-p/looking-at-p as possibleSyohei YOSHIDA2015-04-22
|
* Fix indentationMichael Griffiths2015-03-20
|
* Update copyright yearsBozhidar Batsov2015-03-01
|
* Use repl buffer as connection bufferVitalie Spinu2014-08-25
| | | | | | | | | | | | | Ancillary changes: - new functions `nrepl-start-client-process' and `nrepl-start-server-process'. - `cider-init-repl-buffer' and `cider-create-repl-buffer' have clear cut separation of functionality - `nrepl-make-buffer-name` and all `cider-create-xxx-buffer-name` take explicit dir, port and host variables. - increase `nrepl-decode-timeout` to 0.025 for greater reliability - merge `nrepl--handle-process-output` into client process filter - remove `nrepl-connect' in favor of `nrepl-start-client-process'
* loop -> cl-loopBozhidar Batsov2014-08-11
|
* Make it possible to select the error buffer via cider-selectBozhidar Batsov2014-06-06
|
* Rename nrepl-log-events to nrepl-log-messagesBozhidar Batsov2014-05-27
| | | | This was done to reflect properly nREPL's terminology.
* Enforce code style via .dir-locals.elBozhidar Batsov2014-04-26
|
* Farewell to tabsBozhidar Batsov2014-03-11
|
* Use lexical binding everywhereBozhidar Batsov2014-02-19
|
* Update copyrights for 2014Bozhidar Batsov2014-02-08
|
* Extract selector help buffer name into a defconstBozhidar Batsov2013-12-05
|
* Small doc fixesBozhidar Batsov2013-12-05
|
* Improve selector helpBozhidar Batsov2013-11-28
|
* Abstract some of the high level evaluation logicBozhidar Batsov2013-11-15
|
* Fix buildBozhidar Batsov2013-11-10
|
* Fix a typoBozhidar Batsov2013-11-10
|
* Don't consider special buffers in cider--recently-visited-bufferBozhidar Batsov2013-11-10
|
* Move cider-recently-visited-buffer to cider-selector.elBozhidar Batsov2013-11-10
|
* Autoload cider-selectorBozhidar Batsov2013-10-28
|
* cider-selector.el depends on cider-find-or-create-repl-bufferCharles Comstock2013-10-24
|