summaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAge
* Use more specific requires in the testsBozhidar Batsov2018-06-25
| | | | | No need to load the entire CIDER to test only functions from a specific file.
* Use a more specific require in a testBozhidar Batsov2018-06-25
| | | | No need to load the entire CIDER to test just a single function.
* [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 a broken testBozhidar Batsov2018-06-24
|
* Fix broken buildBozhidar Batsov2018-06-23
|
* 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
|
* Use line-move instead of previous-line for emacs24.5 testsVitalie Spinu2018-05-13
|
* Add tests for locref detectionVitalie Spinu2018-05-13
|
* Allow predicates in plugin and middleware listsRadon Rosborough2018-03-27
| | | | See https://github.com/clojure-emacs/clj-refactor.el/pull/392#issuecomment-352399191
* [Fix #2199] Implement elisp-lint.el in CINeil Okamoto2018-03-05
|
* Remove last remnants of cljx code causing CI breakageNeil Okamoto2018-01-31
|
* Avoid a potential error if the REPL config defcustoms are all nilBozhidar Batsov2018-01-21
| | | | | | Previously in such cases we'd get a `do` expression without a body, which isn't be nice. Now we generate the config expression only after checking it needs to generated to begin with.
* [Fix #2161] Add new interactive command `cider-eval-defun-to-point`Bozhidar Batsov2018-01-14
| | | | | | | It evaluates the current top-level form up to the point. You can think of this as a poor man's contextual evaluation. The command is bound by default to `C-c C-v (C-)z` in `cider-mode`.
* [Fix #2148] Fix jump to definition for remote cider-jack-in or cider-connect ↵HyungSuk Ryu2018-01-12
| | | | | | | | | | | | (#2156) The `cider-tramp-prefix` does not return only tramp prefix. It used the `tramp-make-tramp-file` in the `with-parsed-tramp-file-name` which force it to make a full tramp file path, not only prefix. I placed the `cider-make-tramp-prefix` for making prefix only. It is modified a little bit from `tramp-make-tramp-file`. The `cider--client-tramp-filename` does not remove `file: scheme` for tramp filename. It should return the string with tramp prefix and remote source path. But previous version leaves `file: scheme` in a remote source path. I just added a line to remove this scheme in this function. The `cider-find-file` leaves a useless list buffer per opening remote archived source like zip, jar. When continuously tracking, it'll will generate a lot of trash and make us tired to remove it. Now it'll be removed automatically.
* Update links to the manualBozhidar Batsov2018-01-08
| | | | See https://blog.readthedocs.com/securing-subdomains/ for details.
* [Fix #1913] Allow toggling of current buffer connection (#2149)dpsutton2018-01-03
| | | | | | | | | | | | | Cljc buffers send their evals to both clj and cljs repls if available due to `cider-map-connections`. Toggling a current buffer's connection involves hiding the other connection. Previously, when toggling _again_, the original list was not consulted and only the truncated list, preventing the other connection from being found. This allows for the full list to be searched for the other buffer. In addition, a prefix dictates that the local connection list is discarded in favor of the full list, restoring the evaluation in both clj and cljs buffers (if both are present).
* Bump the copyright yearsBozhidar Batsov2018-01-01
|
* Replace a few occurrences of when + not with unlessBozhidar Batsov2017-12-24
|
* Dynamically build structs in `nrepl-bencode-tests`Tianxiang Xiong2017-12-18
| | | | | | | | Fixes #2133 In Emacs 26, the print representations of structs changed from `[cl-struct ...]` to `#s(...)`. This broke tests that compare structs against print representations. Building structs dynamically resolves this.
* Avoid spurious unused lexical arg warning from Emacs <25.1Tianxiang Xiong2017-12-18
| | | | See: https://emacs.stackexchange.com/a/10058/10269
* 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
* Fix testsVitalie Spinu2017-09-05
|
* New utility function `cider-add-face`Vitalie Spinu2017-09-05
|
* New utility function `cider-run-chained-hook`Vitalie Spinu2017-09-05
|
* Move cider-checks.el and cider-bytecomp-warnings.el to ./scripts/ subdirVitalie Spinu2017-08-05
|
* Don't checkdoc in autoloadsVitalie Spinu2017-08-05
|
* Move relevant tests from cider-client-tests to cider-interaction-testsVitalie Spinu2017-07-31
|
* Fix broken evaluation in cljc files with one connectionVitalie Spinu2017-07-25
|
* [Fix #2058] Don't cache non-existing ns-formsVitalie Spinu2017-07-25
|
* Check that `checkdoc-file` is defined before running checksTianxiang Xiong2017-07-23
|
* Fail on `checkdoc` warningsTianxiang Xiong2017-07-23
|
* Make `cider-current-connection` retrieve the most recently used connectionVitalie Spinu2017-07-16
|
* [Fix #2040] Fix fontification of conditional expressions in cljc filesVitalie Spinu2017-07-16
|
* Better connection types retrivalVitalie Spinu2017-07-16
| | | | | - new function `cider-project-connections-types` - `cider-connection-type-for-buffer` returns "multi" in cljc an cljx
* 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.
* Introduce positive filters for stackframesDan Sutton2017-07-15
| | | | | | | when filtering stackframes, there was only a "remove" type of filter. If we wish to filter to just our project, we need a way to ensure that project frames persist even if another tag says to remove it. This adds the "positive" filter mechanics.
* Show only or hide when on stackframe linesDan Sutton2017-07-15
| | | | | | | | | | In order to add "positive" filters, we must only show or hide when we're actually on a stackframe line. This method takes a very naive way of starting at the top of the buffer and considering whether to hide all lines. The other lines just don't have any 'flags properties so they never come up as needing to be hidden in the `(seq-intersection filters flags)` part, so hide is always false on them. But if we want to show _only_ those lines with a particular flag this hides the cause line and any other lines that don't have flags at all.
* [Fix #1832] Add eldoc info for datomic query input parameterstijsmallaerts2017-03-22
|
* Fix expectations in cider-font-lock-testsDan Sutton2017-03-18
| | | | | | | | | | | | | | | | | These tests pass in their current form, but they do not pass on a build of emacs from source tracking master. The tests use cl-every and cl-some and the tests assert that the results are either `:equal-to t` or `:not :equal-to t`. Right now, cl-some returns t but on my build of emacs from master it returns the truth value that it finds, causing buttercup to fail in its comparison with: FAILED: Expected cider-reader-conditional-face to be `eq' to t So rather than checking against some value for truth, we use the buttercup assertion :to-be-truthy. Further, we remove the reliance on the cl library and switch over to seq.el. Also some line length formatting and rename test predicate helpers.
* Add a commentBozhidar Batsov2017-03-11
|
* [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
|
* [Fix #1731] Change code for boot's cider.tasks/add-middleware taskAndrea Richiardi2017-01-23
|
* Introduce cider-*-global-optionsAndrea Richiardi2017-01-23
| | | | | This will allow users to customize options that are not related to tasks and passed directly to their build tool of choice. For instance: `-o` in `lein -o ....` for offline mode.
* Add font-locking for reader conditionals (#1912)Alvin Francis Dumalus2017-01-12
|
* Update the copyright years in the source codeBozhidar Batsov2017-01-04
|