Changes to Calva.
- Add extension when contexts for Calva states such as project root, session type, ns
- Fix: Calva internals: The
backwardSexp
function can't handle skipping ignored forms, even though it says it can - Fix: Keep support for evaluating top level form in ignored forms when at top level
- Enable separate styling for top level ignored forms
- Fix: Custom command snippets use the wrong ns when repl sessions types do not match
- Fix: ns inner blocks are kept on the same line by default when using the clean ns command
- Synchronize the file extensions for Calva and Calva Spritz
- Fix: Terminal output pretty printing fails when using
printerFn
pretty print option
- Bump deps.clj to v1.12.0.1479
- Bump deps.clj to v1.11.4.1474
- Prioritize Workspace configured connect sequences over User configured dittos
- Internal: Move drams-menu configuration to the Drams repository. Preparing for ways to contribute drams to Calva.
- Internal: Change how drams (projects that Calva can create) are bing defined. Preparing for ways to contribute drams to Calva.
- Make the user aware about errors during jack-in
- Report progress waiting for shadow-cljs runtimes without printing to output
- Stop offering to use existing temp files when creating a project
- Fix: Version 2.0.461 of Calva breaks deps.edn jack-in on some Windows machines
- Fix: Powershell sometimes used for jack-in on windows, and it doesn't work
- Remove remaining references to the Output Window
- Do not open auto open the jack-in terminal by default
- Don't show Calva says output channel by default
- Default to reveal the Calva inspector on repl connect
- Send load/evaluate current file results to the inspector
- Always include the project creation commands in the REPL menu
- Automatically reveal the configured result output destination on REPL connect
- Add Command for creating a minimal Clojure project
- Improve error message when tutorial files are unreachable
- Bump deps.clj to v1.11.3.1463
- jack-in support for the Basilisp Clojure compatible dialect impelmented in Python
- Make the inspector sort maps on the keys
- Fix: The inspector fails to crate an inspectable tree on large results
- Make list items in the inspector get a bit easier to read
- Fix: Deleting the last form in document throws an error
- Workaround: Default to
indentation
folding strategy to dodge clojure-lsp bug - Add opt-in setting to rainbow colorize the collection types in the inspector
- Fix: Extra empty lines printed between lines of stderr from out-of-band nrepl messages
- Add source info in tooltip of inspector items
- Refactor naming of inspector items (mostly internal, but also renames some command ids)
- Make exploring complex results convenient - inspiration: the CIDER Inspector
- Support command binding args to toggle multicursor per command or toggle copy per kill command. Closes #2485
- Fix regression: Version
2.0.437
introduces a jarring, and wrongful, reindent when typing closing brackets
- Retire experimental setting for strict prevent unmatched closing bracket. Close: Unexpected cursor movement when using 'Strict Prevent Unmatched Closing Brackets'
- Update default Jack-in nrepl dependencies, nrepl 1.1.1, cider-nrepl 0.47.1
- Fix: Throws error when debugging atoms
- Make the debugger present structural variables as traversable structures
- Fix: The Clojure lexer fails on readertags with underscores in them
- Fix: Regression caused by #2409 for notebooks with uninitialized namespaces
- Implement experimental support for multicursor rewrap commands. Enable
calva.paredit.multicursor
in your settings to try it out. Closes #2473 - Add a separator line between evaluation outputs to the Output terminal
- Implement experimental support for multicursor selectCurrentForm command. Enable
calva.paredit.multicursor
in your settings to try it out. Closes #2476
- Fix: Extraneous newlines printed to terminal for some output
- Add legacy opt-in for printing bare
stdout
to the REPL Window
- Fix: Using a shortcut to focus on Calva output terminal gives an error
- Fix: Re-create Repl Output Terminal after it has been closed.
- Add opt-in setting for migrating the REPL Window file to the new project subpath
- Honor existing ANSI escape sequences in messages for terminal output destination
- Fix: Printing non-list Clojure results with code fencing gets verbose
- Fix: Changing outputDestinations to output-channel breaks Load/Evaluate Current File and its Requires...
- Add Paredit Kill Left equivalent to Kill Right
- Fix: Certain
paredit.killRight
edges cases on Windows.
- Add command for revealing the Calva says output channel
- Fix: Results not shown inline when output-channel configured is configured as for results output
- Make the results hover aware of where the results output goes
- Bump deps.clj to
v1.11.2.1446
- Try to find namespace for notebook eval.
- Add selection to experimentally supported multicursor paredit commands. Enable
calva.paredit.multicursor
in your settings to try it out. Addressing #610
- Implement experimental support for multicursor paredit movement commands. Enable
calva.paredit.multicursor
in your settings to try it out. Addressing #610
- Internal textNotation testing system supports multiple selections, addressing #610
- Add new Calva development utility commands to create textNotations from open buffers, and vice versa
- Refactor some internal document and selection APIs in preparation for multiple selections, addressing #610
- Add default Clojure associations for file extensions
.lpy
- Document telemetry collection
- HTML->Hiccup: Add option to always keep classes as attributes if so desired
- Support clojure-lsp Project Tree feature
- Fix: Structure editor glitch - backspace is inhibited from removing
#
- Fix: "Eval on save" causes files to be opened incorrectly
- Fix: No symbols visible in Clojure source file inside JAR
- Make window stay open if code is executed from it
- Make REPL-button menu remember last item selected
- More Calva commands (especially related to connect and jack-in) are now awaitable
- Offer to connect when evaluating forms while disconnected
- Bump
follow-redirects
to 1.15.4 (audit report) - Bump deps.clj version: v1.11.1.1435
- Calva development: Fix: Fiddle-file-unit-tests fails on windows
- Calva development: Fix: Developer format job forces LF line endings
- Fix: Require REPL Utilities only works for
user
namespace - Fix: NullPointerException evaluating calva.autoEvaluateCode.onConnect.cljs when using Krell
- Bump deps.clj version: v1.11.1.1429
- Fix: Indenter treating symbols as regex
- Fix audit warnings, bump some deps, clean out some deps
- Update to cljfmt v0.12.0
- Fix: Selecting words forward and backwards when in line comments selects to next sexpression
- Fix: Some nREPL
eval
messages are sent withuntitled
asns
- Fix: The
repl.evaluateCode
API does not provide a way to supply thens
param - Introduce Calva API
.v1
- Provide access to the current namespace form info via Calva API
- Fix: Connecting to an external REPL does not work when local nrepl port exists
- Avoid formatting when breaking up line comments
- Fix: The Jack-in/Connect Project Type menu is not always fully populated on first use
- Bump bundled deps.clj to v1.11.1.1413
- Add timestamps to nREPL message log diagnostics
- Fix: Backspace (structural editing) occasionally hangs
- Fix: Command to run tests for namespace uses user and user-test namespaces when cursor is in ns form
- Fix: stdout from sub threads is not printed in the terminal
- Fix: The command
calva.showOutputWindow
is not awaitable
- Fix: Evaluating a non-list top level form from inside a form evaluates the wrong form when in a rich comment
- Fix: Difference between regular formatting and formatting with alignment
- Fix: Can't override default cljfmt config since 2.0.383
- Fix: Update the indenter to handle the cljfmt
0.11.x
breaking config update since version 2.0.383 - Bump bundled deps.clj to v1.11.1.1403
- Fix: There are som nREPL messages missing from the diagnostics log
- Make it easier to find information about how to use shadow-cljs
- Make Lingy files (
.ly
) Clojure associated by default - Fix Add link to default cljfmt config files
- Fix: shadow-cljs jack-in with cljAliases fails on Windows
- Fix: deps.edn + shadow-cljs jack-in fails, when connect sequence builds are not keywords
- Re-indent non-complete code, when pasting or formatting selection
- Fix: Selection, closing brackets, fails in mysterious ways
- Improve Jack-in Ux around deps.edn aliases with :main-opts
- Merge user and workspace Custom Connect Sequences
- Fix: Trailing whitespace not being stripped
- Bump bundled deps.clj to v1.11.1.1347
- Fix: Jack-in error when selecting multiple shadow-cljs builds
- Breaking configuration change: Change from dashes to underscores for
customJackInCommandLine
env variables
- Bump bundled deps.clj to v1.11.1.1273-4
- Fix regression: Cannot start a shadow-cljs REPL with non-keyword build id:s since version 2.0.355
- Fix regression: 2.0.359 broke custom REPL connect sequences
- Support custom connect sequences that are not based on built in types
- Fix: autoSelectForJackIn makes the jack-in fail on Windows
- Remove configuration and handling of
calva.autoSelectReplConnectProjectType
(replaced by connect sequence settings)
- Fix: REPL connect fails if requiring clojure.main/repl-requires fails
- Calva development: Only log app start with plausible.io
- Fix: ”Resolve macro as” menu buttons are unreadable
- Calva development: Add Plausible analytics, intended to replace Google Analytics
- Add custom Jack-in command lines to connect sequences
- Add docs about main-opts and make the warning link there
- Auto-refer
repl-requires
as part of connecting (or always) - Bump bundled deps.clj to v1.11.1.1273
- Bump bundled deps.clj to v1.11.1.1267
- Rewrap to and from sets (
#{}
)
- Add command for copying text as Hiccup
- Fix: HTML to Hiccup conversion trips a bit on classes separated by more than one space
- Fix: HTML to Hiccup conversion keeps surrounding whitespace for text content
- Workaround: LiveShare participants incorrectly opening every Clojure file as if via "Open with Notebook"
- Fix: Stopping Jacked-in REPL process doesn't kill Unix Java process
- Fix: Formatting inside top level forms broken
- Bump bundled deps.clj to v1.11.1.1257
- Provide option for "Restart the REPL" in REPL status bar menu
- Provide option for "Interrupt Running Evaluations" in REPL status bar menu
- Make "Interrupting Running Evaluations” more visible, and documented
- Add a command for stopping the the Jack-in REPL (a.k.a. Jack-out) (duplicate of #1286)
- Improve the output in the jack-in terminal when the jack-in process is killed
- Fix: Tab to reindent should pull the start of a top level expression to the left margin
- Fix: Backspace behaves weirdly when removing indent from top level form
- Remove configuration for hiding the REPL UI
- Move auto-selecting project type config to Connect Sequences
- Add option for auto-selection project root
- Select connect host:port automatically from port file, without prompting
- Make REPL
connect
command accept host and port - Add configuration for automatically connecting to a running REPL
- Fix: Calva does not gracefully handle when clojure-lsp cannot be downloaded
- Bump bundled deps.clj to v1.11.1.1252
- Reintroducing features in v2.0.333, except the fallback clojure-lsp server, see #2090 for details
- Fix: Monorepo setup working on v2.0.333, broken on v2.0.334
- Fix: Calva v2.0.333 has startup and repl issues on Windows
- Rollback of 2.0.333, first part of: Calva v2.0.333 is not working for me in VSCode Insiders on Windows 11
- Fix: Multiple LSP processes automatically running, broken LSP features in multi-root workspaces
- Fix: Default clojure-lsp startup behaviour is changed since v2.0.327
- Fix: clojure-lsp does not start in a workspace without project files
- Partly fixes: Cursor moves back to start of indented line when typing inside parens on a new line
- Establish REPL connection without being prompted for the kind of project every time
- Bump bundled deps.clj to v1.11.1.1224
- Fix: Sometimes unable to load a file in repl while debugging an extension
- Bump npm deps jszip, http-cache-semantics
- Fix: Indenter and formatter do not agree on keyword in function position when regex indent rules are involved
- Fix: Missing required argument for "-M ALIASES"
- Fix: Clojure-lsp does not automatically start when using VSCode on Windows in Calva version 2.0.329
- Calva development: Make e2e test runner re-usable
- Sort aliases for deps.edn projects
- Sort pre-selected project at the top in REPL connect menu
- Fix: Indenter and formatter not in agreement about some forms
- Fix: Regressions introduced with clojure-lsp multi-project support in 2.0.327
- Fix: Can't use add require feature after updating to 2.0.327 version
- Fix: Formatting issues on backspace
- Calva development: Test the built VSIX extension in CI
- Calva development, Fix: We build Calva twice in CI
- Rollback of 2.0.327, first part of: Regressions introduced with clojure-lsp multi-project support in 2.0.327
- LSP support for multi-project and multi-workspace
- Fix: Clojure-lsp caching in multi-project workspace
- Fix: With multi-root workspaces the clojure-lsp project root is always the first folder
- Fix: Getting Started REPLs download config from dram dev branch
- Fix:
afterCLJReplJackInCode
fails if no editor is open - Fix: shadow-cljs jack-in silently fails when no builds are selected
- Fix: Evaluating blocking snippets deadlocks the editor
- Fix (formatter): Indenter and formatter fails while typing out body of deftype method
- Fix: Inconsistent formatting of defprotocol with docstring on separate line from method declaration
- Fix: Provider completions not handling errors gracefully
- Partly fix (indenter): Indenter and formatter fails while typing out body of deftype method
- Fix: Clojure notebooks don't seem to work on MS-Windows
- Fix: Calva development: npm run prettier-format fails on MS-Windows
- Bump bundled deps.clj to v1.11.1.1208
- Fix: Supplying a custom printFn to the pretty printer does not work
- Fix: CI: Webpack build throws with an error: [webpack-cli] Error: error:0308010C:digital envelope routines::unsupported
- Fix: Running a single test runs all tests
- Update Calva docs to no longer mention removed clojure-lsp setting
- Stop the nrepl client from spamming the server with ops it doesn't support
- Bump bundled deps.clj to v1.11.1.1200
- Fix: The indenter fails matching cljfmt rules on qualified symbols
- Add info about cider-nrepl docs to calva.io/connect
- Inform about Calva version on startup
- Fix: Calva docs site theme color not used
- Fix: Calva doesn't show action buttons in error message boxes
- Fix: The snippets file is not included in the Calva extension VSIX
- Bundle deps.clj.jar v1.11.1.1189
- Honor pretty-print settings for load-file
- Add editor snippet for Rich Comments marked with trailing
:rcf
- Add custom REPL command snippet
$current-pair
variable - Add custom REPL command snippet
$file-text
variable
- Inform if Calva nREPL dependencies are not fulfilled
- Fix: Calva does not fall back on lsp definitions when nrepl definitions fail
- Fix: Warnings printed with an added
;
on a line of its own - Fix: Extra newlines are printed in output from function called from test
- Squash spaces when Paredit Kill/Delete Right
- Fix: Newline lacking before results when evaluating at the REPL prompt
- Fix: Unwanted newlines are added to REPL output of Kaocha test run
- Fix: Unexpected newline character in the output
- Fix: Drag sexps in value part of doseq sometimes jumps 2 sexps instead of 1
- Fix: Can't do formatting code from Calva: Fire up the Getting Started REPL on hello_repl.clj
- Fix: Calva: Open REPL snippets User config.edn couldn't create the file if parent folders doesn't exist
- Calva development: Use requirements.txt in CI for publishing docs
- Bump deps.clj to v1.11.1.1182
- Calva development: Refactor
extension.ts
for less boilerplate and improved readability - Calva development, Fix: Docs publishing in CI is failing
- Calva development, Fix: Grammar tests fail too often
- Make it easier to find the clojure-lsp server trace log level
- Bump cljfmt dependency to
v0.9.0
- Fix: Not honoring
calva.evalOnSave
whencalva.testOnSave
is enabled - Bump pre-bundled deps.clj.jar to
v1.11.1.1165
- Show error message if loading file results in an error
- Document workaround for: Allow sending a different project-root-uri during LSP initialize request
- Fix test running issue: Two references to the same class in the same namespace can refer to two different instances of the class
- Make it possible to format Clojure code using the pretty printer
- Fix: Notebooks don't recognize rich comments at the end
- Make Calva
deps.edn
Jack-in smarter about if an alias has empty:main-opts
- Bind any keys to custom custom repl commands
- Fix: Inline evaluation results not visible in Light themes
- Update deps.clj to version 0.1.1155
- Rich comment handling in notebooks
- Default to use deps.clj instead of clojure for starting deps.edn projects
- Update deps.clj to version 0.1.1100
- Output metadata on notebooks
- Fix: Staged file gets evaluated instead of uncommitted file
- Update nrepl jack-in dependency to 1.0
- Fix: Clojure-lsp server info command is not enabled if a non-clojure file is open in the active editor
- Fix: An error is thrown when the clojure-lsp server is stopped via Calva's command for stopping it
- Fix: :refer-clojure :exclude doesn't work as expected
- Fix: Shadowing of Clojure vars doesn't work in the REPL, even with :refer-clojure :exclude
- Fix: Command not found error shown when clojure-lsp server info command is run
- Update cider-nrepl jack-in dependency version
- Add configuration for which symbol definition provider to use
- Update clojure-lsp version and path settings documentation
- Fix: Error reporting for load file differs from evaluate code
- Fix: Accepting and rejecting Github Copilot suggestions does not work
- Use Apple Silicon clojure-lsp builds on M1 and M2 macs when available
- Updates to how we choose clojure-lsp executable for different platforms, fixes: #1590, and #1598
- Add sponsor link to the Calva extension manifest
- Fix: Debugger decorations are not working properly
- Add some logging when Calva starts and finishes activating
- Expose Calva's
registerDocumentSymbolProvider
function in the extension API - Support use of nightly clojure-lsp builds
- Update Calva's Extension api docs with Joyride sections
- Extension API: Fix Javascript examples & align them with their ClojureScript versions
- Extension API for retrieving the current REPL session key
- Extension API for some common ranges, like current form and top level form
- Extension API: Evaluate via Calva's REPL connection
- Fix: alt+<up,down> arrow inside map destruction is not working properly
- Name change for loading/evaluating a whole file for better command lookup
- Fix: Hover documentation shows "undefined" for functions that don't have a doc string
- Enable awaiting Calva Paredit commands when using
vscode.commands.executeCommand()
- Fix: Toggle between implementation and test command should set editor focus
- Fix: Hijacked shortcuts only works on strict
- Enable users to bind keyboard shortcuts to clojure-lsp drag commands
- Fix: Downloaded clojure-lsp not working for static linux distros
- Add dedicated Joyride nREPL Connect option
- Fix: Jack-in doesn't handle a shadow-cljs config without builds
- Merge LSP + NREPL completions and goToDefintion
- Update paredit sexp forward/backward command labels
- Fix: clojure-lsp initialized in a non-working state when there is no VS Code folder
- Improve kondo configuration documentation
- Require VS Code 1.66+ (and update project node version to 16+)
- Maintenance: Upgrade TS + some ts eslint plugins + fix any necessary changes thereof
- Fix: Command not working: sync the Output/REPL window namespace with the current file
- Tech debt mortgage: Cleanup/removal of EditableDocument.selectionLeft/Right APIs]
- Maintenance: Update node version to v14, which is maintenance LTS until 2023-04-30
- Maintenance: Update default build/dev task to rebuild cljs+ts, watch cljs+ts tests, watch linter, and Prettier watcher, add a custom Connect Sequence for connecting to Calva
:cljs-lib
- Add new
paredit.[forward/backward]SexpOrUp
commands
- Fix: Results doc gets in a bad state and does not update
- Fix: Indenting not working correctly in vectors starting with fn-like symbols
- Fix: Make server side
pprint
the default pretty printer
- Fix: Connect fails when there is no project file (deps.edn, etc)
- Make
calva
the default pretty printer - Add default Clojure associations for file extensions
.bb
and.cljd
- Fix: Warning when loading a file produces an error: n.filter is not a function
- Maintenance: Update even more TypeScript code to be compatible with strictNullChecks.
- Support Polylith and monorepo jack-in/connect better
- Fix: Calva Refactor commands not appearing in command palette after initial start
- Be more graceful about that clojure-lsp does not start in the Getting Started REPL
- Fix: An extra quick-pick prompt at pops up after jack-in
- Add commands for starting and stopping clojure-lsp
- Maintenance: Dumb down the token cursor some dealing with meta data and readers
- Fix: Structural editing hangs in specific cases of unbalanced forms
- Fix: Hover snippet markdown and adds example
- Maintenance: Begin work on enabling strictNullChecks in the TypeScript config.
- Fix: Metadata affects the Current Form being recognized
- Fix: ENTER key does not pick suggestion when cursor is not in a form in output window
- Fix: Version 2.0.247 regression with structural editing, hangs at unbalance + structural delete
- Fix: Paredit Slurp and Barf are not metadata aware
- Revert to before metadata-change, because: Version 2.0.247 regression with structural editing, hangs at unbalance + structural delete
- Enable the @typescript-eslint/no-floating-promises eslint rule
- Include metadata in current form selection/evaluation/etcetera
- Fix: Print stacktrace link in REPL gets duplicated
- Publish pre-releases when dev updates
- Apply basic typescript eslint rules
- Fix: ”Resolve macro as...” code action produces unreadable text in pop up
- Fix: Format on save
- Add custom hover snippets
- Add option to read cljfmt config from clojure-lsp
- Fix: Map key/value pair aligning is not working on format
- Change default keybinding for Infer parens to
ctrl+alt+p i
(fromshift+tab
) - Change default keybinding for Tab dedent to
shift+tab
(fromshift+ctrl+i
) - Make alt+enter evaluate top level form also within line-comments
- Maintenance: Upgrade typescript and linting packages/configs.
- Maintenance: Update dependencies to fix security vulnerabilities
- Maintenance: Update dependencies to fix security vulnerabilities (Change was not actually included in this release. See next release.)
- Fix: 'Add to history' not working on eval in repl
- Fix: TypeError when "Run Tests for Current Namespace" in non "-test" namespace
- Continue to support -Aalias for jack-in
- Add custom commands from libraries
- Clojure-lsp not starting when offline
- Workaround: VS Code highlights characters in the output/REPL window prompt
- Exclude REPL output window from LSP analysis
- Fix: [Snippet in custom command doesn't work with function metadata] (#1463)
- Improve LSP startup feedback on status bar
- Fix errors in test output when fixtures throw exceptions.
- Add experimental support for Test Explorer
- Maintenance: Upgrade dependencies to attempt to fix Dependabot security alert
- Fix: Update nrepl and cider-nrepl versions in jack-in dependencies
- Prevent warning during deps.edn jack-in
- Fix: Connecting to an out-of-process nREPL server and a merged Figwheel-main build
- Fix: Empty lines in output.calva-repl when running tests
- Fix: Hover broken when repl is connected but cider-nrepl is not present
- Fix: Some valid floats are highlighted incorrectly
- Fix: Babashka Jack-In REPL doesn't show eval errors
- Inform about conflict with the Clojure extension
- Fix: Run All Tests command doesn't run tests in .cljc file with reader conditional in ns.
- Fix: Allow LSP features on jar files
- Revert: Parinfer Experimental
- Revert: Full Format Experimental
- Revert: Remove
calva.fmt.formatAsYouType
option
- Re-enable, Experimental: Add Parinfer Mode
- Experimental: Add option to keep text more fully formatted as you type
- Remove
calva.fmt.formatAsYouType
option - Fix: Test runner not finding tests with + in middle of the name
- Internal: Handle the unknown-op status from test commands
- Fix: textDocument/linkedEditingRange failed when opening files or moving cursor
- Fix: paredit.spliceSexp doesn't work with set literals
- Fix: LSP code actions not working
- Revert 224 changes: Version v2.0.224 causes problems on some machines (possibly Windows related)
- Experimental: Add Parinfer Options
- Include material from clojuredocs.org in function documentation
- Fix: Not able to escape read-line in the output window
- Fix: Some keyboard shortcuts missing the languageID check
- Fix: Formatting form with comma whitespace inserts 0 and places the cursor wrong
- Fix: Calva's re-frame docs are outdated
- Add command to open the clojure-lsp log file
- Add nrepl message logging
- Fix: ctrl+k for Kill Right conflicts with several bindings on Windows
- Clean away legacy evaluation keyboard shortcuts
- Don't wait for clojure-lsp to initialize before activating nREPL lookup and navigation
- Tidy up doc and signature hovers
- Support setting the cider-nrepl print-fn to whatever
- Make Add Rich Comment command go to any existing Rich comment right below
- Add semantic tokens support from LSP
- Fix: Inline evaluation results no longer display in 2.0.216
- Fix: Inline results display pushes the cursor away when evaluation at the end of the line
- Fix: Inline evaluation display renders differently than the REPL display for empty spaces
- Add Babashka Jack-in option
- Add nbb Jack-in option
- Fix: Not currently possible to Jack-in to a ClojureScript nREPL Server
- Update deps.clj version to 0.0.19
- Fix The schema for the setting
calva.highlight.bracketColors
is broken - Fix Can't use $current-form more than once in a custom repl command snippet
- Default to using the latest release of clojure-lsp
- Performance improvement REPL is Slow and Performance Degrades as the Output Grows
- Use new custom LSP method for server info command and print info in "Calva says" output channel
- Update clojure-lsp to version 2021.07.12-12.30.59
- Roll back debugger call stack improvement
- Put closing paren of rich comments on separate line
- Fix: Calva formatting defaults do not get applied when including any kind of .cljfmt.edn config
- Workaround: Paredit commands don't propagate to multiple cursors
- Fix: Custom repl commands show error if run from non-clojure file
- Improvement: REPL is Slow and Performance Degrades as the Output Grows
- Fix: Paredit drag up/down kills line comments
- Bump clojure-lsp 2021.07.01-13.46.18
- Fix: Custom repl commands are not evaluated in specified ns if different than current ns
- Fix: clojure-lsp statusbar messages move the nREPL button around
- Add command for toggling between implementation and test
- Add command for evaluating the current top level form up to cursor
- Add command for evaluating from the start of the file to cursor
- Add nrepl and clojure-lsp versions to Calva says greetings
- Workaround: Command Palette shows wrong keyboard shortcuts for Paredit Forward/Backward Sexp
- Update clojure-lsp to version
2021.06.24-01.20.01
- Update clojure-lsp to version 2021.06.01-16.19.44
- Fix: Forward slurp with closing paren after newline, breaks the structure
- Pre-bind some keyboard shortcuts to custom REPL commands
- Update cider-nrepl to 0.26.0
- Makes it possible to add a jackInEnv per replConnectSequences
- Give the user some help to choose the right deps.edn jack-in alias when there are aliases with :main-opts
- Update clojure-lsp to 2021.04.23-15.49.47
- Fix: Evaluating top level form sometimes does nothing
- Fix: Line comment continuation needs some tweaking
- Replace automatic comment continuation with an on-demand one
- Fix: Wrong selection restored after eval-to-comment
- Bump
cider-nrepl
to 0.25.11
- Add Resolve Macro As (clojure-lsp) support
- Fix: REPL evaluation hangs if an error is raised during debug session
- Paredit backspace should delete non-bracket parts of the opening token
- Use
shift+tab
for the ”Infer parens from indentation” command - Fix: Inline evaluation results can show up in the wrong editor
- Bring back results in hovers
- Add built-in REPL Connect Sequences for ClojureScript built-in for browser and Node REPLs
- Remove Nashorn ClojureScript Jack-in option
- Allow keybindings to target when the cursor is inside a comment or a string
- Use alt+up/down for drag sexpr backward/forward
- Make it possible to disable some of Paredits hijacking of VS Code default shortcuts
- Fix: The unbalanced closing-bracket feature is active in line comments
- Remove the display diagnostics setting in favor of managing diagnostics entirely via clojure-lsp config
- Bump
clojure-lsp
to 2021.04.07-16.34.10 - Bump
cider-nrepl
to 0.25.10
- Fix: Paredit slurp sometimes leaves an extra space
- Fix: Delete empty literal function causes newline to be removed
- Add experimental setting to: Prevent extra closing brackets in strict mode
- Bump
clojure-lsp
to2021.04.03-18.43.55
- Fix: Calva not detecting tests with aliased clojure.test namespace
- Fix: Auto-generated namespaces not working correctly in some cases
- Make clojure-lsp version configurable by the user and bump to
2021.03.30-20.42.34
- Remove warning about clj-kondo extension
- Stop printing to the output window when all evaluations are interrupted
- Fix: Completion not working with babashka
- Update clojure-lsp to 2021.03.21-23.29.19
- Implementation detail: Use cljs for state
- Add command for evaluating from start of list to cursor
- Add custom REPL snippet variables, $selection, $head, and $tail
- Fix: Navigating to a definition in a jar file throws error in console
- Add a Getting Started REPL feature
- Revert switch to cljs for lsp, until the issue with released cljs/js interop has been fixed
- Fix Connect ”not in project” glitches
- Add a ”Start Standalone REPL” commands
- Add a configuration option to disable diagnostics
- Update clojure-lsp to version 2021.02.09-18.28.06 (Fix: Auto completion does not work in clojure-lsp only mode (no repl connection))
- Update clojure-lsp to version 2021.02.10-03.01.19 (Fix: Project clj-kondo config file not being considered)
- Update clojure-lsp to version 2021.02.07-22.51.26 (fix previous attempt)
- Update clojure-lsp to version 2021.02.07-22.51.26
- Really fix: Demo gifs 404 on VisualStudio Marketplace
- Upgrade clojure-lsp to 2021.02.05-03.05.34
- Fix Paredit raise sexpr doesn't work when cursor is behind the current form
- Enable keyboard shortcuts for custom REPL commands
- Add commands for tapping current and top-level forms
- Add setting to use only static parts of Calva
- Fix: Load file command not loading changes since last file save on Windows
- Update clojure-lsp to 2021.02.02-14.02.23
- Add command for copying jack-in command to clipboard
- Change default shortcuts for Paredit forward/backward sexp, expand/shrink selection, and for slurping and barfing
- Add Custom Commands variables for current form and more
- Fix: Jack-in fails to launch deps.edn projects for some Windows users
- Fix: Debug instrumentation decoration not working correctly anymore on Windows
- Fix: Debugger decorations issues
- Make command palette show alt+enter shortcut variant instead of enter for evaluating top level form
- Update clojure-lsp to 2021.01.28-03.03.16
- Fix: nrepl port detection race condition
- Fix: Calva uses ; for comments instead of ;;
- Update cider-nrepl to 0.25.8
- Update clojure-lsp to 2021.01.26-22.35.27
- Use status bar message instead of withProgress message for clojure-lsp initialization
- Update cider-nrepl: 0.25.6 -> 0.25.7
- Fix: "Extract function" refactoring doesn't work as expected with selections
- Fix: Jack-In env with non-string variables fails
- Use clojure-lsp for usages for debug instrumentation decorations, and stop injecting clj-kondo at jack-in
- Fix: calva.jackInEnv does not resolve
${env:...}
- Update clojure-lsp to version 2021.01.12-02.18.26. Fix: clojure-lsp processes left running/orphaned if VS Code is closed while the lsp server is starting
- Update clojure-lsp to version 2021.01.07-20.02.02
- Fix: Dimming ignored forms does not work correctly with metadata
- Improve clojure-lsp jar integration
- Update clojure-lsp to version 2021.01.07-12.28.44
- Fix: Slurp forward sometimes joins forms to one
- Fix: clojure-lsp processes left running/orphaned if VS Code is closed while the lsp server is starting
- Fix: go to definition jumps to inc instead of inc'
- Fix: Error when start a REPL with jdk15
- Add command for opening the file for the output/repl window namespace
- Add setting for auto opening the repl window on Jack-in/Connect
- Add setting for auto opening the Jack-in Terminal
- Replace opening Calva says on start w/ info message box
- Add command for opening Calva documentation
- Change default keyboard shortcut for syncing the repl window ns to
ctrl+alt+c n
- Reactivate definitions/navigation in core and library files
- Make load-file available in the output window
- Make the ns in the repl prompt a peekable symbol
- No changes besides version number. Released due to vsix publishing issues.
- Update clojure-lsp to include jar dependency navigation fix for Windows
- Fix: clojure-lsp refactorings not working on Windows
- Remove default key binding for toggling Calva key bindings
- Use Pseudo Terminal instead of Task for Jack-in
- Prefer cider-nrepl symbol definitions over clojure-lsp
- Enable clojure-lsp completion items when no nrepl connection
- Bring in refactorings we get access to via clojure-lsp
- Add ”clojure-lsp starting” progress indicator
- Fix step into local dep with debugger
- Binding keys to REPL functions, passing the namespace and cursor line (Notespace integration)
- Make REPL prompt submit if the cursor is after the top level form
- Only print stacktrace on demand
- Add ns name deriving
- Fix: Syntax highlighting error when repl prompt shows ns containing digits
- Fix: Syntax highlighting errors with tokens at the start of a line
- Fix: Various parsing issues
- Fix: Can't Jack-In to new Luminus template (+re-frame +shadow-cljs)
- Fix: Wrong
(in-ns ...)
sent for files with.bb
extension
- Fix: evals should be ignored during parsing
- Fix: Test runner can't find tests under cursor when using a custom test macro
- Fix: Test runner output only partially commented
- Allow toggling keyboard shortcuts
- Re-fix: Can't jack-in when no project file is open
- Fix getDocument function to not return a Log document
- Fix: Inline evaluation result disappears after a second
- 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 File lexing fails on junk characters inside strings
- Use Pseudo-terminal instead of Task for Jack-in
- 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
- Use a pseudo terminal for Jack-in - and stop (ab)using the Tasks system for this
- 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