summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* [#2203] Move the insert and eval functionality out ofBozhidar Batsov2018-06-22
| | | | | | cider-interaction.el It's pretty self-contained and it's used only in cider-mode.el.
* Add keybindings for cider-eval-defun-at-point and cider-eval-last-sexpBozhidar Batsov2018-06-22
| | | | | | | in the eval keymap Now pretty much all essential eval commands are available in a consistent keymap for people who prefer this.
* Rename `cider-eval-defun-to-point` and `cider-eval-sexp-to-point`Bozhidar Batsov2018-06-22
| | | | | The new names are the a bit more descriptive `cider-eval-defun-up-to-point` and `cider-eval-sexp-up-to-point`.
* Add cider-jack-in-clj&cljs to cider-connection-init-commandsBozhidar Batsov2018-06-22
|
* Reflow a few long docstring linesBozhidar Batsov2018-06-22
| | | | Checkdoc was complaining about them.
* Reorder a bit the eval menuBozhidar Batsov2018-06-22
| | | | A small attempt to group related functionality better together.
* Add a tip on building locally the MELPA packageBozhidar Batsov2018-06-22
|
* [Fix #2328] Add new interactive command cider-eval-sexp-to-point (#2339)Chris Zheng2018-06-22
| | | It's similar in nature to cider-eval-defun-to-point, but operates on the current sexp.
* Fix unbalanced parenthesesDirceu Pereira Tiegs2018-06-22
| | | This was broken on 28bdc1f2897d351f8a1761e4cf121a1dd353a667
* Add support for printing to the current buffer to `cider-eval-defun-to-point`Bozhidar Batsov2018-06-21
| | | | | This makes the command consistent with other interactive eval commands.
* Make cider-set-repl-type interactiveBozhidar Batsov2018-06-21
| | | | Useful for people who opted to disable auto-detection of the REPL type.
* [#2305] Make it possible to disable the REPL type auto-detectionBozhidar Batsov2018-06-21
| | | | | | That mostly a workaround for cases where the track-state REPL type detection is not functioning properly (seems right now it's not working properly for shadow-cljs).
* Replace the mentions of the now defunct CCW with calvaBozhidar Batsov2018-06-21
|
* Update the piggieback urlBozhidar Batsov2018-06-21
|
* Fix a typoBozhidar Batsov2018-06-21
|
* Add a few tips and notes to the FAQBozhidar Batsov2018-06-21
|
* Fix a broken linkBozhidar Batsov2018-06-21
|
* Add a few more tips and notes to the manualBozhidar Batsov2018-06-21
|
* Add a note on the history of CIDERBozhidar Batsov2018-06-21
|
* Eval top level defuns inside comment forms (#2323)dpsutton2018-06-19
| | | | | | | | Since this is a sensitive codepath (cider-defun-at-point), it is risky to change its behavior due to introducing bugs or introducing unexpected behavior. This _should_ only affect evaluation inside a comment form but we want to be careful. Therefore there is a defcustom `cider-eval-toplevel-inside-comment-form` while others test this. If there is a bug, it is easy for users to turn this feature off completely.
* Introduce a new command named `cider` (`C-c M-x`)Bozhidar Batsov2018-06-19
| | | | | | | | The command acts as a simple wrapper around all commands for starting/connecting to REPLs. It spares you having to remember a ton of keybindings and pays special homage to the one true `M-x`.
* Fix the link to the manualBozhidar Batsov2018-06-19
|
* Move some code where it belongsBozhidar Batsov2018-06-19
|
* Remove duplicated elisp section in .dir-locals.elBozhidar Batsov2018-06-19
|
* Pass cider-default-cljs-repl value to on-port-callbackVitalie Spinu2018-06-19
|
* Check in `cider-connected-p` that the process is aliveVitalie Spinu2018-06-18
|
* [sesman] Expand paths before link registrationVitalie Spinu2018-06-18
|
* Trim cider-compat.el down to just if-let* and when-let*Bozhidar Batsov2018-06-18
|
* Revert "Remove cider-compat.el"Bozhidar Batsov2018-06-18
| | | | | | | This reverts commit b28fbac964907172fdedc3bea56eab905d5fbdbf. This can't be fully removed due to the difference in the signature of `if-let*` and `when-let*` in Emacs 25 and 26.
* Remove some dead codeBozhidar Batsov2018-06-18
|
* Group a few requires a bit betterBozhidar Batsov2018-06-18
|
* Remove cider-compat.elBozhidar Batsov2018-06-18
| | | | It's no longer needed now that we target Emacs 25.
* Update the changelogBozhidar Batsov2018-06-18
|
* Update the requirementsBozhidar Batsov2018-06-18
|
* Rename -cljcljs -> -clj&cljs postfixVitalie Spinu2018-06-18
| | | | This naming convention should scale much better in the future.
* Check for missing repls in cider-switch-to-repl-bufferVitalie Spinu2018-06-18
| | | | Situation that should occur with broken links during development only.
* Remove lingering condition-case-unless-debugVitalie Spinu2018-06-18
|
* Fix cider-restart for single-repl sessionsVitalie Spinu2018-06-18
|
* On session-restart don't unregister linksVitalie Spinu2018-06-18
|
* [Sesman] Improve link retrieval APIVitalie Spinu2018-06-18
|
* Update an nREPL urlBozhidar Batsov2018-06-17
|
* 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
* Improve the formatting of the code completion section of the manualBozhidar Batsov2018-06-17
|
* Update the manual links to use our new domain cider.mxBozhidar Batsov2018-06-17
|
* Improve the formatting of the debugging section of the manualBozhidar Batsov2018-06-17
|
* Improve the formatting of a code exampleBozhidar Batsov2018-06-17
|
* Improve a bit the "Up and Running" section of the manualBozhidar Batsov2018-06-17
|
* Use a fancy copyright symbolBozhidar Batsov2018-06-17
|
* Add the admonitions markdown extensionBozhidar Batsov2018-06-17
| | | | | Seems those notes I was trying to add need this to be enabled to work https://python-markdown.github.io/extensions/admonition/
* Check if those docs annotations are not case sensitiveBozhidar Batsov2018-06-17
|