- More contrast for gray color in dark theme #139
- Prepare for python 3.13 #137
- Improved stacktrace formatting, closer match for clojure+
- Fixed
Align Cursorsnot appearing in Command Palette #136
- Get settings from view, which merges in project and syntax settings on top of
Preferences.sublime-settings
- Autoscroll on Enter #135
- New
Align Cursorscommand - Color scheme adjustments
- Clarified some symbol/keyword edge cases in syntax
- Add
clojure_sublimed_select_topmost_formcommand - Add
|to the allowed symbols chars #132
- Fixed evaluation of
()#131
- Pretty print selection #123
- Execute code from inside top-level
; ...and#_...#124 Toggle Commentcommand that uses#_instead of;;- Remove background color on quoted strings inside metadata
- Better handle eval of
#_forms in nREPL JVM - Made line numbers much more transparent
- cljfmt correctly indents forms with custom rules - again
- cljfmt correctly indents forms with custom rules
- Simplified formatting rules: if list's first form is a symbol, indent next line by +2 spaces, in all other cases, indent to opening paren (1 space)
- We now provide
cljfmt.ednthat tries to match our default formatting - Better handle selection after formatting with cljfmt
- Highlight namespace name as
entity.name, same as defs - No exceptions on disconnect
- Removed background on unused symbols inside quotes
- Support Clojure 1.12 array type annotations
- Eval previous form at current level #118
- Auto-detect UNIX sockets, support relative paths
- Correctly parse escaped comma #120 via @oakmac
Syntax has been significantly reworked.
- New syntax that can highlight reader comments
comment.readertogether with the following form - Highlight
(comment ...)blocks ascomment.form - Highlight namespaces in symbols as
meta.namespace.symbol - Highlight unused symbols as
source.symbol.unused - Properly highlight
entity.nameindef*forms only at second position, skipping all meta/comments - Quote & syntax quote highlight following form as
meta.quotedandmeta.quoted.syntax - Metadata highlights following form as
meta.metadata - Octal & arbitrary radix integers #71
- Better keyword detection
Other changes:
- Built-in color scheme to utilize REPL and new syntax features.
- Allow using
cljfmtfor formatting (requirescljfmtbinary on$PATH) - Removed separate EDN syntax, merged with main Clojure (Sublimed)
- Settings can now be specified in main
Preferences.sublime-settingsas well. Just prependclojure_sublimed_to each setting’s name. - REPL can detect namespaces with meta on ns form #116
- Detect
.shadow-cljs/nrepl.portand.shadow-cljs/socket-repl.port#114 - Connect commands now accept
timeoutargument for automation scenarios like “start clojure, start trying to connect to REPL until port is available”
clojure_sublimed_reindentcommand that reindents entire buffer if selection is empty and only selected lines if not
- Fixed Socket REPL not working on Windows #95
- Fixed Exception in settings on first install #109
- Some defensive coding around default settings fallback #109
- Added
expandargument toclojure_sublimed_evalcommand
- New feature: Watches! Added
Add Watchcommand - Added
output.replpanel for raw nREPL output #104 - Added
Toggle Output Panelcommand for raw nREPL connections #104 - Fixed
Reconnectcommand - Added optional
on_finishargument tocs_conn.eval - Added
print_quotaas a setting and as an argument tocs_conn.eval
- Added optional
transformargument toclojure_sublimed_eval#101 #102 - Display failed test reports as red
- Socket REPL: fixed escaping in
clojure_sublimed_eval_code#103 via @KGOH
- Detect namespace from in-ns forms
- Fixed status eval not clearing on disconnect
- Support multiple windows, one connection per widnow
- Support .repl-port files for Socket REPL
- Eval inside already evaled region re-evals same region instead of going to top form
- Printer can display newlines
- Socket: Report number of reflection warnings in status bar
- Socket REPL: handle exceptions in lookup
- Do not silence exception during lazy seq printing
- Show file/line/column information when
clojure_sublimed_eval_codefails
- Fixed indenting of reader conditionals
- Fixed perf degradation on reindent #96
- Socket: Fixed status_eval, bind *1/*2/*3/*e for e.g. tools.namespace
- Do not fail because of styles #91
- Huge refactoring, easier to add new REPLs
- REPLs do not depend on syntax highlighting anymore, will work with any syntax
- new REPL: Raw nREPL
- new REPL: Socket REPL (no external dependencies, faster to start than nREPL)
- Report results of different forms in the same selection separately (Socket REPL only)
- Removed
clojure_sublimed_require_namespacecommand - Implemented pretty-printing of expanded results in Python, removing clojure.pprint dependency
- Added
wrap_widthsetting
- Connect command accepts 'auto' (will look for
.nrepl-portfile) #82
- Do not move cursor if error region visible on screen #73
- Fixed: Wrong highlight of the source of error #79
- Render sequential spaces #78
- Fixed: Exceptions from evaluating buffer without a file name are not processed #18
- Special case when CompilerError has wrong location info
- Select whole line on error
- Added Main.sublime-menu #85 via @wundervaflja
- Allow connection through UNIX domain socket #80 via @tribals
- Allow specifying
nsinclojure-sublimed-eval-code
- Shadow-cljs support #43 #77 via @sainadh-d
- Added
eval_shared
- Added
format_on_saveoption #76 thx @sainadh-d
- Fixed clojure_sublimed_eval_code #75
- Fixed clojure_sublimed_insert_newline with multicursor #72
- Fixed indent on Enter
- Pretty print returned values. Toggle with Toggle Info (Ctrl + I)
- Do not reindent blank lines
- Proper
messages.jsonand install message.
New commands:
- Reindent Buffer
- Reindent Lines
- Insert Newline
- A command to require namespace of symbol #12 #59 via @jaihindhreddy
- Fixed regions returning on undo #22 #60 via @jaihindhreddy
- Fixed AttributeError: 'Connection' object has no attribute 'eval_in_session'
- Do clone, eval and close in a single middleware #20 via @jaihindhreddy and @tonsky
- Auto-close sessions cloned by eval #48 #49 #50 via @tonsky
- Interrupt pending eval when region is erased #16 #58 via @jaihindhreddy and @tonsky
- An option to use nREPL session for eval #9 #57 via @jaihindhreddy
- Optimize region invalidation #19 #54 via @jaihindhreddy
- Optimise iterating through evals by maintaining evals by view #23 #51 #55 #56 via @jaihindhreddy
- Use ephemeral sessions instead of cloning for each eval #20 #48 #50 via @jaihindhreddy
- Renamed to Clojure Sublimed due to Package Control policy. Thanks @YurySolovyov for the name
- Toggle symbol info works on def/defn #44 #45
- Escape HTML in evaluation results #35 #38 thx @jaihindhreddy
- Measure time-taken in nREPL middleware #13 #39 thx @jaihindhreddy
- Eval form on the left if between forms #10 #42 thx @jaihindhreddy
- Fixed Ctrl+I at the last position in the file #17
- Copy evaluation result #37
- Fixed runtime error on startup #32
- Clear Eval Code status in non-active views #32
- When evaluating buffer fails, scroll to error line #28
- Fixed exception in eval code command handling excetpion response
- Automatically detect port from .nrepl-port #5
- Do not bundle any key bindings by default
- Bind keys to eval arbitrary code #25
- Remove phantom if region is fully removed #21
- Initial release
- Renamed syntaxes to
Clojure (Sublime Clojure)andEDN (Sublime Clojure) - Added nREPL client
- Clojure syntax: quotes, reader conditionals, operators, better whitespace handling.
- Clojure syntax: regexps.
- Supported namespaced
/symbol. - Tokens can end directly with
;, without any whitespace in between. - Content of
()[]{}is marked withmeta.parens/.brackets/.braces, making possible nested brackets highlighting. - Bracket/paren/braces classes replaced with
punctuation.section.(parens|brackets|braces).begin/...end. - Keywords use
constant.other.keywordinstead ofconstant.keyword. - Beginning of Clojure syntax, highlighting
entity.namein alldef*/nsforms.
- Instants, uuids, custom reader tags;
- punctuation class for colons and slashes in symbols/keywords, comma, backslash in strings/chars;
- allow single quote in keywords;
- more conventional class names;
- automated tests.
- Inital version.