summaryrefslogtreecommitdiff
path: root/cider-scratch.el
Commit message (Collapse)AuthorAge
* Bump the copyright yearsBozhidar Batsov2019-01-01
|
* Initialize `sesman-system` in all CIDER modesVitalie Spinu2018-07-13
|
* Rename cider--scratch-insert-welcome-message to ↵Bozhidar Batsov2018-07-08
| | | | cider-scratch--insert-welcome-message
* Rename cider-create-scratch-buffer to cider-scratch--create-bufferBozhidar Batsov2018-07-08
|
* Rename cider-find-or-create-scratch-buffer to ↵Bozhidar Batsov2018-07-08
| | | | cider-scratch-find-or-create-buffer
* [Fix #2373] Make it possible to configure the welcome message displayed in ↵Bozhidar Batsov2018-07-06
| | | | scratch buffers
* [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
|
* [Fix #2045] *cider-scratch* is no longer an ancillary bufferVitalie Spinu2017-08-29
|
* Use `add-to-list` instead of `push` for ancillary buffersTianxiang Xiong2017-07-19
|
* Update the copyright years in the source codeBozhidar Batsov2017-01-04
|
* [Fix #1789] Make it easier to change the connection of the scratchBozhidar Batsov2016-10-09
| | | | | | | | | | buffer It wasn't really apparent how one was supposed to change the connection of a scratch buffer, so the relevant command was added to the mode's menu. I've also added another command to quickly toggle a buffer's connection between Clojure and ClojureScript.
* Update a few copyright headersBozhidar Batsov2016-03-27
|
* Acknowledge properly @Malabarba's amazing contributions to CIDERBozhidar Batsov2016-03-23
|
* Track a few more ancillary buffersBozhidar Batsov2016-03-09
|
* Fix the possible keybind clobbering by pareditArtur Malabarba2016-02-13
|
* Add a note about a potential keybinding conflictBozhidar Batsov2016-02-12
|
* Improve a docstringBozhidar Batsov2016-02-12
|
* Fix a docstringBozhidar Batsov2016-02-12
|
* Update the copyright yearsBozhidar Batsov2016-01-01
|
* Use #' where appropriateBozhidar Batsov2015-05-27
|
* Update copyright yearsBozhidar Batsov2015-03-01
|
* Make cider's scratch more consistent with Emacs Lisp's list-interaction-modeBozhidar Batsov2014-07-31
|
* Move point on new scratch buffers below commentsCharles Comstock2014-06-24
| | | | | This matches the behavior of a newly created emacs scratch buffer. Merges insert forms as it accepts &rest arguments.
* Enforce code style via .dir-locals.elBozhidar Batsov2014-04-26
|
* [Fix #498] Implement scratch buffer functionalityBozhidar Batsov2014-03-18