Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Revert "Remove cider-compat.el" | Bozhidar Batsov | 2018-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.el | Bozhidar Batsov | 2018-06-18 |
| | | | | It's no longer needed now that we target Emacs 25. | ||
* | New connection API and jack-in rewrite (#2324) | Vitalie Spinu | 2018-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 years | Bozhidar Batsov | 2018-01-01 |
| | |||
* | Ignore unused parameter `cmd` in `cider--debug-mode` | Tianxiang Xiong | 2017-12-18 |
| | | | | See: https://travis-ci.org/clojure-emacs/cider/jobs/317868987#L1051 | ||
* | Replace `if-let` and `when-let` with starred versions | Tianxiang Xiong | 2017-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 | ||
* | Fix `checkdoc` errors | Tianxiang Xiong | 2017-07-23 |
| | |||
* | [Fix #1352] Add checkdoc to build (#1957) | Erik Assum | 2017-03-10 |
| | | | This also fixes some issues checkdoc was currently reporting. | ||
* | Don't use `list` where backquoting would be clearer | Tianxiang Xiong | 2017-03-01 |
| | |||
* | Update the copyright years in the source code | Bozhidar Batsov | 2017-01-04 |
| | |||
* | Drop some redundant string-related functions | Bozhidar Batsov | 2016-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.4 | Bozhidar Batsov | 2016-11-25 |
| | | | | | The functions in `cider-compat.el` were actually added in Emacs 25.1, not Emacs 24.4. | ||
* | Drop support for Emacs 24.3 | Bozhidar Batsov | 2016-11-19 |
| | |||
* | Update all inspector operations to use nREPL sync requests (#1821) | Chaitanya Koparkar | 2016-08-17 |
| | |||
* | Move dictionary manipulation to its own file, nrepl-dict.el | Artur Malabarba | 2016-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. | ||
* | Always fetch ns-vars-with-meta from nREPL middleware (#1715) | Chaitanya Koparkar | 2016-04-25 |
| | |||
* | [Fix #1561] Correct font-lock vars for namespaces not loaded in the REPL (#1710) | Chaitanya Koparkar | 2016-04-23 |
| | | | | The current ns-browser relies on the `cider-repl-ns-cache` to decide font-locks. This gives us incorrect font-locks for namespaces which are present on the classpath, but not loaded in the REPL. We change this to get the data from the nREPL middleware op `ns-vars-with-meta`,in case of a cache miss; clojure-emacs/cider-nrepl#346. | ||
* | [#1561] Font-lock vars, macros, and functions in the ns-browser (#1695) | Chaitanya Koparkar | 2016-04-21 |
| | | | Use each var's info from a running repl to decide a font-face. | ||
* | Fix enlighten-mode accidentally moving point | Artur Malabarba | 2016-04-16 |
| | |||
* | Quitting debug prompt won't quit the debugger | Artur Malabarba | 2016-04-16 |
| | | | | | This is a temporary workaround. The proper fix will be to not have a separate message asking for an expression. | ||
* | Don't keywordize debug input | Artur Malabarba | 2016-04-16 |
| | |||
* | Fix force-step operations in the debugger (#1679) | Chris Perkins | 2016-04-14 |
| | | | | | | | | | | Two operations, `:here` and `:out` currently support a `force?` parameter, which causes the debugger to skip breakpoints in other instrumented functions until reaching the specified point. They are bound to uppercase letters, `H` and `O` respectively. Neither was working previously, because the `force?` parameter was not being sent (in the case of `:here`), or was being sent incorrectly (in the case of `:out`). | ||
* | Also fix move-here for temp buffers | Artur Malabarba | 2016-04-14 |
| | |||
* | Fix an off-by-one error in cider-debug-move-here | Artur Malabarba | 2016-04-14 |
| | |||
* | Add -face to the names of a few faces we've defined | Bozhidar Batsov | 2016-04-14 |
| | | | | Naming consistency is a good thing. | ||
* | Debugger: step-in (#1660) | Chris Perkins | 2016-04-13 |
| | | | | | | | | | | | | | | | This is the front-end part of step-in for the debugger. See: https://github.com/clojure-emacs/cider-nrepl/pull/335 There are two changes here: - Attempt to find the source file when debugging, rather than popping up a debug buffer. This is because with step-in, we can no longer assume that functions being debugged have been opened and manually instrumented by the user - Expect the list of debugger commands, which is sent as `input-type`, to be an nrepl-dict mapping keys to commands, rather than a list of commands. | ||
* | Change cider-type overlay property to category | Artur Malabarba | 2016-04-12 |
| | |||
* | [#1352] Documentation complies with checkdoc style | Chaitanya Koparkar | 2016-04-06 |
| | |||
* | [Fix #1630] Teach the debugger about @derefs | Artur Malabarba | 2016-03-28 |
| | |||
* | Extend copyright in cider-debug and cider-overlays | Artur Malabarba | 2016-03-23 |
| | | | | They were originally generated by `auto-insert` | ||
* | Uppercase letters for debug input send a "force" argument | Artur Malabarba | 2016-03-20 |
| | | | | https://github.com/clojure-emacs/cider-nrepl/pull/312 | ||
* | Refactor hiding of inspect key so it is done only once | Artur Malabarba | 2016-03-20 |
| | |||
* | Prevent the debug prompt from inheriting faces | Artur Malabarba | 2016-03-06 |
| | |||
* | [Try to address #1589] Increase debugger's timeout on accept-process-output | Artur Malabarba | 2016-02-29 |
| | |||
* | [Fix #1585] Show the eval command in the debugger's prompt | Bozhidar Batsov | 2016-02-26 |
| | |||
* | Refine the name of the debugger's menu | Bozhidar Batsov | 2016-02-26 |
| | |||
* | Fix a docstring | Bozhidar Batsov | 2016-02-23 |
| | |||
* | Position point correctly when debugging forms with metadata | Chris Perkins | 2016-02-15 |
| | | | | | | `cider--debug-move-point` would position the point incorrectly when debugging a form with a metadata map attached via the reader, because the call to `down-list` would descend into the metadata map. | ||
* | Move a couple of faces to the file that uses them | Artur Malabarba | 2016-02-13 |
| | |||
* | Make the box colors a little more discreet | Artur Malabarba | 2016-02-13 |
| | |||
* | Fix flickering in the debugger | Artur Malabarba | 2016-02-13 |
| | |||
* | Consolidate some defun-at-point functions | Artur Malabarba | 2016-02-07 |
| | |||
* | New feature: Enlighten | Artur Malabarba | 2016-02-05 |
| | | | | | | | Handle :enlighten messages through the debug channel. Define cider-enlighten-mode. Font-lock enlightened defns. Document Enlighten. | ||
* | Sanitize our method for injecting #dbg | Artur Malabarba | 2016-02-05 |
| | |||
* | Improve cider--debug-goto-source-or-create-source-buffer | Artur Malabarba | 2016-02-04 |
| | |||
* | Refactor cider--handle-debug into two functions | Artur Malabarba | 2016-01-30 |
| | |||
* | Implement the :here command in debug sessions | Artur Malabarba | 2016-01-15 |
| | |||
* | Fix docstring for cider--debug-move-point | Artur Malabarba | 2016-01-15 |
| | |||
* | Support a :stack status in cider--debug-response-handler | Artur Malabarba | 2016-01-15 |
| | |||
* | Update the copyright years | Bozhidar Batsov | 2016-01-01 |
| |