summaryrefslogtreecommitdiff
path: root/cider-util.el
Commit message (Collapse)AuthorAge
* Merge tag 'v0.19.0+dfsg'Sean Whitton2019-01-10
|\ | | | | | | DFSG-clean upstream version 0.19.0
| * Add some new words of inspirationBozhidar Batsov2019-01-01
| |
| * Bump the copyright yearsBozhidar Batsov2019-01-01
| |
| * Update the links to the manualBozhidar Batsov2018-09-23
| | | | | | | | ReadTheDocs finally supports https for custom domains.
* | Merge tag 'v0.18.0+dfsg' into wip/masterSean Whitton2018-09-08
|\| | | | | | | DFSG-clean upstream version 0.18.0
| * Remove comment aware toplevel defun codedan sutton2018-08-18
| | | | | | | | | | | | | | This code has migrated to clojure-mode and is now installed such that `end-of-defun` and `beginning-of-defun` are aware of comment forms. As such CIDER no longer needs to special case them and can just navigate as usual.
| * Add a tip about cider-load-buffer-and-switch-to-repl-bufferBozhidar Batsov2018-08-06
| |
| * Rename `cider-describe-current-connection` -> `cider-describe-connection`Vitalie Spinu2018-08-05
| | | | | | | | .. because it accepts an explicit REPL argument now.
| * Add cider-ns-reload and cider-ns-reload-all commandsAndrea Richiardi2018-08-02
| | | | | | | | | | The C-c M-n l has been assigned to cider-ns-reload while C-c M-n M-l has been assigned to cider-ns-reload-all.
| * Rename the cider-refresh.el to cider-ns.elBozhidar Batsov2018-07-10
| | | | | | | | | | | | See https://github.com/clojure-emacs/cider/pull/2314 for the rationale behind this change. Basically we plan to put several ns manipulation commands together in the same module.
| * Group a couple of related tipsBozhidar Batsov2018-06-26
| |
| * Add a few extra tipsBozhidar Batsov2018-06-26
| |
| * Clean up the requires in cider-interaction.elBozhidar Batsov2018-06-25
| |
| * 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.
| * 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 cider-compat.elBozhidar Batsov2018-06-18
| | | | | | | | It's no longer needed now that we target Emacs 25.
| * 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
| * Update the manual links to use our new domain cider.mxBozhidar Batsov2018-06-17
| |
* | Merge tag 'v0.17.0+dfsg'Sean Whitton2018-05-12
|\| | | | | | | DFSG-clean upstream version 0.17.0
| * Make a tip more applicableTianxiang Xiong2018-03-24
| |
| * Add one more inspirational "quote" :-)Bozhidar Batsov2018-03-15
| |
| * Add an inspirational quoteBozhidar Batsov2018-03-15
| |
| * Add one more inspirational "quote"Bozhidar Batsov2018-02-20
| |
| * Add some new words of inspirationBozhidar Batsov2018-02-01
| |
| * Drop support for cljxBozhidar Batsov2018-01-21
| | | | | | | | | | Clojure 1.7 has been around for 3 years now and it's pretty safe to assume almost no one is still using cljx at this point.
| * Add missing :group propertyBozhidar Batsov2018-01-15
| |
| * Move cider-resolve-java-class to cider-util.elBozhidar Batsov2018-01-15
| | | | | | | | It's a generic function, so it should live at some more generic location.
| * Sort `require`s in `cider-util.el`Tianxiang Xiong2018-01-10
| |
| * Use `color-lighten-name` instead of custom color scaling functionTianxiang Xiong2018-01-10
| |
| * Update links to the manualBozhidar Batsov2018-01-08
| | | | | | | | See https://blog.readthedocs.com/securing-subdomains/ for details.
| * Bump the copyright yearsBozhidar Batsov2018-01-01
| |
* | Merge tag 'v0.16.0+dfsg'Sean Whitton2018-01-20
|\| | | | | | | DFSG-clean upstream version 0.16.0
| * Replace `if-let` and `when-let` with starred versionsTianxiang Xiong2017-12-11
| | | | | | | | | | | | | | | | | | | | Fix #2130. Emacs 26 obsoletes `if-let` and `when-let`, replacing them with `if-let*` and `when-let*`. This raises byte-compilation warnings (treated as errors) when testing against Emacs 26. See: http://git.savannah.gnu.org/cgit/emacs.git/tree/etc/NEWS?h=emacs-26#n1278
| * Add debug spec to cider-propertize-regionVitalie Spinu2017-10-01
| |
* | point cider-view-manual command at offline manualSean Whitton2017-12-26
|/
* New utility function `cider-add-face`Vitalie Spinu2017-09-05
|
* New utility function `cider-run-chained-hook`Vitalie Spinu2017-09-05
|
* Fix `checkdoc` errorsTianxiang Xiong2017-07-23
|
* Factor out back/forward button parts from `cider--doc-make-xrefs`Tianxiang Xiong2017-07-19
|
* Handle ANSI color REPL evaluation created by Puget (#2021)Paul Landes2017-07-15
| | | Basically we simply apply the ANSI color and discard it, so it would interfere with the `clojure-mode` font-locking we're doing.
* [Fix #1832] Add eldoc info for datomic query input parameterstijsmallaerts2017-03-22
|
* [Fix #1352] Add checkdoc to build (#1957)Erik Assum2017-03-10
| | | This also fixes some issues checkdoc was currently reporting.
* Kill an obsolete requireBozhidar Batsov2017-03-08
|
* Add cider-history command, based on browse-kill-ringJohn Valente2017-01-11
|
* Update the copyright years in the source codeBozhidar Batsov2017-01-04
|
* Drop some redundant string-related functionsBozhidar Batsov2016-11-25
| | | | | We can now use the versions of those functions that were added in Emacs 24.4.
* [Fix #1882] Restore compatibility with Emacs 24.4Bozhidar Batsov2016-11-25
| | | | | The functions in `cider-compat.el` were actually added in Emacs 25.1, not Emacs 24.4.
* Drop support for Emacs 24.3Bozhidar Batsov2016-11-19
|
* [Fix #1823] Properly set the column metadata on interactive evaluationBozhidar Batsov2016-10-08
| | | | | | | Basically the issue was coming from the fact that Clojure counts columns from 1 and Emacs from 0. Somewhat amusing Emacs counts lines from 1, not 0.
* Add one more inspirational quoteBozhidar Batsov2016-06-29
|