Changes to Calva.
- Change output/repl window extension to .calva-repl
- Re-fix: Interrupting evaluations produces extra output and no prompt
- Fix/enhance test runner
- Fix: "Go to definition" command fails
- Fix: Weird expand selection behavior near an anonymous function
- Fix: Backspace is not working properly in the output window
- Fix: Cannot read property 'includes' of undefined
- Fix: Interrupting evaluations produces extra output and no prompt
- Add REPL history to new output/REPL window
- Fix: Calva's ESC keybinding overrides VS Code's (useful) default
- Fix: Format-on-paste should not operate inside string literals
- Fix: Accessing recent results (*1, *2, *3) does not work
- Add vscode command for to eval code given as args
- Move custom REPL snippets to new output/repl window
- Fix: Continuously evaluating in infinite loop
- Handling ansi code by stripping it
- Fix: Output window sometimes getting out of synch, needing overwrite
- Fix: The Calva says panel + output window opening at startup gets a bit too much
- Fix: Repl connection fails if afterCLJJackInCode errors
- Fix Jack-in error when choosing Clojure CLI + shadow-cljs project type
- Fix Cannot use default connect sequences when custom connect sequences added
- Add analytics to debugger
- Fix Stream output messages to Calva Says as they're received
- Fix highlighting of var quote before open token
- Fix Format Document sometimes causes Calva to stop working
- Fix repl hanging after disconnecting debugger while repl window focused
- Fix clj-kondo exceptions thrown by debugger decorations code
- Move warning for clj-kondo not found on classpath to Calva says output channel instead of window warning
- Fix: The New Indent engine doesn't follow block rules in ns :require #633
- Make the new indent engine the default
- Remove dependency on
paredit.js
fromcalva-lib
- Fix colors in suggestion popup (REPL window)
- Add "Instrument Top Level Form for Debugging" command and decorations for instrumented functions
- Remove duplicate paredit.selectOpenList command in package.json
- Separate setting for highlighting current indent guide
- Fix: Problems with v2.0.94 rendering performance
- Changed all documentation links from https://calva.readthedocs.io/ to https://calva.io/
- Add step over, step into, and step out debugger features
- Add annotations for debugging to show debug values as the cursor moves to each breakpoint
- Fix debugger disconnect to show quit value instead of cider-nrepl exception
- Use visible editor if one exists with code being debugged, instead of opening a new one
- nREPL
eval
should always send along thens
parameter
- Fix: Two CLJ REPL Windows open on connect when
afterCLJReplJackInCode
is used - Add info to docs about how to get around
command not found
Jack-in problems
- Fix: Make lein-shadow project type use lein injections
- When format config fails to parse, fall back on defaults rather than crash
- Fix: Var quoted symbols are treated as reader tags
- Fix bug with bad formatting defaults when no config file
- Fix so that Paredit treats symbols containing the quote character correctly.
- Fix: Parameter hints popup should be off by default
- Fix:
nil
followed by comma not highlighted correctly - Fix: The syntax highlightning fails with symbols named truesomething/falsesomething
- Fix so that Paredit does not consider
^
to be part of a symbol name.
- Use scope
variable.other.constant
for keywords, making them highlight nicely - Highlight/parsing/etc: Data reader tags are part of the tagged form
- Improve structural navigation through unbalanced brackets
- Fix lexer going into some weird state after lexing certain patterns
- Make rainbow parens and highlight use the same lexer as Paredit
- Fix: Some character literals throws paredit out of whack
- Fix: Initial expand selection sometimes fails
- Change line comment characters to ;;
- Use editor namespace for custom REPL commands w/o
ns
specified - Add support for comment continuation
- Support cljs-suitable JavaScript completion
- Fix Printing to Calva REPL prints <repl#7> before each print out
- Fix Windows documentation for Evaluate current form
- Fix repl-window history issue
- Fix documentation for Calva jack-in with REBL and Leiningen
- Deselect text after surrounding with parens/braces/etc
- Fix: Strict mode backspace/delete not deleting unbalanced brackets
- Fix: (read-line) is being called twice from the REPL Window
- Fix: Font size if visibly bigger in the REPL window
- Use markdown to format doc strings in hover
- Add setting to enable doc strings in parameter hints
- Fix: Select Backward * commands won't grow selection in REPL window
- Fix: Paredit select forward/backward add to the selection stack even when they don't select anything
- Fix: Calva disables cursor movement in non-clojure files when switching from REPL window to, say, a
.json
file.
- Fix: Cursor moves forward after undoing wraparound commands in REPL window
- Fix: Wrong keybinding for Toggle Paredit Mode, now is
ctrl+alt+p ctrl+alt+m
, as it should be - Fix: Force Delete Forward not working in REPL window in strict mode
- Make all Paredit selection commands shrinkable
- Fix: Raise Sexp/Form needs updated doc and shortcut keys
- Improve performance of editing Paredit commands
- Add command Wrap Around ""
- Fix: Tokenization errors with quotes, derefs, etcetera
- Fix: Glitch in current form highlight in the REPL window when cursor is to the right of a form
- Now using the same Paredit implementation for the editor as for the REPL Window.
- A much more complete set of Paredit commands, and all documented, in beautiful GIF animations.
- List based Paredit commands work on strings as well. (Limited by that strings don't have sub lists/strings).
- Lots of fixes for Paredit commands.
- Fix: Paredit not activated until focused moved from and back to the editor again
- Improving: paredit
paredit-kill
- Fix: paredit
backspace
in strict mode - Fix: REPL window use it own set of paredit hotkeys and these are not configurable
- Add default keyboard shortcut maps for the REPL prompt: multi-line or single-line.
- Improvements for Commands using the Current form and Current top level form:
- Fix: Form selection fails on things like '(1)
- Less precision needed for the right form to be selected.
- All commands for this use the same implementation (so, you can use e.g. Select Current Form to know what Evaluate Current Form will evaluate).
- Fix: "Load current Namespace in REPL Window" command not working
- Theme compatible status bar indicators for pprint and paredit
- Fix: paredit.deleteBackward sets cursor position wrong when deleting a line.
- Fix: Calva Highlight sometimes incorrectly recognizes form as a
comment
form - Fix: Expand selection fails at the start and end of the input of the REPL window
- Add test message to test runner
- Remove some paredit inconsistencies
- Fix: Lexing regex literal tokenization
- Re-enable default stylings for nREPL status bar items.
- Make
pprint
the default Pretty Printer.
- Enable information providers in jar files e.g. opened with the "Go to Definition" command
- Make Pretty Printing more Configurable
- Incorrect red highlights around brackets/paren in specific case
- "Require REPL Utilities" command is broken
- Fix hover definition for symbols derefed with
@
and quoted symbols - Improve signature help-while-typing hover, with active arg markup
- Provide argument list help as you type the function's arguments
- Support special forms in editor hover/completion
- Add setting for wether to open REPL Window on connect or not
- Re-open REPL windows where they were last closed
- Lexer performance considerably improved. Fixes this and this)
- REPL colours and logo a bit toned down
- Removed
useWSL
configuration option because the the use of Calva is fully supported through the Remote - WSL extension.
- Add commands for interrupting the current evaluation as well as all running evaluations
- Calva asks for user input when
stdin
needs it (e.g.read-line
) - Command for clearing the REPL history reworked and now also ”restarts” the REPL window.
- Commands are now added to REPL window history only if they are not identical to the previous command on the history stack.
- Fix floating promises in evaluation module
- REPL Window Evaluation errors now initially hide the stack trace. The user can show it with a click.
- Fix hang when user input is requested
- Upgrade to
cider-nrepl 0.22.4
- Add info box for VIM Extension users
- Fix undefined namespace when starting a shadow-cljs cljs REPL Window
- Make opening the REPL window on connect async
- Fix shadow-cljs menuSelections for Custom Connect Sequences
- Toggle the "Use WSL" setting requires extension restart to effect definition provider
- Go to Definition and Peek Definition not working on Windows 10 when using WSL
- Highlight extension settings are uninitialized if no closure editor active on activation
- Overly aggressive paredit in REPL window
- REPL window use it own set of paredit hotkeys and these are not configurable
- Completion in REPL window should work like in the editor
- Move user documentation from the wiki to: https://calva.readthedocs.io/
- Fix bugs in comment form selection
- Use of undeclared var in REPL window resets the namespace
- Remove warning that extensions use the
vscode-resource:
scheme directly
- Support Jack-in without file open for single-rooted workspace
- Show argument list of fn
- Make code more robust in case Jack-in task fails
- Fix dimming out of stacked ignored forms
- The extension should specify the default schemes for document selectors
- Connect warnings and errors as popups
- Don't remove default indents when Calva is not the auto-formatter
- Insourcing @tonsky's Clojure Warrior, now named Calva Highlight
- Update status bar when configuration changed
- Adding selected calva commands to the editors context menu
- Fix bug with painting all existing result decoration with the same status
- Fix bug with reporting errors using off-by-one line and column numbers
- Add pretty print mode
- Add command for evaluating top level form as comment
- Stop writing results from Evaluate to Comment to output pane
- Add command for connecting to a non-project REPL
- Add hover to inline result display, containing the full results
- Better inline evaluation error reports with file context
- Enhancement REPL window handling / nREPL menu button
- Print async output, and a setting for where it should go
- Fix REPL window prompt does not always reflect current ns
- Escape HTML in stdout and stderr in REPL window
- Add content security policy to webview and remove image load error
- Support connecting to Leiningen and CLI project using shadow-cljs watcher
- Fix Figwheel Main deps added to non-cljs projects
- Fix REPL Window namespace being reset to user
- Update nrepl-version to 0.22.1
- More accurate code completion lookups.
- Keep focus in editor when evaluating to the REPL Window.
- Support for starting leiningen and clj projects with aliases.
- Support Jack-in and Connect in multi-project workspaces.
- Fix bug with snippet field navigation not working.
- nREPL status bar indicator can now be styled
- Fix jack-in command quoting for
zsh
.
- Jack in quoting fixes, mainly for Windows with
clojure/clj
. - Fix formatting bug when forms not separated by whitespace.
- Add command for running test under cursor (at point in CIDER lingo).
- Add ParEdit
forwardUpSexp
.
- Improve custom CLJS REPL.
... huge gap in the Changelog. Sorry about that, but now we have decided to pick up maintaining this log again.
- Add support for shadow-cljs. Please contact me with any information on how this is working for you out there.
- Change all keyboard shortcuts to use prefix
ctrl+alt+v
, due to old prefix not working on some alternate keyboard layouts. See Issue #9.
- Add command for re-running previously failing tests (
ctrl+alt+v ctrl+t
).
- Add command for toggling automatic adjustment of indentation for new lines (
ctrl+alt+v tab
)
- Auto adjust indent more close to this Clojure Style Guide: https://github.com/bbatsov/clojure-style-guide
- Select current (auto-detected) form
- Terminal REPLs
- Integrates REPL sessions from the Terminal tab and lets you do stuff like load current namespace ad evaluate code from the editor in the REPL.
- Connection and reconnection stabilization
- Connecting the editor REPLs was a bit unstable. Now more stable (but there are still some quirks).
- Auto detection of forms to evaluate now considers reader macro characters prepending the forms. E.g. before if you tried to evaluate say
#{:a :b :c}
with the cursor placed directly adjacent to the starting or ending curly braces only{:a :b :c}
would be auto detected and evaluated. - Highlighting of auto detected forms being evaluated.
- Rendering evaluation errors in the editor the same way as successful (but in red to quickly indicate that the evaluation errored).
- Evaluates vectors and maps with the same ”smart” selection as for lists.
- Add inline annotations for interactive code evaluation results.
- Add toggle for switching which repl connection is used for
cljc
files,clj
orcljs
.
clj
repl connected to all file types, meaning you can evaluate clojure code in, say, Markdown files.
- User setting to evaluate namespace on save/open file (defaults to on)
- Release of v1, based on visual:clojure v2.0, adding:
- Running tests through the REPL connection, and mark them in the Problems tab
- Run namespace tests:
ctrl+alt+v t
- Run all tests:
ctrl+alt+v a
- Run namespace tests:
- Evaluate code and replace it in the editor, inline:
ctrl+alt+v e
- Error message when evaluation fails
- Pretty printing evaluation results:
ctrl+alt+v p
- Support for
cljc
files (this was supposed to be supported by the original extension, but bug)
- Running tests through the REPL connection, and mark them in the Problems tab