summaryrefslogtreecommitdiff
path: root/cider-connection.el
Commit message (Collapse)AuthorAge
* [Fix #2413] Prompt if a session with the same parameters already existsVitalie Spinu2018-08-30
|
* [Fix #2425] Implement "pending-cljs" REPL typeVitalie Spinu2018-08-30
| | | | | | - Uninitialized cljs REPLs now have "pending-cljs" type - TYPE argument of `cider-repls` can be now a list - `cider-map-repls` maps only over functional (non-pending) REPLs
* [Fix #2418] Don't overwrite explicitly supplied params in connect-sibling-xyzVitalie Spinu2018-08-30
|
* [Fix #2421] Use the right version comparison functionBozhidar Batsov2018-08-17
| | | | | Otherwise when you're on the minimum required version you'd get a warning.
* [Fix #2415] Filter out killed buffers in `cider-repls`Mikhail Gusarov2018-08-16
| | | | | If a REPL buffer is killed manually it will leak out of `cider-repls` for .cljc files, so make sure `cider-repls` only return live REPL buffers.
* Fix the message displayed when cider-nrepl is not present at allBozhidar Batsov2018-08-16
|
* Remove a default return valueBozhidar Batsov2018-08-16
|
* [Fix #2411] Don't show warnings when the middleware versionBozhidar Batsov2018-08-16
| | | | | | | requirements are met I forgot to flip the order of the arguments here when I changed the code to also include a missing version check.
* [Fix #2417] Fix a typoBozhidar Batsov2018-08-16
|
* Emit a different warning if cider-nrepl is not presentBozhidar Batsov2018-08-15
|
* Stop releasing CIDER and cider-nrepl togetherBozhidar Batsov2018-08-06
| | | | | cider-nrepl now has its own release cycle and CIDER introduces `cider-required-middleware-version` to track it.
* Rename `cider-describe-current-connection` -> `cider-describe-connection`Vitalie Spinu2018-08-05
| | | | .. because it accepts an explicit REPL argument now.
* Add support for sesman-browserVitalie Spinu2018-08-05
| | | | | | - allow cider connection management commands to be used in sesman browsers - implement new format of sesman-session-info generic - add cider-sesman-browser-map
* Preserve REPL names during the restartVitalie Spinu2018-08-05
| | | | | Otherwise on each restart the deduplication postfix <2> is toggled back and forth.
* Fix restart of server-less sessionsVitalie Spinu2018-08-05
|
* Store and re-use session-name in REPL buffersVitalie Spinu2018-08-05
| | | | | | Session names might not be unique, thing which we don't know outside of `cider-make-session-name`, thus generation from scratch of session names when naming buffers doesn't work.
* Set correct default-directory in repl-buffersVitalie Spinu2018-07-31
|
* Improve session and REPL buffer namingVitalie Spinu2018-07-31
| | | | | | - better abbreviation of directory names - re-create context buffer on every connect instead of `kill-all-local-variables` which could fail
* Make `nrepl-xyz-buffer-name`s use new formatting systemVitalie Spinu2018-07-29
| | | | - obsolete nrepl-buffer-name-separator, nrepl-buffer-name-show-port
* Implement a flexible way to customize session namesVitalie Spinu2018-07-29
| | | | | - new `cider-session-name-template` - new `cider-format-connection-params`
* Implement sesman-project methodVitalie Spinu2018-07-27
|
* Initialize `sesman-system` earlier in `cider-repl-create`Vitalie Spinu2018-07-27
|
* Fix a broken call to cider-popup-bufferBozhidar Batsov2018-07-17
|
* Fix a typoBozhidar Batsov2018-07-17
|
* Implement uniform jack-in and connect parameter handlingVitalie Spinu2018-07-14
| | | | | | | - all connect and jack-in commands accept PARAMS argument - interactive PARAMS updating happens through the pipeline of specialized functions
* Fallback on `cider` in sesman-start (C-c C-s C-s)Vitalie Spinu2018-07-13
|
* Ensure existence of a REPL in `cider-map-repls`Vitalie Spinu2018-07-01
|
* Fix a few typos and grammarVitalie Spinu2018-07-01
|
* [Fix #2342] Alias and obsolete variables after #2324Vitalie Spinu2018-06-30
|
* Add `ensure` argument to `cider-current-repl` and `cider-repls`Vitalie Spinu2018-06-30
|
* Fix build warningsVitalie Spinu2018-06-30
| | | | Closes #2350
* [#2342] Add a cider-current-connection alias for cider-current-replBozhidar Batsov2018-06-28
| | | | | | | REPLs double as connections in CIDER, so it's useful to be able to refer to them as connections in certain contexts. This also provides backwards compatibility with older CIDER releases.
* [#2342] Add an obsolete alias for cider-current-repl-bufferBozhidar Batsov2018-06-28
| | | | This also fixes https://github.com/clojure-emacs/clj-refactor.el/issues/423.
* [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.
* [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.
* Fix one problem compilation problemBozhidar Batsov2018-06-24
| | | | I'm going slightly mad...
* Try to fix again the compilation issues in cider-connection.elBozhidar Batsov2018-06-24
|
* Fix more compilation problemsBozhidar Batsov2018-06-24
|
* Fix a few more compilation warningsBozhidar Batsov2018-06-24
|
* Avoid a compilation issueBozhidar Batsov2018-06-24
|
* Move cider-nrepl-session-buffer where it belongsBozhidar Batsov2018-06-24
|
* Fix the buildBozhidar Batsov2018-06-24
|
* [#2203] Move the cider-auto-mode stuff to cider-connection.elBozhidar Batsov2018-06-24
| | | | That's the only place this functionality is used.
* Make cider-set-repl-type interactiveBozhidar Batsov2018-06-21
| | | | Useful for people who opted to disable auto-detection of the REPL type.
* Check in `cider-connected-p` that the process is aliveVitalie Spinu2018-06-18
|
* Rename -cljcljs -> -clj&cljs postfixVitalie Spinu2018-06-18
| | | | This naming convention should scale much better in the future.
* Fix cider-restart for single-repl sessionsVitalie Spinu2018-06-18
|
* On session-restart don't unregister linksVitalie Spinu2018-06-18
|
* 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