- Prioritize $HOME/.nimble/bin in getBinPath
- Fixes a vscode client lsp issue in newer node versions for Windows where it couldnt start the lsp server due to mitigation patch.
- improves
emit
syntax highlighting - improves the installation process of the nimlangserver
- install nimlangserver local to the extension when no found in path
- autoupdates the local nimlangserver when a new release is found
- fixes compilation issues with Nim 2.0
- utilises
nimble dump
for running and debugging the current file - implements
show nimlangserver status
command - new panel with information in real time about the
nimlangserver
status - add
nimlangserver
notifications to the new panel
- added prettifier for Strings when debugging
- added 'Debug Selected this file command`
- added a setting to optionally set the lsp path
- added option for controlling lsp verbosity
- added notification when there is a newer lsp version available
- added configuration option for enabling/disabling inlay type hints
- added configuration keys for the exception hints
- ux improvement: added shorcut in the current Nim file for run/debug
- unifies function overloading
- lsp (nimlangserver) is the new default and deprecates NimSuggest
Major Update:
- add initial support for nimls (nim-lang/langserver#3), thanks @yyoncho (#81)
Syntax Highlighting:
- common functions:
ord
,chr
,inc
,dec
,succ
,pred
, thanks @morganholly (#88) tuple
is treated the same asarray
,seq
, etc, thanks @morganholly (#88)generic
,lambda
, andshared
are not invalid, thanks @morganholly (#83)- numeric literals:
- highlight unary minus, thanks @morganholly (#77)
- differentiate custom and standard suffix, thanks @morganholly (#77)
- match scientific notation, thanks @morganholly (#77)
- fix decimal literals without explicit types, thanks @rsduck (#74)
- allow period in custom numeric literals, thanks @exelotl (#58)
- command call highlighting improvements, thanks @rsduck (#74)
Analysis & Diagnostics Changes:
- heuristic to handle missing location info, thanks @rsduck (#71)
Other Features:
- fix run file, compiled output dir creation, thanks @dylanmcdiarmid (#62)
Internals:
- fix nimsuggest exit signal being null, thanks @rsduck (#76)
Extension Development:
- Add nimble tasks to build and install VSIX #57 thanks to @quantimnot
- Improved diagnostic and log parsing of nim tool output thanks to @quantimnot
- Big internal refactor, hopefully the code is more approachable now
- Fixed leaking nimsuggest processes thanks to @canelhasmateus #26 & #42
- Support user-defined literals syntax highlighting by @DylanModesitt (#44)
- don't index
files.watcherExcludes
, by default:{.git/**, nimcache/**}
- Somber Canada Day. :/
- fixed file indexing for non-project config scenarios @shunf4 (#43)
- modules are now part of workspace symbol search
- config settings work better with multi-root workspaces -- resource scoped
- fixed error/hint/warn highlights being off by one (#33), reported and fixed by @Yardanico
- this was supposed to be in 0.1.18 but that release was messed up
- fixed syntax highlighting
openArray
instead ofopenarray
(#27) - added a snippet for
func
(#24) @RSDuck - clarified this extension's nimsuggest dependency (#25) @geekrelief
- Fixed potential nimsuggest process leak (reported by @arkanoid87 via IRC)
- add
cint
to built-in concrete types highlighting
- Fix a bug where "nim.project" config was being ignored
- Backend is no longer hardcoded for nimsuggest and nim check (#20)
- Outline view is now hierarchical, types with fields under them
- Workspace symbol search now works and no longer errors out
- Updated logo thanks to @Knaque (#19)
- Fixed a bug where a project was index on startup every time
- Updated readme to highlight the difference between this and original extension
- errors in macros results in stack traces, these are now properly handled (#15)
- internal - code has been reformatted based on nimpretty
- internal - nimble cleanup moving closer to a more standardized build and future package
- fix exception which can occur while retrieving nim check output (#14)
- Added publishing for open-vsx.org
- handle multiple definitions returned by newer versions of nimsuggest (#12)
- nimsuggest uses a unique dirty file per source (#13)
- USERPROFILE is included in the bin search path for nim executables
- removed unneeded dependency on ms-vscode.cpptools (#10)
- added instructions for setting up native debugging (#10)
- added problem matchers for nim compiler and unit test output
- fixed
nim check
which now woks - fixed issue highlighting from check results
- remove nedb dependency, overall extension size should be much smaller
- replacement for nedb means files and type db files are now version 5
- added clear internal cache command, allows kicking off index rebuild
- Fix lintOnSave setting being ignored and check results
- No longer saving on any attempt to autocomplete (#3)
- Documented useNimsuggestCheck in package.json
- useNimsuggestCheck is no longer the default
- Version number fix
- README Update
- Messed up version numbers in this release
- README Update
- Fixed config parsing
- Build command sets backend flag for
nimsuggest
andnim check
- Remove remaining TypeScript parts
- Testing release updates
- No longer depend upon deprecated
rootpath
- Use dedicated extension workspace storage
- Add initial multi-folder workspace awareness
- Dirty file in extension storage, more secure(?) and remote workspace friendly
- Updated nimsuggest elrpc integration, fixing a number of possible bugs
- Initial rewrite to nim, very broken
- Nim not found in path (#153)
- Evolution of project file mapping (#118)
- Show hover info at current mouse position (#147)
- Completion suggestions require alphanumerics (#136)
- Manage Nimpretty params (#140)
- Rename provider (#141)
- Automatically continue ## doc comment to next line (#139)
- Added setting to enable/disable nimsuggest completions (#137)
- Changed indentation rules (#133)
- Added highlight on call without ()
- Block string literals (#126)
- Change envelope length to UTF-8 byte size (#124)
- Update nimUtils.ts to support .nimble PATH (#122)
- Exports increase indentation (#119)
- Shift-Enter: Send-Selected-Lines-To-REPL (#113)
- Add pragma snippet (#114)
- Nim check result reported in
Nim
output channel - Add suggestion for imports (experimental feature)
- Add workspace support (pragmagic/vscode-nim#106)
- Syntax improvements (pragmagic/vscode-nim#105)
- Add progress indication in nim check
- Fixed Auto-formatting issue #79
- Update extesion to the latest VSCode codebase
- Add support for breakpoints in source code and CPPTool extension for debug support
- Add
Check
command with defaultctrl+alt+b
hotkey - Add
nimssugestResetTimeout
config attribute #60 - Fixed #84, #96
- Add experimental nimpretty support for code formatting (#79),
nimpretty
should be compiled and placed together with nim executable.
- Improve syntax highlighting, fix linting for the latest dev version of Nim (PRs #76, #78)
- Improve syntax highlighting and folding (PRs #64, #66, #75)
- Add "func" keyword PR #60
- Fix indentation rules for VSCode 1.14
- Fixing 'nim' binary could not be found in PATH on OS X PR #52
- Fix string encoding + sexp parser performance tuning PR #51
- Reimplemented elrpc client PR #48
- Refixed #32 PR #45
- Added support for auto bracket closing in nimble files PR #45
- Improved the identation pattern to work on statement macros PR #45
- Add output directory configuration for run selected file command
- Improve code completion filtering
- Allows compile/run files in a path with spaces PR #41
- Improve experimental nimsuggest check support
- Fix Get "command 'nim.run.file' not found" when trying to run file #37
- Add experimental option useNimsuggestCheck to use nimsuggest tools for error checking
- Verbose logging for nimsuggest
- Fix nim check leaks and nimsuggest instance leaks
- Nim documentation support improvements for hover and code completion
- Fixed toggle line comment stopped working in .nim files after 0.5.15 update #35
- Readded bracket auto closing (it is intended that the string literals are brackets, VSCode recognises this and doesn't show a box around quotation marks)
- Fixed signature completion of iterators
- Fixed two snippets which pasted invalid code
- Highlight boolean keywords in default schemes (#34)
- Prevent sorting code completion suggestions
- Incorrect indentation after string literal (#32)
- Improve run selected file (#5)
- Fixed when terminal not appeared after was closed
- Added option for run unsaved content ("nim.runUnsaved" configuration property)
- Added "Nim: Run file" command that run selected file with
F6
keyboard shortcut - Fixed "Provide more details in symbols window" #27
- Added support of bundled nimsuggest with compiler that will be available in upcoming Nim 0.15.3 release
- Fixed nim check multiline result parsing
- Fixed nim check often hangs and doesn't get killed #23
- Fixed signature suggestion wrong behavior #21
- Minor fixes for the signature provider PR #22
- Temporary disabled reindex on file change due leak of nimsuggest
- Added support for parameter hints PR #19
- Added snippets PR #18
- Added a new nimsuggest
- Updated buildOnSave relative to tasks.json
- Fixed Multiline comments syntax highlight.
- Minor improvements and stability fixes
- Added multiple projects support
- Fixed some hangs during indexing
- Fixed #12 - Cannot compile nimsuggest
- Refactored nimsuggest interaction to use EPC mode, removed nimble requirements
- Added info with qualified name for hovered element
- Improved suggest information
- Added test project support
- Improved nim check error parsing for macros and templates
- Improved database indexes
- Fixed multiline error in nim check
- Fixed nimsuggest problem with mixed case path in windows
- Fixed #9 - nimsuggest "attacks" (one process per nim file in workspace)
- Added type index persistence with NeDB
- Fixed #7 - Block comments / inline comments are not supported
- Fixed #8 - Terrible experience with clean install w/o nimsuggest
- Added workspace symbol search support
- Rewrote nimsuggest handling to use TCP mode
- Added
nim.licenseString
for inserting default header in new nim files - Updated
run project
command to run single file in non project mode