summaryrefslogtreecommitdiff
path: root/cider-apropos.el
Commit message (Collapse)AuthorAge
* [Fix #2347] Remove direct manipulations of cider-ancillary-buffersBozhidar Batsov2018-06-24
| | | | | CIDER's popups had a way to track those automatically for a while, it's time to leverage this consistently.
* 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
* Bump the copyright yearsBozhidar Batsov2018-01-01
|
* 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
* Use `add-to-list` instead of `push` for ancillary buffersTianxiang Xiong2017-07-19
|
* Use new format for forms-str and arglists-strTianxiang Xiong2017-06-18
| | | | | | | Depends on clojure-emacs/cider-nrepl#412. Using the new forms-str and arglists-str formats simplifies code for `cider-docview-render-info`.
* Support special forms for apropos and GrimoireTianxiang Xiong2017-06-17
| | | | | | | Add `apropos-special-form` button type Default to `clojure.core` ns for Grimoire; this is necessary for special forms, which do not have ns. Grimoire defaults to `clojure.core`.
* Update the copyright years in the source codeBozhidar Batsov2017-01-04
|
* [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
|
* Show default action in apropos act on symbol prompt (#1800)Tijs Mallaerts2016-07-10
|
* Add missing package-version propertyBozhidar Batsov2016-07-10
|
* [Fix #1646] Add option to control apropos actions (#1791)Tijs Mallaerts2016-07-10
|
* Move dictionary manipulation to its own file, nrepl-dict.elArtur Malabarba2016-04-30
| | | | | | A lot of .el files have to manipulate dictionaries, so this forced a lot of files to depend on nrepl-client.el. These were muddy waters if we plan on supporting SocketREPL.
* Use cider-apropos-select in cider-apropos-documentation-selectBozhidar Batsov2016-04-18
| | | | Copy-pasting is evil...
* [#1352] Documentation complies with checkdoc styleChaitanya Koparkar2016-04-06
|
* Update a few copyright headersBozhidar Batsov2016-03-27
|
* Make cider-apropos-select more flexibleBozhidar Batsov2016-03-26
| | | | | Now you can select which command to apply to the symbol you've selected.
* [#1541] Add versions of the apropos commands using completing readBozhidar Batsov2016-03-20
| | | | | Basically instead of seeing the results in a dedicated buffer, you'll now see them in the minibuffer.
* Make it possible to pass to the apropos commands a list ofBozhidar Batsov2016-03-19
| | | | | | | space-separated words This is pretty much how Emacs's apropos works. The list of words is converted to a regexp behind the scenes.
* Handle missing connection gracefully in apropos commandsBozhidar Batsov2016-03-19
|
* Make the ns query in cider-apropos a completing oneBozhidar Batsov2016-03-19
|
* Add missing end of file commentBozhidar Batsov2016-02-16
|
* [Fix #1565] Fix font-locking in apropos buffersBozhidar Batsov2016-02-15
|
* Align the apropos messages with the ones in Emacs itselfBozhidar Batsov2016-02-15
|
* Clarify all apropos inputsArtur Malabarba2016-02-14
|
* Clarify that the apropos is a regexpArtur Malabarba2016-02-14
| | | | See #1563.
* Update the copyright yearsBozhidar Batsov2016-01-01
|
* Remove many uses of `newline' for (insert "\n")Artur Malabarba2015-10-21
|
* [Fix #1348] Remove dash dependencyRoger Gilliar2015-10-19
|
* Further unentangle cider-interaction from the other filesArtur Malabarba2015-10-01
|
* Fix a few left-over byte-comp warningsArtur Malabarba2015-09-24
|
* Update copyright yearsBozhidar Batsov2015-03-01
|
* Move a few requires where they belongBozhidar Batsov2015-01-25
|
* Fix broken testsBozhidar Batsov2014-11-09
|
* Fix buffer nameBozhidar Batsov2014-11-09
|
* Fix a typoBozhidar Batsov2014-11-09
|
* Extract the apropos and grimoire functionality into separate source filesBozhidar Batsov2014-11-09