At some point there was an upstream change to the message format that
cider-nrepl returned. This resulted in in a crash when trying to eval
an expression that threw an exception, resulting in the exception
being obscured by a Vim error, and no stacktrace being produced.
This patch inspects the returned payload and optionally extracts
any embedded stacktrace before processing.
- Explicitly specify Rhino REPL when :Piggieback has no parameters
- Use Weasel REPL when port parameter is provided to :Piggieback
- Improve leading space handling for :Piggieback params
- Fall back to cljs.repl.browser if Weasel in not in classpath
- Use has_key() when checking for Weasel repl availability
Use `test-vars` instead of `test-var` so the test runs with the fixtures
applied. That's the expected behavior when running a test. It's also
what's being done when multiple tests are matched.
* Support cider completion, including context aware completion.
* Updates for latest cider-nrepl and piggieback.
* Use :.RunTests or 1cpr to run test under cursor.
* Add CTRL-R CTRL-F and CTRL-R CTRL-P command line maps.
* Add support for boot's fake class path.
* Fix handling of CTRL-C interrupt while evaling.
* Numerous minor bug fixes.
If complete operation is given context property containing the
current toplevel form Compliment library can give better completion
results in some contexts:
- Local vars for let and defn
- Resources in classpath for io/resource calls
- Vars in specific ns for :require :refer
- Better Java class name completion for :import
The context string should contain symbol __prefix__ in place of the word
being completed. To achieve this location of cursor inside the toplevel
form is calculated so that the placeholder symbol can be placed in the
proper place.
In cider-nrepl 0.9.0 there is new extra-metadata option for complete op
[1]. It can be used to enrich the candiate results with additional
properties like arglists and docstring.
This commit adds extra-metadata option to complete call and changes the
candidate function to set fields in omnicomplete result so that arglists
are shown on omnicomplete menu and docstring is shown in preview window.
[1]: https://github.com/clojure-emacs/cider-nrepl/pull/195/files
Response from complete operation now returns list of maps containing
e.g. namespace and type of the completion candidate.
This change adds a new type check to check if complete returned list of
maps and converts those maps to format required by omnicomplete.
In addition to candidate name its type is now shown. The type is
shortned to one character.
Boot's built-in repl task adds a fake.class.path System property which
refers back to the original user files (as opposed to the temporary
files it uses to actually do builds). We should prefer that to anything
else when the property is set.
Fixes#194.