Releases: Nimaoth/Nev
Releases · Nimaoth/Nev
Nev 0.4.0
- You can now define an alias for commands, with the ability to run multiple commands in one alias and forward arguments or
supply default arguments. - You can now define multi key keybindings with keys which produce characters (like
w
) in modes that consume input (like insert mode) while still being able to insert the original key by waiting or pressing another key which is not in the bound sequence.- Example: when you bind
jj
in insert mode to exit to normal mode, three things can happen:- You press
j
once then after a configured delay thej
will be inserted as text - You press
j
twice in a row, faster than the configured delay, then it will exit to normal mode - You press
j
once followed by another key (e.gk
) faster than the configured delay.j
will be inserted and
the next key press will be handled as usual.
- You press
- Example: when you bind
- Added the ability to show signs on each line in a sign column, to show breakpoints, errors, code actions, etc.
- Added support LSP for code actions and rename
- Added support for multiple language servers attached to one document
- Added builtin language server to provide auto completion and goto definition for paths
- Changed how language servers are configured.
- Added builtin terminal emulator based on libvterm
- Added command
all
which runs all arguments as commands. Arguments need to be arrays. - Remove carriage return from text when pasting from clipboard.
- Added command line argument
--monitor
to specify which monitor to open the window on (Windows only). - Added support for line numbers for
goto-definition
for the path language server (supported formats:path:line
,path:line:column
,path(line, column)
). - Added support for rendering bold and italic text (currently only for terminals)
- More customizable layout options
- More configurable input modes, most default keybindings are now defined in here
- Added experimental lisp interpreter as plugin to experiment with a way of allowing you to define more complex keybindings
without having to install multiple compilers and compile something. More info
Nev 0.3.0
- Removed NimScript plugins, for now only wasm plugins are supported (Lua plugins might be added later)
- File content is now stored as a rope CRDT instead of a string array. This allows a bunch of improvements:
- Better performance for big files and long lines
- Treesitter parsing is now done on a background thread
- File loading is now completely asynchronous, so no freezes when opening large files.
- Customizable language detection using regex
- Support WASM treesitter parsers
- Integrate wasmtime as new WASM engine, for now only for treesitter parsers
- Added command for installing treesitter parsers (
install-treesitter-parser
, requirestree-sitter-cli
andgit
) - Added smooth scrolling
- Added command for browsing docs (
explore-help
) - Added settings browser (
browse-settings
) - Added key binding preview while waiting for further input in longer keybindings
- Added regex based goto-definition/goto-references/goto-symbol etc if no language server is available (requires ripgrep). Regexes can be configured per language
- Improved document completions to run mostly on a background thread (except filtering) and cache the entire document
- Added inlay hints to preview colors detected using regex, e.g. "#feabee" can be detected, and an inlay hint in the corresponding color will be shown before the text. Has to be configured per language.
- Git view improvements:
- Added keybindings to navigate changes without switching focus to the preview
- Added ability to stage/unstage/revert individual changes, from git view or while diff is open
- Added expression evaluation for basic arithmetic like 1+2, and keybindings that add/subtract from a number at the cursor location
- Added option to disable line wrapping
- Added horizontal scrolling
- Added highlighting of all instances of text matching the current selection
- Added toast messages for errors
- Added commands to create/delete files/directories in file explorer.
- Reworked settings
- Recent sessions, finders to open recent sessions or find sessions
- Open session in new pane in tmux or zellij
- Shell command line: Run shell commands and show the output in a text editor. Not a full terminal, but good enough for some things.
- Many small fixes and improvements
Nev v0.2.1
Fixed some bugs, more docs, more vscode keybindings
Notes:
- The gui version is called
astg
/ast-gui
, the terminal versionast
. Both are dynamically linked - If you run into errors with glibc versions you have to compile the editor yourself for now, or use
ast-musl
which is statically linked
Full Changelog: v0.2.0...v0.2.1
Nev v0.2.0
Lots of changes since the last version
Incomplete list:
- Fuzzy search
- Better auto completion system
- More LSP integration
- Basic debugging with DAP
- More complete Vim and VSCode keybindings
- Much better support for linux and the terminal version (both windows and linux)
- and many small improvements
Notes:
- The gui version is called
astg
, the terminal versionast
- The
release_linux_musl.zip
only contains the terminal version - If you run into errors with glibc versions you have to compile the editor yourself for now, or use the musl version which is statically linked
First kind of usable version
v0.1.2-alpha add terminal version to release folder
First release
This first release includes a windows and linux version