Log message:
neovim: update to version 0.9.5
v0.9.5
======
This is a maintenance release, focusing on bugfixes.
Notably, fixes were made for issues with using and testing Nvim on less common \
platforms, like big endian platforms.
Bug Fixes
---------
- defaults: Set 'fsync' #26039
- Dont create data dir if it's a broken symlink
- Make InspectTree handle nested injection
- Remove nested for_each_tree in TSTreeView (#26331)
- api: Use a conditional stack for nvim_cmd
- change: Update fold after on_bytes
- deps: Bump libmpack from luarocks
- extmark_to_array: Convert conceal_char to bytes
- highlight: Apply 'winblend' to float border
- inccommand: Save and restore '[ and '] marks
- inccommand: Don't crash with "split" and 'n' flag
- lsp: Handle NUL bytes in popup text
- lua: Correct return value for on_key with no arguments
- lua: Crash in nlua_error
- man: Make :Man with a range work
- mappings: Fix mapset() not replacing map with backslash
- marks: Handle switching buffer properly
- mouse: Avoid dragging after click label popupmenu callback
- mouse: Avoid dragging when clicking next to popupmenu
- move: Check the correct buffer
- oldtest: Always use a 64-bit int for swapfile block number
- options: Setting 'scroll' with resized grid
- quickfix: Check if delete failed in qf_fill_buffer()
- set_bool_option: Use int value to make bool Object
- set_option_from_tv: Use v_bool to access boolean option
- terminal: Assign channel to terminal earlier
- terminal: Avoid Insert mode in Terminal buffer
- terminal: Don't lose focus on
- terminal: Keep focus when scrolling number column of another window
- terminal: Make backslashes in 'shell' work on Windows
- treesitter: Foldexpr tweaks
- treesitter: Remove incompatible c query (again)
- ui: Empty line before the next message after :silent command
Build System
------------
- Fix universal mac builds
- ci: Ensure correct headers are used on macOS
Documentation
-------------
- List NVIM_APPNAME as env on manpage
- starting.txt: Correct step number
Performance
-----------
- Remove redundant strlen in skipwhite
Testing
-------
- Fix dependencies between test cases and test flakiness
v0.9.4
======
Bug Fixes
---------
- build: Fix exporting symbols on macOS Sonoma
- api: Handle NUL in nvim_err_write() and nvim_out_write()
- autocmd: Api functions accepting garbage after event name
- clang: Null pointer dereference in parse_msgpack
- clipboard: Don't pass --foreground to wl-copy
- exception: Remember whether message is multiline
- float: Update position of anchored windows first
- float: Fix some other crashes with :unhide or :all
- lua: Not using global value in vim.opt_global
- lua: Show error message when failing to set variable
- mouse: Click on 'statuscolumn' with 'rightleft'
- path: Accept special characters on Windows
- provider: Fix python3 provider cannot detect python3.12
- provider/pythonx: Import the correct module
- rpc: Fix race condition
- runtime: Add commentstring for D ftplugin
- statuscolumn: Update number hl for each screen line
- terminal: Check terminal size at end of screen update
- treesitter: Remove more double recursion
- ui: "resize -1" with cmdheight=0
- unhide: Close floating windows first
- unittests: Ignore __s128 and __u128 types in ffi
- tutor: Clarify the meaning of ✗ and ✓
Build System
------------
- deps: Bump libmpack-lua to 1.0.11
- ci: fix mac release for Sonoma
v0.9.2
======
Breaking change
---------------
An adjustment was made to the grid_line event as part of the external UI protocol:
the cells array might now end with a [' ', attr, 0] item with a repeat count of
zero. This is needed by the TUI to disambiguate final spaces from a line from just
clearing the line, which will make a difference when copying text using the terminal
emulators' builtin primary selection support.
External UIs can safely ignore such an empty item and most UIs already handle \
this fine.
But it could break UIs which has an assert to validate the cell count to be bigger
than zero, or similar.
Features
--------
- tui: Support Super and Meta modifiers
- terminal: Forward more special keys and modifier-mouse combinations
Bug Fixes
---------
- lua: Always set arg0 to lua scripts
- api: Redundant error when using nvim_cmd
- api, lua: Make blank lines in a message work properly
- column: Fix bugs related to signs in 'statuscolumn'
- completion: Don't add backslash in runtime completion
- diff: Filler lines for hunks bigger than linematch limit
- edit: Fix K_EVENT interfering with 'digraph'
- editorconfig: Better validation and error handling
- events: Don't expand non-file as file name
- events: Trigger VimResume on next UI request
- extmarks: Wrong display when changing text with virt_lines
- folds: Update folds in Insert mode with fdm=indent
- helptags: Make multibyte help tags work properly
- highlight: Make CurSearch work properly with 'winhl'
- inccommand: Fix saving of undo info
- keycodes: Recognize <t_xx> as a key
- lsp: Do not assume client capability exists in watchfiles check (#24558)
- mouse: Handle folded lines with virt_lines attached to line above
- remote: Make --remote-expr print to stdout
- remote: Restore previous --remote-expr output formatting
- spell: Splice extmarks on :spellrepall
- startup: Don't truncate when printing with -l
- startup: Run embedded Nvim with real path
- statusline: Redraw when Visual submode changes
- statusline: Fill for double-width char after moving items
- treesitter: Updates to queries and injections
- treesitter: Fix TSNode:tree() double free
- ui: Propagate line wrapping state on grid_line events
- ui: Avoid ambiguity about chunk that clears part of line
Performance
-----------
- extmarks: Avoid unnecessary marktree traversal with folds
- substitute: Don't reallocate new_start every time
Build System
------------
- deps: Bump libvterm to 0.3.3
- deps: Bump LuaJIT to HEAD - 03c31124c
- deps: Bump libuv to v1.46.0
- deps: Bump Luv to 1.45.0-0
- deps: Bump tree-sitter-c to v0.20.5
- deps: Bump tree-sitter-lua to v0.0.18
v0.9.1
======
- checkhealth: Add shims for health functions (#23241)
- Add vim.lsp.buf.formatting_sync() to deprecated.txt
- treesitter: update parsers and queries
- api: Extmark highlight groups not always included in details
- api: Avoid assertion when autocmd group id is 0
- api: Don't change title when setting buffer in a window
- api: Nvim_get_hl should return default flag
- colorscheme: Try .lua files in 'rtp' before .vim files in 'pp'
- statuscolumn: fix issues when used with virt_lines and signs
- drawline: Make cursorlineopt=screenline work with resized grid
- eval: Prevent double-free in garbage collection
- extmarks: Don't show virt lines for end mark
- float: Make bufpos work properly with resized parent grid
- highlight: Add missing g: prefix for colors_name
- highlight: Combine ColorColumn with low-priority CursorLine
- highlight: Apply 'winblend' to NormalNC
- lua: Inspect_pos respect bufnr when get syntax info
- lua: Vim.split may trim inner empty items
- man.lua: Don't continue on command error
- man.lua: Return support of all sections
- mark: Properly init mark views
- messages: Ensure msg_grid is at top at more prompt
- mkspell: Prevent Unicode character overflow
- mouse: Cmdline click registered as statuscolumn
- mouse: Fix popup menu position check with winbar
- normal: Make "g$" work properly with resized grid
- pum: Show right-click menu above cmdline area
- pum: Position properly with multigrid and floats
- pum: Fix issues with with 'rightleft'
- redo: Make redo of Lua mappings in op-pending mode work
- redraw: Multibyte characters are wrapped at the end of a line
- redraw: Overwrite double-width char with virt_text properly
- ruler: Show ruler of curwin with no statusline in cmdline
- spell: Extmark with spell=false should disable spell
- statusline: Also allow right click when 'mousemodel' is "popup*"
- substitute: Properly check if preview is needed
- termdebug: Handle partial lines passed to callback
- tui: Position cursor at bottom-left before stopping
- tui: Redraw on SIGWINCH even if size didn't change
- tui: Grid_clear properly clears the screen
- tui: Fix title restore with title stack or altscreen
- ui: Send title to newly-attached UI
- windows: Set stdout to binary mode for --api-info
- windows: Revert installation context to per-machine
- build: Include
|
Log message:
neomutt: update to version 0.9.0
Changelog (taken from https://github.com/neovim/neovim/releases/tag/v0.9.0):
NVIM 0.9.0
@github-actions github-actions released this 07 Apr 11:45
v0.9.0
040f145
NVIM v0.9.0
Build type: Release
LuaJIT 2.1.0-beta3
Notable changes
For a summary of notable changes, see runtime/doc/news.txt or just :help news \
within nvim.
Install
Windows
Zip
Download nvim-win64.zip
Extract the zip.
Run nvim-qt.exe
MSI
Download nvim-win64.msi
Run the MSI
Search and run nvim-qt.exe or run nvim.exe on your CLI of choice.
macOS
Download nvim-macos.tar.gz
Run xattr -c ./nvim-macos.tar.gz (to avoid "unknown developer" warning)
Extract: tar xzvf nvim-macos.tar.gz
Run ./nvim-macos/bin/nvim
Linux (x64)
AppImage
Download nvim.appimage
Run chmod u+x nvim.appimage && ./nvim.appimage
If your system does not have FUSE you can extract the appimage:
./nvim.appimage --appimage-extract
./squashfs-root/usr/bin/nvim
Tarball
Download nvim-linux64.tar.gz
Extract: tar xzvf nvim-linux64.tar.gz
Run ./nvim-linux64/bin/nvim
Other
Install by package manager
SHA256 Checksums
fa93f06bec111fea6f316f186b96e19ba289a2dca2d0731e23597398b7397c8f nvim-linux64.tar.gz
0e1e6d53c6c8055de23bdb33f60bb64af0baf11390669c1b40ecbbf2c7a34547 nvim.appimage
b53d0e2662a5003e335a410247ff2c1df7cb3c36c00db14e08551437e69bcca3 nvim.appimage.zsync
ba571c320c9ba98f1f78a9656b0b1fd21aa5833a61054f377c15c09366b96aca nvim-macos.tar.gz
9efe2ff55a13edf32afcfe51194d8e85bb62be7f09ff86384ffb0b8eed2bf716 nvim-win64.zip
adc92c40ea4552dd57898a5f4ec1e635f65ba133340bc9b59c73165cc4cae1bb nvim-win64.msi
Changes since 0.8.0
Breaking
Remove hardcopy
Make iconv a non-optional dep
Remove has("debug") (#22060)
Make libintl a required dependency
Rename vim.pretty_print => vim.print
Rename sanitizer options from CLANG_* to ENABLE_*
Remove the .deb release (#22773)
column: Ensure 'statuscolumn' works with virtual and wrapped lines
cscope: Remove
defaults: Change default 'commentstring' value to empty (#22862)
edit: Remove old c implementation of hebrew keymap
editorconfig: Change editorconfig_enable to editorconfig
exepath: Prefers extensionless for powershell
health: Remove deprecated health.lua
lsp: Add rule-based sem token highlighting (#22022)
lua: Execute Lua with "nvim -l"
messages: Graduate the 'msgsep' feature
options: Deprecate paste, remove pastetoggle (#22647)
rpc: Preseve files when stdio channel is closed (#22137)
runtime: Remove filetype.vim (#20428)
treesitter: Remove g:ts_highlight_lua (#22257)
treesitter: Remove silent option from language.add()
treesitter: Consolidate query util functions
treesitter: Remove deprecated show_tree func
treesitter: Deprecate top level indexes to modules (#22761)
treesitter: Rename help parser to vimdoc
Features
Added support for @generic to lua2dox.lua
Added support for optional params to lua2dox
Added support for specifying types for lua2dox
Mention ":help news" in intro #20674
":write ++p" creates parent dirs #20835
Add vim.secure.read()
vim.inspect_pos, vim.show_pos, :Inspect
$NVIM_APPNAME #22128
Try to recover from missing tempdir #22573
Add vim.filetype.get_option()
Add vim.treesitter.language.get_filetypes() (#22643)
Allow function passed to defaulttable to take an argument (#22839)
api: Nvim_select_popupmenu_item support cmdline pum (#20652)
api: Add command name to Lua command callback opts
api: Show more exception info
api: More fields in nvim_list_uis
api: Add filetype option nvim_get_option_value
api: Add nvim_get_hl (#22693)
api: Nvim_exec2(), deprecate nvim_exec() #19032
api: Evaluate 'statuscolumn' with nvim_eval_statusline()
api: Set statuscolumn line number in nvim_eval_statusline()
aucmd_win: Allow crazy things with hidden buffers (#21250)
checkhealth: Improve treesitter report
checkhealth: Check runtime ($VIMRUNTIME)
checkhealth: Use "help" syntax, avoid tabpage #20879
clipboard: Copy to system clipboard in tmux when supported (#20936)
clipboard: Added wayclip support (#21091)
diagnostic: Add suffix option to open_float() (#21130)
diagnostic: Add suffix option to virt_text config (#21140)
diagnostic: Don't open quickfix/loclist if no diagnostics #21397
diagnostic: Vim.diagnostic.is_disabled() #21527
diagnostic: Add support for tags
docs: Nested lists in HTML, update :help parser
docs: Format parameters as a list #20485
docs: Update parser, HTML gen #20720
docs-html: Try to use tags for ToC headings
editorconfig: Add builtin EditorConfig support
editorconfig: Add editorconfig syntax file
editorconfig: Allow editorconfig to be toggled dynamically
exrc: Use vim.secure.read() for 'exrc' option
exrc: Support .nvim.lua (#21436)
extmarks: Allow preventing spellchecking with spell = false
extmarks: Extend nvim_buf_get_extmarks()
filetype: Fall back to file extension when matching from hashbang (#22140)
float: Open float relative to mouse #21531
fs: Add opts argument to vim.fs.dir()
gen_help_html.lua: Remove old AWK scripts
health: Detect tmux RGB support via client_termfeatures
help: Highlighted codeblocks
highlight: Add DiagnosticOk (and associated) highlight groups (#21286)
highlight: Define the concept of altfont as a (c)term rendering attribute
l10n: Update Turkish translations (#20444)
l10n: Update zh_CN translations (#21085)
lsp: Add bufnr option to lsp.start (#20473)
lsp: Support window/showDocument (#19977)
lsp: Run handler in coroutine to support async response (#21026)
lsp: Support set title in lsp relate floatwindow (#21110)
lsp: Support willSave & willSaveWaitUntil capability (#21315)
lsp: Initial support for semantic token highlighting
lsp: Highlight semantic token modifiers (#21390)
lsp: Add function to get semantic tokens at cursor
lsp: Add function to clear codelens (#21504)
lsp: Show active clients in :checkhealth vim.lsp (#21670)
lsp: Add triggerKind option for vim.lsp.buf.code_action (#21905)
lsp: Implement workspace/didChangeWatchedFiles (#21293)
lsp: Implement workspace/didChangeWatchedFiles (#22405)
lsp: Overwrite omnifunc/tagfunc set by ftplugin #22267
lsp: Render markdown in docs hover #22766
lsp: Create default link from @lsp.type.comment to Comment (#22888)
lua: Send "--" literally to Lua "-l" script
lua: Exit 1 on Lua "-l" script error
lua: Execute stdin ("-") as Lua
lua: Store "nvim -l" scriptname in _G.arg[0]
lua: Low-level interpreter mode (nvim -ll)
lua: Make sure require'bit' always works, even with PUC lua 5.1
lua: Add semver api
lua: Omnifunc for builting lua interpreter
lua: Use vim.empty_dict() for empty return value in new api functions (#22737)
lua: Allow :=expr as a shorter version of :lua =expr
lua: Add vim.loader
lua-api: Avoid unnecessary allocations (#19877)
man: Add health check
man.lua: Support spaces in manpage names
message: Avoid spam on failed os_msg
packaging: Add start menu and desktop shortcuts on Windows
provider: Add support for Yarn node modules on Windows (#21246)
secure: Add :trust command and vim.secure.trust() (#21107)
spell: Support nospell in treesitter queries
spell: Also source spell/LANG.lua when setting spelllang (#22111)
test: Add Lua forms for API methods (#20152)
treesitter: Add vim.treesitter.show_tree() (#21322)
treesitter: Add 'lang' option to show_tree() (#21341)
treesitter: Show filetype associated with parser (#17633)
treesitter: Allow capture text to be transformed
treesitter: Add metadata option for get_node_text
treesitter: Respect metadata[id].range for offset!
treesitter: Playground improvements
treesitter: Add filetype -> lang API
treesitter: Upstream foldexpr from nvim-treesitter
treesitter: Expand the API
treesitter: Add :InspectTree command (#22477)
treesitter: Bundle query parser and queries (#22483)
treesitter: Use upstream format for injection queries
tui: Run TUI as external process
tui: Graduate the +tui feature
tui: Support altfont mode in tui.c
ui: Add support to display a title in the border of a float (#20184)
ui: Add 'statuscolumn' option
ui: Restore has('gui_running')
ui: Add scroll_delta to win_viewport event #19270
vim-patch: Mention original author #20772
vim.diff: Allow passing an integer for linematch
vim.fs: Pass path to find() predicate, lazy evaluate #22378
vim.fs: Improve normalize
vim.gsplit: Gain features of vim.split
vim.version: More coercion with strict=false
web: Syntax highlighting via highlight.js
window/ui: Add splitkeep option (#19243)
windows: Show icon in terminal titlebar, taskbar #20607
Performance
column: Only build fold/sign column when present in 'statuscolumn'
completion: Use one call to globpath() for .vim and .lua #21942
diagnostic: Use api variable and improve validate (#21111)
lsp: Update semantic tokens algorithm for parsing modifiers (#21383)
lsp: Only redraw the windows containing LSP tokens
lsp: Better binary search mid calculation in semantic token (#22607)
statuscolumn: Only fill click defs array once per redraw (#21884)
statusline: UI elements are always redrawn on K_EVENT
treesitter: Smarter languagetree invalidation
treesitter: More efficient foldexpr
ui: Mitigate redraw latency regression from TUI refactor
Bug Fixes
Make_filter_cmd for :! powershell
:! pwsh redirection for command not found
Find multibyte file name in line (#20519)
Change did_emsg back to int
'scroll' is not set correctly for floats with 'splitkeep'
Setting tabline option not redrawing tabline
Avoid unsigned overflow in home_replace() (#20854)
Add lfs to luarc.json (#20979)
Vim.ui.input always calls callback #21006
Don't disable compositor widgets when a GUI with multigrid attaches
Pvs warnings (#21145)
Clang warnings (#21247)
Vim.opt_local:append ignoring global option value (#21382)
Issues with command line if ui elements are externalized
Properly close builtin popup in ext_popupmenu
Failing XDG test on Windows CI
Pass value instead of pointer to isalpha (#21898)
Use correct number for INT_MAX (#21951)
Add manifest file to correctly determine Windows version (#21953)
Uv_tty_set_mode failed in Windows #22264
Lsp github issue template example (#22285)
Remove "Features" section from --version/:version (#22315)
Remove "Compiled by:" from :version/--version (#22316)
Add missing void as function argument (#22317)
Windows assertion failure due to incorrect path length (#22324)
Resolve error from -Werror=maybe-uninitialized
Address -Wmaybe-uninitialized warnings (#22436)
Pasting in terminal buffer on windows #22566
Invalid buffer size argument to snprintf #22729
Snprintf buffer overflow detected by -D_FORTIFY_SOURCE=3 (#22780)
MSVC: Set the active code page to utf-8 (#22384)
Windows: Restore console title at exit #21922
api: Dynamically allocate line buffer for nvim_out_write (#20537)
api: Nvim_buf_get_text regression (#21071)
api: Nvim_win_set_cursor redraw cursorcolumn for non-current window (#21072)
api: Set correct curbuf when temporarily changing curwin (#21371)
api: "emsg_silent" should imply "silent" in nvim_cmd (#21438)
api: Nvim_create_autocmd crash on invalid types inside pattern array
api: Avoid memory leak with click functions in nvim_eval_statusline() (#21845)
api: Don't allow hiding aucmd_win from another tabpage (#21975)
api: Allow empty Lua table for nested dicts #22268
api: Set script context when setting usercmd or option (#22624)
api: Vim.filetype.get_option() (#22753)
api: Make nvim_get_hl return 'cterm' attrs properly
api: Use local LastSet structure in nvim_get_option_info (#22741)
api: Return both link and attributes with nvim_get_hl (#22824)
api: Avoid double hit-enter prompt with nvim_err_writeln (#22879)
autocmd: Handle recursion for force set (#22820)
buffer_updates: Save and restore current window cursor (#16732)
build: "make clean" fails
build: Duplicate version string "v0.8.0-v0.8.0" #20578
build: Fix invalid use of EXITFREE
chansend: Sending lines to terminal in reverse order on Windows #19315
ci: Skip test on windows (#21502)
ci/release/winget: Bump action version
client: Wait for session to exit
clint: Disable whitespace/newline #20619
clipboard: Prefer xsel #20918
clipboard: Update version regex pattern (#21012)
clipboard: Show provider warning when not during batch changes #21451
column: Avoid drawing columns for virt_lines_leftcol
column: Estimate 'statuscolumn' width appropriately
column: No longer reset nrwidth_line_count for 'statuscolumn'
column: Cmdwin cursor is offset with 'statuscolumn' (#22445)
column: Issues with 'statuscolumn' width (#22542)
column: Rebuild status column when sign column is invalidated (#22690)
column: Invalidate statuscolumn width when UPD_NOT_VALID (#22723)
completion: Set pum_size even if ext_popupmenu is used (#20648)
completion: Correct what modes support fuzzy completion
completion: Include lua syntaxes in :ownsyntax completion (#21941)
coverity/433537: Don't call kv_concat_len() when read_size is 0 (#21664)
decoration: Redraw correctly when re-using ids
decoration: Call providers in win_update() earlier
decoration: Do not reset must_redraw after calling providers (#21459)
decoration: Don't show signcolumn for non-sign_text extmark (#22135)
diagnostic: Correct type annotations; add Diagnostic type (#21120)
diagnostic: Clear stale cache on reset (#21454)
diagnostic: Sort diagnostics by column (#21457)
diagnostic: Revert notification on missing diagnostics (#21632)
diagnostic: Use correct field name for tags (#22835)
diff: Remove size_t underflow (#20929)
diff: Fix a crash in diff mode with linematch enabled (#21070)
diff: Handle long lines without crashing (#21389)
diff: Avoid restoring invalid 'foldcolumn' value (#21650)
diff: "nvim -d" should only diff arglist files #21829
diff: Adjust extmarks after diffput/diffget (#22440)
diff: Add NULL check
diff: Trigger on_bytes only once after diffget/diffput
diff.c: Regression in diffgetput (#20843)
docs: Missing "(" in :help HTML
docs: Nil as viable argument for goto_prev (#20852)
docs-html: Keycodes, taglinks, column_heading #20498
docs-html: Update parser
docs-html: Misaligned tabs after conceal #20690
edit: Don't subtract msg_scrolled when removing double quote (#22630)
editorconfig: Do not highlight unknown properties as errors (#21673)
embed: Handle stdio in server properly
eval: Make error number of charidx() same as Vim
eval: Change some tv_dict_add() usages back to hash_add()
events: Save v:event for cmdline autocommands separately (#21316)
events: Skip WinScrolled for newly-created float windows (#21333)
ex_cmds: Fix a mistake in the porting of Vim patch 8.1.0306 (#21096)
exit: The TUI should not ui_flush() itself (#21625)
exit: Skip unnecessary steps in TUI preserve_exit() (#21897)
extmarks: Adjust extmarks when inserting prompt prefix
extmarks: Problems with folded virtual lines (#21930)
extmarks: Don't leak memory on error (#22507)
fileio: Use first available directory in backupdir for backupcopy (#20655)
fileio.c: Don't use uninitialized memory (#22031)
filetype: Don't pass empty string to detect (#20766)
filetype: Correctly detect tex files
filetype: Make vim.filetype.match() work with contents only (#22181)
filetype: Avoid recursive FileType autocmds (#22813)
filetype: Make recursive work...again (#22826)
float: Make closing float in another tab return to correct window
float: Fix ml_get error with bufpos
float: Fix crash with bufpos and non-existent window (#21319)
float: Remove -1 in height clamp
folds: Fix fold marker multibyte comparison (#20439)
folds: Use long for number of folded lines (#21447)
folds: Cursorline highlight is not always applied on closed folds (#22242)
folds: Handle visual blockwise indent insertion correctly (#22898)
fs: Duplicate path separator #21509
health: Correct tmux rgb verification (#20868)
health: Fix tmux_esc_time comparison
health: Iterate using ipairs correctly (#22119)
health: Stop using deprecated ts.language.inspect_language() (#22850)
help: Force tree reparse after local addition insertion
helpers: Restore channel id after a call to WITH_SCRIPT_CONTEXT
highlight: Link more treesitter groups by default (#20711)
highlight: Properly deal with underline mask when listing (#22057)
highlight: Avoid ORing underline flags (#22372)
highlight: Use winhl=Foo:Bar even when Bar is empty
inspect: Alwasy resolve full treesitter lang hl groups
intro: Omit patch version in ":help news" item #20713
intro: Make :help news line easier to translate (#21974)
lintcommit: Capitalized description #22282
loader: Disable profiling by default
lsp: Reporting bogus capabilities in CodeActionKind #20678
lsp: Ignore hover and signatureHelp responses on buffer change (#21121)
lsp: Render
{lang} code blocks and set separator default to false (#21271)
lsp: Remove workspaceFolders field (#21284)
lsp: Call show_document with correct args
lsp: Ensure open_logfile is safe for fast events (#21288)
lsp: Followup fixes for semantic tokens support (#21357)
lsp: Correct some type annotations (#21365)
lsp: Fix get_active_clients bufnr parameter (#21366)
lsp: Ignore null responses for semanticTokens request (#21364)
lsp: Token_edit.data might be null on deletion (#21462)
lsp: Adjust gravity of semantic tokens extmarks (#21574)
lsp: Fix nil client access in get_active_clients (#21524)
lsp: Change vim.lsp.get_active_clients.filter name annotation to string (#21624)
lsp: Correct callHierarchy capability to fix lsp.buf.incoming_calls() (#21665)
lsp: Fix removed param value in add_workspace_folder (#21915)
lsp: Assert workspace/applyEdit receives params (#21945)
lsp: Check method is supported when range formatting (#21970)
lsp: Check if the buffer is a directory before w! it (#22289)
lsp: Wrong format of bufnr and client order in error message (#22336)
lsp: Fix some type annotations (#22397)
lsp: CallHierarchy methods also require the callHierarchyProvider (#22427)
lsp: Use buffer scheme for files not stored on disk (#22407)
lsp: Only fire LspDetach for attached buffers (#22468)
lsp: Don't monitor files if workspace_folders is nil (#22531)
lsp: Change LspTokenUpdate to use buffer instead of pattern (#22559)
lsp: Prevent lsp tests from picking up local user config (#22606)
lsp: Send didClose on buffer rename (#22623)
lsp: Use line start/end for visual line selection (#22632)
lsp: Remove_workspace_folders fails if client has no workspace_folders #22633
lsp: Vim.lsp.util.apply_text_edits cursor validation #22636
lsp: Kill buffers after renaming a directory #22618
lsp: Avoid switching buffers on lsp attach (#22689)
lsp: Jump to tag locations reliably when :ltag is used (#22750)
lsp: Add missing silent check in lsp hover handler (#22763)
lsp/window_showDocument: Correctly handle external resources #20867
lua: Properly configure luacheck and remove local vim = ... lines (#20551)
lua: Assert failure with vim.regex() error inside :silent! (#20555)
lua: On_yank error with blockwise multibyte region #20162
lua: Pesc, tbl_islist result types #20751
lua: Make vim.deepcopy work with vim.NIL
lua: Always return nil values in vim.tbl_get when no results
lua: Mark some eval functions that can run in API-fast
lua: Vim.deprecate() shows ":help deprecated" #22677
luado: Get old_line length before executing Lua code
man: Support MacOS 13
man: Handle absolute paths as :Man targets (#20624)
man: Use italics for <bs>_ (#22086)
man.lua: Set modifiable before writing page (#20914)
man.lua: Use env command (#21007)
man.lua: Open in current window if it's already a man page (#21987)
man.lua: Tests, naming
mappings: Use all buckets in second round of unmap (#21534)
mappings: Fix check for cpo-B inverted in completion
mappings: Make "<" escaping in completion match Vim
mark: Do not restore view in op-pending mode (#20889)
memline: Use long instead of linenr_T for db_line_count
memory: Fix memory alignment for dynamic allocation
messages: Reset msg_grid_scroll_discount when redrawing (#21000)
messages: Don't set cmdline_row when messages have scrolled (#21015)
mouse: Ensure no scrolling with "ver:0" in 'mousescroll' (#20861)
mouse: Statusline click registered as statuscolumn (#21748)
options: No matter what is said, 'cmdheight' is tab-local (susy baka)
options: Fix local 'sidescrolloff' doesn't work for mouse (#21162)
options: Restore exists() behavior for options (#21510)
paste: Feed keys as typed in cmdline mode (#20959)
path: Don't remove trailing slash when getting absolute path (#20853)
powershell: Wrong length allocation for ":%w !" #20530
qflist: Avoid read of uninitialized memory (#20709)
rbuffer: Handle edge case where write_ptr has wrapped around
redraw: Get the line again after evaluating something
remote: Don't leak memory on failure to connect to server (#21931)
rpc: Don't free args on error in rpc_send_event
rpc: Don't parse msgpack if buflen is 0 (#21899)
rpc: Ignore redraw events when not in UI client (#21892)
rpc: Ignore redraw events when exiting (#22184)
runtime: Properly rely on t_Co for colorschemes (#20602)
runtime: Use g:terminal_color_{0-15} in colorschemes (#20637)
screen: Correctly draw background and eob with 'rightleft' (#22640)
screen: Redraw the ruler for a current floating window
secure: Crash when hitting escape in prompt (#21283)
shell: On Windows :make does not echo #22728
showcmd: Assert failure with cmdheight=0 (#21536)
sleep: Correct cursor placement (#22639)
spell: Fix wrong cast (#20810)
spell: Properly source spell/LANG.{vim,lua} (#22716)
startup: Support .exrc or .nvimrc with init.lua (#21181)
status: Handle unprintable chars in the statusline
statuscolumn: Fix crashes and clang/PVS warnings (#21725)
statuscolumn: Fix sign column highlights (#21727)
statuscolumn: Foldcolumn buffer is too small (#21761)
statuscolumn: Make %l/%r respect 'number'/'relativenumber' (#21747)
statuscolumn: Always fill click defs array (#21878)
statusline: Don't show showcmd when not enough space (#21550)
statusline: Make nvim_eval_statusline() work with %S (#21553)
statusline: Don't leak memory with zero-width click labels
statusline: Don't leak memory with truncated click labels
stdpath: Default to /tmp if stdpath('run') cannot be created #20952
syntax: Correct conceal for annotated code blocks (#21272)
tabline: Avoid memory leak in tabline click definitions (#21847)
terminal: Fix 'mousescroll' not respected in terminal mode (#21415)
test: Unset XDG_CONFIG_HOME when running oldtest
test: Fix issues detected by running unittests in ASAN/UBSAN
test: Fix C imports on macOS arm64
tests: Only get the color map once, even for multiple test files
tests: Initialize Screen.colors in API highlight tests
tests: Use -l mode for lsp tests
tests: Fixes for using vim.mpack and more ASAN
tests: Adapt treesitter/highlight_spec priority test
treesitter: Properly restore 'syntax' (#21358)
treesitter: Really restore syntax
treesitter: Validate language name
treesitter: Fix most diagnostics
treesitter: Don't trample parsers when filetype!=lang
treesitter: Make params optional
treesitter: Fixup language invalidation (#22381)
treesitter: Remove virtual text from playground
treesitter: Ipairs -> pairs
treesitter: Fixup for health
treesitter: Maintain cursor position when toggling anonymous nodes
treesitter: Disallow empty filetypes
treesitter: Typos in _range.lua
treesitter: Break early from loop when match is found (#22499)
treesitter: Raise ts_match_limit to 256 (#22497)
treesitter: Is_in_node_range (#22582)
treesitter: Correct include_bytes arg for parse()
treesitter: Do not error on empty filetype
treesitter: Better lang handling of get_parser()
treesitter: Foldexpr (#22652)
treesitter: InspectTree does not respect 'splitright' #22692
treesitter: Annotations
treesitter: Add missing deprecate
treesitter: Update queries from nvim-treesitter
treesitter: Use capture metadata range if exists
treesitter: Disable folding in inspect_tree() (#22885)
treesitter: Do not track ranges of the root tree (#22912)
ts: Check buffer is loaded when restoring options (#21419)
tui: Resume main thread if suspending isn't implemented (#20523)
tui: Set cursor color param as string when required #21407
tui: More work in the TUI
tui: Do not set ui_client_termname if it is already set (#21607)
tui: Make a copy of data->params before unibi_format() (#21643)
tui: Do not invoke loop recursively for pad()
tui: Set stdin as "blocking" on exit (#21973)
tui: Detach/attach on suspend/resume (#22040)
tui: Exit on input eof
tui: Set taskbar, icon in Windows #22270
tui: Only forward stdin_fd on first attach (#22293)
tui: Properly check if stdin is a tty (#22321)
tui: Avoid stack-use-after-scope with cursor color (#22435)
tutor: Failing to get buf name #20933
ui: Msg_ext_set_kind for nvim_echo (#20476)
ui: Setting 'cmdheight' with global statusline (#20515)
ui: Send grid_resize events before triggering VimResized (#20760)
ui: Fix some cases of stale highlight definitions
ui: Allow resize commands to set 'cmdheight' to 0
ui: Fix fragile UI_CALL macro invocation (#21656)
ui: Convert title_pos string in nvim_win_get_config
ui: Set stc to empty in floatwin with minimal style (#21720)
ui: Command line issues with external messages (#21709)
ui: Re-organize tty fd handling and fix issues
ui: Make sure screen is valid after resizing
ui: Recording change doesn't trigger statusline redraw
ui: Ruler is not redrawn in cmdline with redrawstatus
ui-ext: Correct message kind in history before vim.ui_attach()
ui-ext: Log and clear error in ui_comp_event (#21147)
ui-ext: Force cursor update after resize in char-based UI
unittest: Delete unused duplicated code
unittests: Do not consider process crash to be a success
unittests: Fix TUI broken test previously ignored
vim-patches: Ensure libfuse is installed
vim.diff: Correctly apply hunk offsets with linematch (#20931)
vim.diff: Fix fastforward off-by-1 (#20937)
vim.ui.input: Return empty string when inputs nothing (#20883)
vim.version: Incorrect version.cmp()
vim.version: Prerelease compare
win_close: Remove float grid after closing buffer (#21551)
win_update: Don't use unintialized memory in edge case (#22266)
windows: Set console icon later in startup
windows: Consistent normalization in fs.find
Build System
Remove unused variable CMAKE_C_COMPILER_ARG1
Remove code for cross-compilation
Remove url for 32-bit winyank
Remove unnecessary translation-related code
Rely on builtin cmake downloading rather than custom script
Define EP_PREFIX property
Only generate compilation database for the nvim target (#20449)
Remove EXITFREE for debug builds
Generate compilation database for older cmake versions
Add clang-tidy configuration file (#15601)
Fix incorrect clang-tidy identifier rules (#20650)
Rely on default cmake installation if possible
Give example on complex regexes
Preprocess vim patches with uncrustify #20786
Copy each treesitter parser library individually #20797
Fix plural messages missing from .po files (#20830)
Make update-po support optwin.vim (#20840)
Remove python linting #20851
Add EXCLUDE option to add_glob_target
Always ignore user's cmake preset (#20935)
Allow IWYU to fix includes for all .c files
Restrict git describe to top level source directory (#20993)
Fix help tags generation when SHELL=fish (#21562)
Add git sha to version when built with nix flake (#21210)
Remove workaround for old luajit versions
Remove workaround for ancient clang versions
Use modern cmake (#21589)
Include our libraries before system libraries (#21746)
Enable iwyu with target properties instead of variables (#21797)
Exclude tui/terminfo_defs.h from lintc-clint (#21822)
Enable cmake workflow presets (#21860)
Remove nvim as a dependency of unittests (#21903)
Various cmake fixes (#21902)
Bump MSVC warning to level two (#21890)
Use CMAKE_POSITION_INDEPENDENT_CODE instead of -fPIC (#21947)
Make generated source files reproducible #21586
Remove unnecessary unit test code (#21940)
Use cmake for all platforms for unibilium and libtermkey (#21926)
Simplify treesitter installation (#21969)
Use upstream CMakeLists.txt for unibilium (#21976)
Delete pthreads import (#21732)
Remove GNU make check (#21977)
Remove tests for libtermkey (#21983)
Use cmake to build treesitter on all platforms (#21984)
Introduce default build variables (#21991)
Use cmake to build libvterm on all platform (#21986)
Check if libvterm version meets requirement (#22010)
Find unibilium without relying on libfindmacros (#22015)
Fix dependencies in find modules (#22017)
Enable ccache by default if available (#22020)
Enable ccache project-wide (#22045)
Add uninstall make target (#22059)
Remove unnecessary file generation (#22099)
Update release data
Stop relying on CMAKE_BUILD_TYPE to determine the build type (#22051)
Unbreak building neovim with multi-config generators (#22104)
Don't build libnvim when running the CI (#22149)
Remove duplicate INTERFACE keyword (#22106)
Prefer -D = over -D= (#22164)
Replace check-single-includes with clang-tidy (#22061)
Remove unused function get_test_target (#22176)
Reuse source files with interface library (#22177)
Create test/CMakeLists.txt and move test-related code (#22179)
Remove codecov related files (#20859)
Mark uninteresting variables as advanced (#22208)
Enable MSVC level 3 warnings (#21934)
Don't check environment variable to detect CI (#22234)
Treat clang-tidy warnings as errors (#22238)
Remove ENABLE_COMPILER_SUGGESTIONS option (#22249)
Only use HOSTNAME_PRG if HOSTNAME is undefined (#22288)
Use custom command to create single versiondef (#22290)
Use libuv config file (#22209)
Test multi-config generator (#22310)
Build all dependencies in parallel (#22329)
Remove unused dependency penlight (#22334)
Build luajit in parallel (#22327)
Set libtermkey project language to C (#22410)
Remove pkgconfig-related code (#22422)
Remove libfindmacros library (#22423)
Cmake cleanup (#22251)
Unset variables ending with "URL" if USE_EXISTING_SRC_DIR is ON
Show build type specific compiler flags when using --version
Fix unknown pragma warning with mingw (#22533)
Consistently use the provided option paths
Fix USE_EXISTING_SRC_DIR option
Silence git describe error output
Remove workaround for incorrectly packaged libluv
Enable unit testing on release builds (#22554)
Fix build warning when using gcc 4.9.2
Explicitly add dependency include dir for header generation
Sanitizers for gcc
Set CMAKE_C_STANDARD to 99 for all dependencies
Drop curl.exe on Windows
Download wintools executables separately
Cmake cleanup
MSVC: Enable assertions on RelWithDebInfo build type (#22326)
Windows: Fix redoing version generation (#21880)
Windows: Make bundling nvim-qt optional (#21866)
Windows: Allow building without custom md5sum
bump_deps.lua: Run command -v in shell (#22030)
ci: Let ASAN print tracebacks for more errors (SIGABORT, SIGILL)
cmake: Add modelines to enable syntax highlighting
deps: Restore support for USE_EXISTING_SRC_DIR (#20491)
deps: Add build type for libuv (#20575)
deps: Disable shared library for libvterm. (#20566)
deps: Bump tree-sitter to v0.20.8 (#22663)
deps: Bump luarocks to v3.9.2
deps: Bump coxpcall to 1.17.0-1
deps: Bump luacheck to 1.1.0-1
deps: Bump mpack to 1.0.10
deps: Bump lua parser to v0.0.14 (#20897)
deps: Switch vim parser to maintained fork (#22896)
deps: Bump vimdoc parser to v2.0.0 (#22870)
deps: Set query parser to release (#22603)
deps: Bump libvterm to v0.3.1
deps: Bump msgpack-c to v6.0.0 (#22522)
deps: Bump win32yank to v0.1.1 (#22700)
deps: Bump actions/stale from 7 to 8
deps: Switch to Launchpad for libvterm and libtermkey (#22811)
editorconfig: Set indent_size to 4 for python files (#21135)
lint: Remove clint.py rules for braces #20880
lint: Add more shell scripts to lintsh
lintsh: Double quote to prevent word splitting (#21571)
luarocks: Update busted version to v2.1.1 (#22029)
nix: Change the pkgs to final, add new version of libvterm (#20410)
nix: Update nixpkgs
nix: Clean up nix flake (#21565)
nix: Remove pylint as it has been removed (#21572)
nix: Fixed build (#22918)
vim-patch.sh: Handle added/removed files properly
vim-patch.sh: Checkout files with path for uncrustify (#20863)
windows: Export extern symbols for use in FFI #22756
windows: Specify Windows 8 as the minimum version (#22173)
windows: Work around luarocks not finding its own md5sum
Documentation
Refer to vim.lsp.start() in LSP issue template #20422
Fix incorrect :help tag (#20511)
Added proper annotations to functions in shared.lua
Fix typos
Fix/remove invalid URLs #20647
"supported platforms" matrix #19615
Update vimdoc parser #20747
":che" is ":checkhealth" #20147
.git-blame-ignore-revs (#20820)
Swap CursorLineFold and CursorLineSign (#20875)
Add language annotation to Nvim manual
Add missing docs from some Vim patches (#21296)
Dark/light color/accessibilty pass for generated html docs #21345
Add links to extmarks and namespaces (#21378)
Remove "How-to disable mouse" menu item #21394
Add security policy (#17338)
Fix order of numbers in syntax.txt (#21581)
Clarify line about converse of lua-heredoc (#21592)
Fix treesitter parsing errors
Add 'statuscolumn' docstrings (#21717)
Builtin TUI is no longer channel 0 (#21794)
Treesitter.add_directive, add_predicate #21206
Docs: use codeblocks in runtime/doc/options.txt (#21919)
Clarify :runtime behavior without [where] again (#22003)
Clarify "pipe" mode for sockconnect
Reword news.txt to ensure a consistent style (#22215)
Remove mentions of 'balloonexpr' #22049
Remove the test badge from the README (#22350)
Mention getmousepos() for click execute function label
Naming conventions, guidelines
Fix more treesitter parsing errors
Use build/bin/nvim instead of nvim in gen_vimdoc (#22398)
Fix vim.treesitter tags
Lua2dox.lua debugging
Module-level docstrings (@defgroup) #22498
Add missing highlight groups for floats
Add removed features in news.txt
Fix g:terminal_color_x terminal colors #22746
More details about vim.region (#21116)
How to debug TUI using gdb/lldb #22771
Add vim.treesitter.query.get_query() to deprecated.txt
README: Add Kotlin as a language which can use the API (#21567)
README: Fix CI status badge (#22308)
api: Pattern is not expanded for autocommands (#20812)
api: Fix treesitter parsing errors
api: Tweak data arg for nvim_create_autocmd (#22008)
api: Link to nvim_set_hl_ns from nvim_set_hl (#22678)
dev-style: Remove rule about variable declarations (#20446)
dev-style: Remove rules covered by uncrustify
diagnostic: Number → integer (#22512)
docstrings: Fix runtime type annotations
editorconfig: Update news.txt
editorconfig: Add editorconfig.txt
editorconfig: Number → integer (#22514)
filetype: Number → integer (#22516)
gen: Support language annotation in docstrings
gitignore: Correct oldtest path
help: Consistent headers for local additions
highlight: Fix type annotations (#22272)
html: Render @see items as a list #22675
inspect: Number → integer (#22511)
lsp: Add formatting APIs to deprecated.txt (#20487)
lsp: Update buf_notify and rpc.notify params types (#21753)
lsp: Fix type annotation on convert_input_to_markdown_lines (#21772)
lsp: Format arguments to start_client() (#21980)
lsp: Update cmd_env description (#22438)
lsp: Change type annotations from number → integer (#22510)
lsp: Type annotation for lsp.client (#22509)
lsp: More precise type annotations (#22621)
lsp: Opt-out of default LSP "gq" #22615
lua: Add clarifications for fs.find() and fs.normalize() (#21132)
lua: Correct the tags for vim.opt_local and vim.opt_global (#21138)
lua: Correct vim.spell.check example (#21311)
lua: Add guide to using Lua in Neovim (#21137)
lua: Add vim.json (#21538)
lua: Fix treesitter parsing errors
lua: Adjust some type annotations
lua: Lua-guide: is for rhs of vim.keymap.set(), not lhs (#21814)
lua: Use luaref tag instead of www.lua.org #21813
lua: Number → integer (#22517)
luvref: Fix treesitter parsing errors
luvref: Update to version bump
maintain: CI strategy #20778
maintain: Add note on updating luvref.txt
manual: Fix treesitter parsing errors
news: Add news.txt and link from README (#20426)
options: Remove mentions of 'imactivatefunc' and 'imstatusfunc'
shell: Mention "&" for piping with powershell #20459
support: Update tested versions (#21126)
test: Using cmake directly (without make) #22781
treesitter: Fix predicate syntax (#21016)
treesitter: Change links for eq? and set! to codeblocks (#21047)
treesitter: Use full function names in tags (#21321)
treesitter: Fix parse errors
treesitter: Number → integer (#22513)
treesitter: Add query injections
tutor: Fix TODO line demo (#21965)
uri: Number → integer (#22515)
usr: Make usr_05.txt more coherent with Nvim changes (#22428)
usr_05: Update sentence about Nvim default behavior of Q (#20817)
vim.fs: Normalize Windows example was incorrect (#21966)
website: Soft wrap code blocks #21644
Refactor
Remove char_u type and replace with char, uint8_t, etc
remove STRNCMP (#21208) and STRLCPY (#21235)
Remove clint error suppression as all errors has been fixed #21782
Explicitly convert HANDLE to intptr_t for _open_osfhandle()
Clang-tidy fixes to silence clangd warning (#20683)
Fix uncrustify lint errors
Move do_mouse() and its helpers to mouse.c (#20895)
Fix clang-tidy warnings
Click definition functions #20923
Remove stray emsg check after #20992 (#20996)
Move tabline code to statusline.c (#21008)
Convert drawline.c draw states to enum (#21067)
Remove STDC_ISO_10646 check
Deprecate 'secure' option
Remove old TODO comments that aren't relevant anymore (#21144)
Maybe suppress a PVS warning
Rework parameter validation in vim.secure.trust() (#21223)
Buffer_ensure_loaded()
Move ex_retab() to indent.c
Remove COMMA (#21260)
Make sure getting a callback doesn't modify argument
Rename mch_msg => os_msg
Rename mch_get_acl => os_get_acl
Eliminate os_unix.c #21621
Extract code to open stdin for reading
Eliminate bump-deps.sh using "nvim -l"
Fix IWYU mapping file and use IWYU (#21802)
Format with stylua (#21821)
Remove E5500, adjust tests
Fix sign conversion warning from gcc (#21833)
Use uint8_t for blobs and ga_append() (#21916)
Use flexible arrays instead of the length-of-one trick (#22072)
Reduce scope of locals as per the style guide (#22206)
Move init_default_autocmds to lua
Rename show_tree => inspect_tree #22474
Move ga_loaded to runtime.c (#22626)
Do more in TRY_WRAP
Add const and remove unnecessary casts (#22841)
Use bool type for global variables (#22842)
Rename local API alias from a to api
Make error message definitions const
Remove use of reserved c++ keywords
PVS: Suppress false positive V547 in drawline.c (#21875)
PVS/V1048: Remove unnecessary assignment (#21870)
PVS/V1048: Remove redundant assignment (#21871)
PVS/V1048: Remove duplicated assignments (#21873)
PVS/V581: Merge identical if statements (#22390)
api: Do not allocate temporaries for internal events
api: VALIDATE macros #22187 #22256 #22262
build: Remove unused stdlib function and include checks
build: Graduate HAVE_LOCALE_H feature
build: Graduate libtreesitter features which are 1+ years old
build: Graduate msgpack-c FLOAT32 "feature" since forever
build: Graduate unibilium VAR_FROM feature from 2017
build: Graduate -Wvla, -fno-common and -Og "features"
build: Make installation of runtime/ more effective
checkhealth: Convert "nvim" check to Lua
clint: Convert short to int16_t (#20815)
column: Remove unused build_statuscol_str() arguments
completion: Don't add and remove '^' for Lua (#22702)
diagnostic: Remove deprecated function (#20423)
diagnostic: DRY for loop #21521
diff.c: Reduce scope of variables (#20781)
diff.c: Break up ex_diffgetput()
diff.c: Allocate hunks directly in ga_array
diff.c: Factor out hunk extraction
diff.c: Factor out hunk processing
diff.c: Simplify diff_buf_idx()
diff.c: Internal does not need diffstyle
diff.c: Factor out diffblock deletion
diff.c: Copy lines via memmove
drawline.c: Leadcol/trailcol
drawline.c: Move number column helpers function together
drawscreen.c: Reduce scopes of locals (#20668)
eval: Make get_lval() explicitly check for v:lua
eval.c: Factor out get_number_tv() (#21893)
exit: Pass error message to preserve_exit() (#22097)
extmarks: Some minor internal API changes
f_has: Remove wrong comment (#21561)
fileio.c: Reduce scope of locals
fileio.c: Refactor match_file_path()
fileio.c: Refactor vim_rename()
fileio.c: Refactor buf_write_bytes
fileio.c: Refactor buf_write_bytes (2)
fileio.c: Remove HAS_BW_FLAGS
fileio.c: Factor out autocmd handling from buf_write()
fileio.c: More bools
fileio.c: Reduce scope of locals
fileio.c: Do not use macros for error handling
fileio.c: Factor out buf_write post autocmds
fileio.c: Factor out file info calc
fileio.c: Make unreadable expression readable
fileio.c: Factor out backup creation
fileio.c: Remove HAVE_ACL ifdefs
fileio.c: Normalize ifdefs
fs: Replace vim.fn/vim.env in vim.fs (#20379)
highlight: Rename FloatBorderTitle #20988
highlight: Reshape the HL_UNDER* bits into a 3-bit integer mask
highlight_group.c: Reduce scope of locals
intro: Avoid Coverity warning (#22000)
loader: Use vim.fs
loader: Remove BufWritePost autocmd
loader: Add typing for package.loaders
loader: Simplify tracking logic
loader: Cache hash information
log: Reduce compile time LOG_LEVEL granularity
lsp: Remove deprecated lsp functions (#20421)
lsp: Extract a _create_server method in lsp_spec
lsp: Remove deprecated vim.lsp.buf_get_clients calls (#21337)
lsp: Remove workaround for missing bit module (#22373)
lsp: Remove deprecated code (#22389)
lsp: Remove _resolve_capabilities_compat (#22628)
lsp: Do not parse verbose output when overwriting options (#22810)
lua: Move _G.arg init to nlua_init()
lua: Get all marks instead of iterating over namespaces
lua2dox: Format with stylua
main.c: Remove unreachable use_builtin_ui conditions (#22338)
man: Pass env directly to spawn() (#20591)
man: Add type annotations
memory: Simplify new alignment logic
option.c: Reduce scope of locals
option.c: Add get_varp_from and get_varp_scope_from
option.c: De-nest set_option_value
option.c: Use intermediate for options ref
option.c: Add do_set_num
option.c: Add do_set_bool
option.c: Simplify do_set_string
option.c: Factor out common skip check
option.c: Factor out loop code from do_set()
option.c: Remove goto
option.c: Change nextchar to uint8_t
option.c: Use skiptowhite_esc
option.c: Factor out set op parsing
option.c: Factor out option prefix parsing
option.c: Factor out option name parsing
option.c: Factor out opt_idx validation
option.c: De-nest code in do_set_option
option.c: Move bool prefix check
option.c: Add do_set_option_value
option.c: Factor out some nextchar checks
option.c: Factor out string option special case handling
options: Don't pass negative number to illegal_char() (#21999)
optionstr.c: Reduce scope of locals
optionstr.c: Break up did_set_string_option 1-52
optionstr.c: Remove some simple did_set_* functions
optionstr.c: Add did_set_string_option_for
optionstr.c: Break up did_option_listflags
optionstr.c: Remove some redundant parens
optionstr.c: Break up did_set_expropt
optionstr.c: Move handling of formatlistpat
optionstr.c: Align comments (#22070)
params: Open -s and -w script files after parsing commands
pty: Remove old logic for inheriting termios from host terminal
redraw: No type argument in update_screen()
redraw: Various simplifications
redraw: Make cursor position redraw use the "redraw later" pattern
runtime: Use vim.version to compare versions #22550
runtime.c: Factor out find_script_by_name() (#22620)
screen: Screen.c delenda est
sleep: Simplify rube goldberg implementation of :sleep
spell: Use uint8_t for "byts" variables (#22519)
statusline: Move statusline defs to statusline_defs.h
tag: Remove return type from do_tag()
test: Create an lsp-specific helpers.lua file
tests: Lift retry() into assert_log()
tests: Run unittests using main nvim binary in interpreter mode
tests: Move lua-client into core and use it for functionaltests
treesitter: Add vim.treesitter.get_node() (#22360)
treesitter: Use string.format to create lines
treesitter: Simplify some range functions
treesitter: Delegate region calculation to treesitter (#22553)
treesitter: Use byte ranges from treesitter (#22589)
treesitter: Add Range type aliase for Range4|Range6
treesitter: Delegate region calculation to treesitter (#22576)
treesitter: Move inspect_tree impl
tui: Use nvim_echo() for verbose terminfo
tui/input.c: Remove unused multithreading code (#22342)
ui: Statusbar invalidation to win_set_inner_size()
ui: Devirtualize the ui layer
ui: Cleanup 'redrawdebug', introduce "flush" mode
ui: Don't reimplement redrawing in focus gained handling
ui: Remove some superfluous ui_flush() calls
ui: Ui_log() can now just be a function
uncrustify: Move macros definitions to enable formatting
uncrustify: Improved formatting rules
vim.gsplit: Remove "keepsep"
vim.version: Cleanup
vim.version: Use lazy.nvim semver module
vim.version: Use lazy.nvim semver module
win_close: Remove "force", don't pass on "free_buf" (#21921)
win_line: Rename attr to vi_attr (#21487)
win_line: Move some variables into a struct (#22490)
window: Remove aucmd_win check from one_window() (#21972)
window.c: Reduce scope of locals (#20301)
windows: Move os_icon_xx functions
Testing
Introduce skip() #21010
Remove skip for 32-bit MSVC (#21030)
Don't skip parser_spec on windows (#20294)
Add a Lua test for swap file created before boot
Fix failing tui_spec.lua tests (#21117)
Use isCI to simplify CI detection (#21134)
Simplify platform detection (#21020)
Adding/removing winbar should not cause win_pos events (#21226)
Use luv.os_uname for fast platform detection (#21157)
Add more tests for float window bufpos (#21318)
Convert another test in test_matchadd_conceal.vim to Lua (#21353)
Remove unused variable (#21552)
Add test cases for command line issues
Add more tests for Unicode
Avoid consecutive mouse input at different positions (#21781)
Align Test_shell_options, Test_shellslash with Nvim default
Avoid noise in NVIM_LOG_FILE
Exepath() returns correct path with cmd.exe, powershell #21928
Remove unused field ext_float (#22243)
Make expect_unchanged() less confusing (#22255)
Make {MATCH:} behave less unexpectedly in screen:expect()
Don't search entire repo for files
Move oldtests to test directory (#22536)
Use a wider screen in the rightleft winhl test (#22641)
Unskip working Windows tests (#22537)
Re-bundle cat on windows (#21255)
Windows not detected in msys shells #22671
Use exec_capture() in more places (#22787)
Fix flaky watchfiles tests (#22637)
Replace lfs with luv and vim.fs
Improve editor/fold_spec.lua and editor/put_spec.lua (#22916)
Windows: Normalize paths for test summary
api: Migrate screenchar() test in in window API to screen test
editorconfig: Add editorconfig tests
exit_spec: Make sure that autocommands are triggered (#22188)
fileio_spec: Avoid expect_exit() without calling clear() (#21810)
float_spec: Add missing sum_scroll_delta #22648
help: Drop treesitter parse error to 0
highlight_spec: Fix warning in Visual highlight test (#22719)
legacy/prompt_buffer_spec: Align script with oldtest more (#22354)
lsp: Call clear() before willSave tests (#21336)
lsp: Add a screen:expect() between insert() and feed_command() (#21577)
lua/diagnostic_spec: Remove unnecessary after_each()
lua/fs_spec: Fix vim.fs.dir() test (#21503)
lua/ui_spec: Fix Ctrl-C test flakiness (#21039)
old: Test_lambda.vim garbagecollect() -> test_garbagecollect_now()
old: Remove stray test42 files (#20966)
old: Make Test_help_tagjump() test order match upstream
old: Add missing lines from Vim patch 8.2.0522 (#21048)
old: Make ":h local-additions" work properly in test_help.vim
old: Skip Vim9 script with less divergence
old: Change $TMPDIR from Xtest-tmpdir to X-test-tmpdir (#21346)
old: Make test_signs.vim closer to upstream (#21479)
old: Run some part of 'cpoptions' tests
old: Make getting an unused PID work (#22529)
old: Move memfile_test.c to test/old/ (#22567)
old: Unskip working tests on Windows (#22650)
shada: Fix shada syntax definitions test
statuscolumn: Add more tests for wrapped lines (#21718)
statuscolumn: %l should follow default wrap behavior (#21766)
statuscolumn_spec: Remove unnecessary feed('lh')
statusline: UI elements are not redrawn on K_EVENT unnecessarily
syn_attr_spec: Add more information (#21912)
termxx_spec: Fix TermClose bdelete test flakiness (#22463)
treesitter/parser_spec: Correct time unit (#22471)
tui_spec: Don't use nested terminal for resize at startup (#21583)
tui_spec: Avoid race between nvim_paste and nvim_input (#21639)
tui_spec: Improve cursor_address test (#21700)
tui_spec: Doesn't use Unicode in cursor_address test (#21703)
tui_spec: Make rapid resize test test what it wants to test (#21933)
tui_spec: Don't expect exact screen in rapid resize test (#21935)
tui_spec: Remove unnecessary arguments for remote UI
tui_spec: Use RPC request to setup autocommands
ui: Wait for another success with failure after success
undo_spec: Add more tests for writing in Insert mode
unit: Use file:close() properly (#21505)
vim.fs.normalize: Enable test on Windows
|
Log message:
editors/neovim: update to version 0.8.1
Changelog (taken from https://github.com/neovim/neovim/releases):
0.8.1
Features
extmarks: Allow preventing spellchecking with spell = false
spell: Support nospell in treesitter queries
man: Add health check
docs-html: Try to use tags for ToC headings
Bug Fixes
ui: Setting 'cmdheight' with global statusline
ui: Fix highlights not being updated with 'winhl'
Make_filter_cmd for :! powershell
:! pwsh redirection for command not found
Find multibyte file name in line
Avoid unsigned overflow in home_replace()
docs-html: Update parser
folds: Fix fold marker multibyte comparison
health: Correct tmux rgb verification
man.lua: Set modifiable before writing page
mouse: Ensure no scrolling with "ver:0" in 'mousescroll'
paste: Feed keys as typed in cmdline mode
qflist: Avoid read of uninitialized memory
spell: Fix wrong cast
stdpath: Default to /tmp if stdpath('run') cannot be created
tui: Resume main thread if suspending isn't implemented
Documentation
lsp: Vim.lsp.range_code_action() is not deprecated
0.8.0
Breaking changes
Remove 'insertmode' 'remap' and 'terse' options
highlight: Rename attributes to match Vim (#19159)
highlight: Error on invalid names and allow '.' and '@'
terminal: Drop winpty, require Windows 10 (version 1809 or later) #18253
treesitter: Use @foo.bar style highlight groups
treesitter: Do not merge queries by default (#20105)
Features
runtime: Enable filetype.lua by default (#19216)
Add undo!
Add "prerelease" to version dict
Click support for 'statusline', 'winbar' #18650
Add preview functionality to user commands
allow Cmdheight=0 (EXPERIMENTAL) #16251
Stdpath('run'), /tmp/nvim.user/ #18993
Add 'mousescroll' option (#12355)
Allow :wincmd to accept a count (#19815)
Multibuffer preview support for inccommand
Man: Port to Lua (#19912)
api: Ui options relevant for remote TUI
api: Add nvim_parse_cmd And nvim_cmd
api: Support handling stdin stream in remote ui
api: Add group_name to nvim_get_autocmds
api: Enable nvim_exec_autocmds to pass arbitrary data (#18613)
api: Support pattern array for exec_autocmds
api: Add unsilent to command APIs
api: Add replace_keycodes to nvim_set_keymap (#19598)
api: Add support for :horizontal modifier
api: Add "move" to nvim_input_mouse
api/ui: "ui_watched" option for ui-side extmarks
build: Add_glob_target runs only on changed files #19070
checkhealth: Check for slow shell #17829
defaults: Session data in $XDG_STATE_HOME #15583
defaults: Search selection by * and # in visual mode (#18538)
defaults: Nnoremap & :&& #19365
defaults: enable mouse by default (set mouse=nvi) #19290
diagnostic: Pass diagnostics as data to DiagnosticChanged autocmd (#20173)
docs: Gen_help_html.lua
edit: Insert an unsimplified key using CTRL-SHIFT-V
treesitter: Full support for spelling
filetype: Convert more patterns to filetype.lua
filetype: Remove side effects from vim.filetype.match (#18894)
filetype: Expand environment variables in filetype patterns (#20145)
fs: Add vim.fs functions: parents() dirname() basename() dir() find() normalize()
highlight: Implement CurSearch highlight
highlight: Support scoped @spam.eggs.baked_beans groups
input: Delay all simplifications
l10n: Turkish translations #19441
l10n: Improve zh_CN translations (#19483)
lsp: Remove capabilities sanitization (#17814)
lsp: Show feedback on empty hover response (#18308)
lsp: Options to filter and auto-apply code actions (#18221)
lsp: Add vim.lsp.buf.format (#18193)
lsp: Add logging level "OFF" (#18379)
lsp: Add LspAttach and LspDetach autocommands
lsp: Add filter to vim.lsp.get_active_clients()
lsp: Option to reuse_win for jump actions (#18577)
lsp: Add a start function (#18631)
lsp: Send didChangeConfiguration after init (#18847)
lsp: Defaults: tagfunc, omnifunc, formatexpr (#19003, #19677)
lsp: Allow passing custom list handler to LSP functions that return lists \
(#19213)
lsp: Provide feedback if server can't compute rename result (#19546)
lsp: Add range option to code_action; deprecate range_code_action (#19551)
lsp: Disable exit_timeout by default (#19672)
lsp: Add tcp support
lua: Vim.deprecate() #18320
lua: Vim.cmd() with kwargs acts like nvim_cmd() #18523
lua: Allow some vim script functions to run in fast callbacks
lua: Measure require in --startuptime
lua: Allow vim.cmd to be indexed (#19238)
lua: Print source locations of lua callbacks (#19597)
lua: Add vim.iconv (#18286)
lua: Vim.ui_attach to get ui events from lua (EXPERIMENTAL)
man.vim: List command flags in "gO" outline #17558
mappings: Do not replace existing mapping for simplified form
mappings: Allow special keys and modifiers in mapping
mapset: Support restoring "replace_keycodes" and "desc"
mapset: Support restoring Lua callback (#20024)
marks: Restore viewport on jump #15831
nvim_create_user_command: Pass structured modifiers to commands
pum: Pretend 'mousemoveevent' is set when showing right-click menu
server: Set $NVIM, unset $NVIM_LISTEN_ADDRESS #11009
server: Instance "name", store pipes in stdpath(state)
term: Add support for libvterm >= 0.2
terminal: Implement <c-> for terminal mode
terminal: Recognize underdouble and undercurl
terminfo: Bump built-in terminfo entries (#18570)
treesitter: Allow customizing language symbol name
treesitter: Add ability to retreive a tree/node given a range
treesitter: Upstream node methods from nvim-treesitter
treesitter: Include language in invalid query error (#14053)
treesitter: Bundle Lua parser and queries
treesitter: Add viml parser and queries
treesitter: Add injections
treesitter: Add vim.treesitter.start(), enable for Lua
treesitter: Bundle :help parser and queries
tui: Query terminal for CSI u support (#18181)
tui: Recognize keypad keys when using kitty keyboard protocol
tui: Try terminfo for [re]set_cursor_color OSC #19255
tui: Allow grid and host to disagree on ambiguous-width chars (#19686)
tui: Recognize sidescroll events (#19992)
tui: Support 'mousemoveevent'
ui: Add 'winbar'
ui: Clear message history explicitly with msg_history_clear event
ui: Make right-click menu work properly with ext_multigrid
ui: Allow to set the highlight namespace per window
ui: Use msg_grid based implementation for cmdheight=0
ui-ext: Make 'mousemoveevent' a ui_option
eval: Make Lua Funcref work as method and in substitute() (#20217)
eval: Input() support any type for "cancelreturn" in a dict (#19357)
Bug Fixes
Show autocmd output when F is in shortmess (#18251)
Has() should preserve v:shell_error #18280
Suppress "is a directory" messages with shortmess 'F' (#18296)
Display global statusline correctly with ext_messages
Correct nlua_wait error message #18867
Right-click in clickable statusline #19252
Remote UI may get invalid 'pumblend' value #19379
Assertion failure when requiring missing module in autocmd
api: Nvim_eval_statusline should validate input #18347
api: Check error after getting win/buf handle (#19052)
api: Check for inclusive buffer line index out of bounds correctly (#19056)
api: Change default value of 'pattern' in nvim_exec_autocmds (#19115)
api: Do not switch win/buf if getting option in current win/buf (#19383)
api: Make nvim_set_hl(ns=0, ...) redraw screen properly
api: Nvim_set_hl bail out on invalid group name (#20021)
api: Notify dict watchers on nvim_set_var and vim.g setter
api/command: Fargs behavior when no arguments are passed (#19862)
autocmds: Separate command from desc (#18617)
buffer: Disable buffer-updates before removing from window #18933
build: Missing definitions for sizeof macros #16393
build: Only pass -municode if MINGW #19049
build: Strip trailing newline from variable (#19084)
build: Don't disable byte precompilation on debug builds
build: Fails if git is missing #19366
charclass: Make behavior with empty str match latest Vim (#19749)
checkhealth: Skip vim.health #18816
ci: Remove 2000ms blocking wait in many plugin/lsp_spec.lua tests
cmd: Make :-tabmove work with modifiers (#18447)
cmdheight=0: Various issues part3 #19816
cmdline: Fix passing -1 as char
cmdline: Trigger CmdlineEnter and ModeChanged earlier (#19474)
cmdline: Do not trigger completion at wrong time (#19920)
cmdline: Don't send invalid cursor with incsearch and cmdheight=0
column: Move sign sentinel after inserting/de...
|