Skip to content

Commit a5ac2f4

Browse files
committed
NVIM v0.5.0
This release represents ~4000 commits since v0.4.4, the previous non-maintenance release. Highlights include builtin support for LSP, new APIs for extended marks (with byte resolution tracking of changes) and buffer decorations, as well as vast improvements to lua as a plugin and configuration language. Experimental support for tree-sitter as a syntax engine is also included, building on the new core APIs for byte tracking and decorations. FEATURES: New API functions: nvim_exec: execute multiline vim script blocks nvim_get_hl_id_by_name: Gets a highight definition by name nvim_exec_lua: new name for nvim_execute_lua nvim_notify: Notify the user with a message nvim_get_runtime_file: Find files in runtime directories nvim_get_all_options_info: Get option information for all options nvim_get_option_info: Get option information for one option nvim_echo: Echo a message with highlights nvim_open_term: Open a virtual terminal in a buffer nvim_chan_send: send data to a channel. (like chansend() but supports lua strings) nvim_set_decoration_provider: callback driven decoration API for a namespace nvim_buf_set_text: Set/replace a character range in a buffer nvim_buf_delete: Delete the buffer. |:bwipeout| nvim_buf_get_extmark_by_id: Returns position for a given extmark id. nvim_buf_get_extmarks: get extmarks in traversal order. nvim_buf_set_extmark: Creates or updates an extmark. nvim_buf_del_extmark: Removes an extmark. nvim_buf_call: call a function with buffer as temporary current buffer nvim_win_hide: Closes the window and hide the buffer it contains |:hide| nvim_win_call: Calls a function with window as temporary current window. New UI events: redraw.screenshot redraw.win_viewport Lua: 767cd8b #12235 startup: add init.lua as an alternative user config 687eb0b #14686 feat(startup): Source runtime/plugin/**/*.lua at startup #14686 runtime: allow lua in various runtime search paths such as syntax/ ftdetect/ indent/ ftplugin/ compiler/ colors/ 43956de #13479 lua: Add vim.opt and fix scopes of vim.o 1407899 #12268 lua: Add buffer, window and tab accessors be662fe lua: vim.wait implementation 2b663c0 #14213 viml: embed Lua syntax highlighting 901dd79 feat: add completion to ':lua' 82688973 lua: complete methods in metatables 3421485 runtime: propagate lua parsing errors while using "require" aaca2c1 #13276 feat(lua): improve error message to make it actionable c60c737 startup: handle autoload and lua packages during startup 3ccdbc5 #12536 lua: add vim.register_keystroke_callback 971a191 lua: Add ability to pass lua functions directly to vimL 91e41c8 #12401 lua: add vim.highlight.range f2894bf #12279 lua: Add highlight.on_yank ae5bd04 #11969 lua: add tbl_deep_extend ea4127e lua: metatable for empty dict value dab40f4 Add v:lua.func() vimL syntax for calling lua 678a51b Lua: vim.validate() 474d0bc lua: vim.rpcrequest, vim.rpcnotify, vim.NIL 8ee7c94 lua: add vim.fn.{func} for direct access to vimL function d0d38fc #11442 Lua: vim.env, vim.{g,v,w,bo,wo} Tree-sitter: Note: tree-sitter is considered experimental for 0.5. There's remaining bugs for buffer parsing, as well as known performance issues for large files and injected (nested) languages. e933426 #10124 Tree-sitter API for lua 440695c tree-sitter: implement query functionality and highlighting prototype 8bea39f feat(treesitter): allow injections to be configured through directives 929f194 feat(treesitter): add offset predicate for language injection cd75d32 #14200 feat: treesitter checkhealth 1a63102 feat(treesitter): add language tree d3f5440 treesitter: runtime queries 3c5141d #13008 treesitter: add string parser 9437327 treesitter: use new on_bytes interface e4b5efa treesitter: use decoration provider API d6209a7 fix: Add a test and it is so pretty 836c310 feat(ts): bump tree-sitter to v0.20.0 LSP client: 00dc12c #11336 lua LSP client: initial implementation d5aaad1 #11430 Followup improvements to LSP ee7ac46 #11578 LSP: Use async completion for omnifunc. 070bd3e #11604 LSP: shrink API, improve docs 25afa10 #11669 Merge 'LSP: differentiate diagnostic underline by severity' e956ea7 #11777 LSP: show diagnostic in qf/loclist dd8b29c #11838 LSP: set InitializeParams.rootPath value 0c5d2ff #11837 Merge 'LSP: fixes, improve test visibility' ca86993 #11638 LSP: implement documentHighlight 220a2b0 LSP/references: Add context to locations returned by server ccb038d LSP/completion: add textEdit support da6f38a #12313 LSP: Add workspace.applyEdit client capabilities f559e52 #11607 LSP: Add textDocument/codeAction support 0d83a1c #12638 LSP: Feature/add workspace folders fd507e2 #13641 LSP: window/showMessageRequest e467d29 LSP: Move workspace/configuration handler from nvim-lspconfig to core 2bdd553 feat(lsp): Add codelens support UI: f8134f2 screen.c: remove fold_line special case c146edd experimental support for per-window color schemes a1508c9 nvim__screenshot (dump TUI state to file) 08fe100 terminal: enable pass through indexed colors to TUI in rgb mode 5a85699 tests/ui: make screen.lua use "linegrid" representation internally 8fe19d9 screen: make ui_compositor aware of the intended size of a float 54ce101 extmark: add new flexible "decorations" abstraction 4781333 decorations: allow virt_text overlay at any column bdebe85 decorations: use extmark column adjustments for buffer highlights 7b48831 decorations: Allow highlights beyond end of line hl_eol 425bc43 decorations: add additional styling of virt_text overlays edb5864 floats: z-index 243820e floats: add borders (MS-DOS MODE) 5b6edc8 feat(float): add rounded borders preset 4a36ec6 #14310 float: add "solid" border style vim patches: around ~1000 vim patches and runtime updates got merged. Hooray! Changes include improvements to quickfix, prompt buffers, incsearch, display of search counts, and much much more. various features and changes: 858c056 #12809 Support for :perl, :perlfile, :perldo and perleval() bc86f76 api/buffer: add "on_bytes" callback to nvim_buf_attach 19b6237 jobstart now supports env/clear_env ef7c6b9 Support specifying "env" option for termopen() 7c4f349 #13287 switch from travis to github actions 24db59c feat: implement BufModified autocmd b83d822 implement Scroll autocommand 8caf841 Lower "closed by the client" message level to INFO 7de276b bump libvterm to 0.1.4 097ec71 #14096 aarch64/linux: fix build by updating LuaJIT bd5f0e9 #12531 support autoread using tui focus tracking 8a12760 #12382 Add v:event.visual during `TextYankPost` 802f842 api(nvim_open_win): add "noautocmd" option FIXES: 2144455 BugFix(clipboard): Fix block paste not working properly 01493e7 #14413 api: fix nvim_exec() silencing behaviour 9699f3b fix(doc): Add '/site' to stdpath('data') example in `:help 'rtp'` 581b2bc screen: fix problem with p_ch eae4b1e luaref: fix leaks for global luarefs 409b271 fix: segfault when pasting in term with empty buffer cf6c23f #14273 fix plenty of errors discovered by clang 21035cf #14500 fix plenty of errors discovered by coverity bca1913 #13987 tui: fix possibility of evaluating uninitialized variables 9f23359 fix_cursor: do not change line number when edit will not impact cursor row 33f92fe fix(pty): Always use $TERM from the job's env dict 6249059 checkhealth: fix terminfo problems on Windows 397be5d #12811 UI: fix cursor not displayed after hiding and un-hiding 87afc90 screen.c: fix an issue with wrap and folds b419e39 screen.c: fix last character on foldtext 2ea3127 #13688 screen.c: fix display of signcolumn=auto in diffs c2d288e Fix screen terminal family issues 314b222 #14127 Fix click on foldcolumn with vsplit e65d0e5 vim.fn: throw error when trying to use API function
1 parent b6ff02e commit a5ac2f4

2 files changed

Lines changed: 2 additions & 2 deletions

File tree

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,12 +138,12 @@ set_property(CACHE CMAKE_BUILD_TYPE PROPERTY
138138
set(NVIM_VERSION_MAJOR 0)
139139
set(NVIM_VERSION_MINOR 5)
140140
set(NVIM_VERSION_PATCH 0)
141-
set(NVIM_VERSION_PRERELEASE "-dev") # for package maintainers
141+
set(NVIM_VERSION_PRERELEASE "") # for package maintainers
142142

143143
# API level
144144
set(NVIM_API_LEVEL 7) # Bump this after any API change.
145145
set(NVIM_API_LEVEL_COMPAT 0) # Adjust this after a _breaking_ API change.
146-
set(NVIM_API_PRERELEASE true)
146+
set(NVIM_API_PRERELEASE false)
147147

148148
set(NVIM_VERSION_BUILD_TYPE "${CMAKE_BUILD_TYPE}")
149149
# NVIM_VERSION_CFLAGS set further below.
27.3 KB
Binary file not shown.

0 commit comments

Comments
 (0)