Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork6.4k
Commitd367ed9
committed
NVIM v0.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#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 & :&&<CR>#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 <Cmd> 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-\><c-o> 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/deleting lines (#20400)- completion: Remove wrong FUNC_ATTR_NONNULL_ALL (#19627)- diagnostic: Use nvim_exec_autocmds to trigger DiagnosticChanged (#18188)- diagnostic: Check for negative column value (#18868)- diagnostic: Remove buf from cache on `BufWipeout` (#20099)- diagnostic: Populate data key in DiagnosticChanged autocmd in reset (#20207)- docs: Correct obsolete note about 'writedelay' in dev docs- docs: Remove internal function from docs- edit.c: Indentkeys double indent after "!"#12894- eval: Check for v:lua when calling callback (#19855)- eval/f_getmatches: Return empty list for invalid win argument (#18893)- events: Make CursorHold behave as documented- ex_cmds: Correct flags for :const (#19387)- exceptions: Restore `did_throw` (#20000)- exmode: Do not throttle messages when pressing enter to print line- extmarks: Make virt_lines always start at 0 virtcol- filetype: Fix and improve filetype patterns- fillchars: Change fallback after setcellwidths()- float: Make `screen*()` functions respect floating windows- float: Fix glitch when making float window with border a split- float: Fix mouse drag position if float window turned to a split- folds: Fix fold regression with :move (#18685)- folds: Fix fold remains when :delete makes buffer empty (#19673)- ftdetect: Source plugins in autogroup (#18237)- gen_vimdoc.py: Handle missing luajit- getchar: Flush screen before doing a blocking wait- handlers: More specific error messages (#16772)- health: Correct shada file path#18603- health: Handle non-existent log file#18610- highlight: Use ctermbg/fg instead of bg/fg when use_rgb=false#18982- highlight: Add missing 'nocombine' to nvim_get_hl apis (#19586)- highlight: Set the window namespace when redrawing statusline- hl: Set Normal hl group sg_attr value#18820- hl: Return cterm fg/bg even if they match Normal#18981- inccommand: Do not try to preview an ambiguous command (#18827)- inccommand: Avoid crash if callback changes inccommand option (#18830)- inccommand: Clear cmdpreview state if preview is not shown (#18923)- inccommand: Skip split window if not enough room#18937- inccommand: Never preview if parsing command failed (#18944)- inccommand: Parse the command to check if it is previewable- inccommand: Deal with unsynced undo (#20041)- input: Allow Ctrl-C to interrupt a recursive mapping even if mapped (#18885)- input: Fix macro recording with ALT and special key (#18917)- input: Use correct grid when restoring cursor for <expr> mapping (#19047)- input: Do no reinterpret mouse keys with ALT modifiers- input: Use click number of last click for mouse drag (#20300)- inspect: Escape identifiers that are lua keywords (#19898)- keywordprg: Default to :help if set to empty string (#19983)- l10n: Improve zh_CN and zh_TW translations (#19969)- log: Back even again- logging: Skip recursion, fix crash#18764- logging: Make logmsg() thread-safe again- logging: Try harder to resolve Nvim "name"#19016- lsp: Unify progress message handling (#18040)- lsp: Fix unnecessary buffers being added on empty diagnostics (#18275)- lsp: Fix infinite loop in resolved_capabilities deprecation message (#18333)- lsp: Add missing bufnr argument (#18382)- lsp: Fix rename capability checks and multi client support (#18441)- lsp: Detach spawned LSP server processes (#18477)- lsp: Perform client side filtering of code actions (#18392)- lsp: Only send diagnostics from current buffer in code_action() (#18639)- lsp: Respect global syntax setting in open float preview (#15225)- lsp: Include cancellable in progress message table (#18809)- lsp: Adjust offset encoding in lsp.buf.rename() (#18829)- lsp: Set buflisted before switching to buffer (#18854)- lsp: Fix multi client handling in code action (#18869)- lsp: Small bugs in snippet-parser#18998- lsp: Pcall nvim_del_augroup_by_name (#19302)- lsp: Abort pending changes after flush when debouncing (#19314)- lsp: Don't attach a client in lsp.start() if there is none (#19328)- lsp: Account for initializing servers in vim.lsp.start (#19329)- lsp: Move augroup define to if statement (#19406)- lsp: Set workspace.configuration capability (#19548)- lsp: Send didOpen if name changes on write (#19583)- lsp: Prevent unexpected position jumps (#19370)- lsp: Avoid ^M character in hover window on Windows (#19640)- lsp: Set end_col in formatexpr (#19676)- lsp: Handle multiple clients with incremental sync (#19658)- lsp: Fix some type annotations in lsp.rpc (#19714)- lsp: Avoid pipe leaks if lsp cmd isn't executable (#19717)- lsp: Handle nil client in onexit callback (#19722)- lsp: Fix nil value error in get_group (#19735)- lsp: Clean the diagnostic cache when buffer delete (#19449)- lsp: When buffer detach remove buffer from client attached buffers (#20081)- lsp: Schedule removal of client object (#20148)- lsp: Support `false` result in handlers (#20252)- lsp: Out of bounds error in lsp.util.apply_text_edits (#20137)- lsp: Use correct function name in deprecated message (#20308)- lsp: Create missing directory before creating file (#19835)- lua: Don't mutate opts parameter of vim.keymap.del (#18227)- lua: Stop pending highlight.on_yank timer, if any (#18824)- lua: Highlight.on_yank can close timer in twice#18976- lua: Clear got_int when calling vim.on_key() callback (#18979)- lua: Don't leak memory on error- lua: Double entries in :lua completion#19410- lua: Make it possible to cancel vim.wait() with Ctrl-C (#19217)- lua: Make ui_attach()/ui_detach() take effect immediately (#20037)- lua: Make vim.str_utfindex and vim.str_byteindex handle NUL bytes- lua: Free vim.ui_attach callback before lua close (#20205)- lua: Fix architecture-dependent behavior in usercmd "reg" (#20384)- mac: Use same $LANG fallback mechanism as Vim- mac: Add CoreServices to flake.nix#18358- man.vim: Q in "$MANPAGER mode" does not quit#18443- maparg: Remove double allocation (#20033)- mappings: Fix double-free when unmapping simplifiable Lua mapping- mapset: Remove existing abbreviation of same lhs (#20320)- mark: Set mark fnum from buffer (#19195)- mark: Mark without a view restores at topline#19224- mark: Fix unexpected cursor movements (#19253)- mark: Give correct error message when mark is in another buffer (#19454)- menu: Make :menu still print header when there are no menus- messages: Add color when showing nvim_echo in :messages history- messages: Do not crash on cmdheight=0 and g< redisplay- messages: Validate msg_grid before silent! message with cmdheight=0- mksession: Don't store floats in session#18635- mouse: Click on global statusline with splits (#19390)- mouse: Fix using uninitialized memory with K_MOUSEMOVE (#19480)- mpack: Make sure a `bool` always is a `bool`- normal: Fix segfault with bracket command jumping to a mark- options: Properly free string options (#19510)- options: Mark `winhighlight` as list style (#19477)- packaging: Remove excess forward slash in Wix Patch (#18121)- paste: Ignore mappings in Cmdline mode (#18114)- path: Path_is_url returns false for "foo:/"#19797- powershell: Filter ":!" commands with args#19268- pum: Make right drag in anchor grid to select work in multigrid UI (#19382)- query: Fix unnatural order for inherits in treesitter queries (#20298)- redraw: Make sure :redraw! redraws command line- redraw: Handle switching to a tabpage with larger p_ch value- redraw: Avoid unnecessary redraws and glitches with floats+messages- redraw: Make redrawdebug=nodelta handle all the cases- rpc: Break nvim_error_event feedback loop between two nvim instances- runtime/genvimvim: Omit s[ubstitute] from vimCommand#18480- screen: Restart win_update() if a decor provider changes signcols (#18768)- screen: Check for col instead of vcol when drawing fold (#19572)- session: Respect sessionoptions=terminal#19497- shared: Avoid indexing unindexable values in vim.tbl_get() (#18337)- signs: Priority of extmark signs (#19718)- source: Make changing 'shellslash' change expand() result- source: Fix expand('<sfile>') no longer works for Lua- spell: Make setting 'encoding' clear word list- spell: Correct spell move behavior without "noplainbuffer" (#20386)- startup: Nvim with --clean should not load user rplugins- substitute: Subtract number of backslashes later- tabpage: Check if ROWS_AVAIL changed for resize (#19620)- terminal: Invalid pointer comparison#18453- terminal: Do not trim whitespace that is actually in the terminal (#16423)- terminal: Scrollback delete lines immediately#18832- terminal: Coverity USE_AFTER_FREE#18978- terminal: Crash if TermClose deletes own buffer#19222- terminal: Avoid reading over the end of cell.chars (#19580)- terminal: Skip aucmd_win when checking terminal size (#19668)- terminal: Adopt altscreen test for libvterm 0.2 changes- terminfo: Disable smglr for vtpcon and conemu (#18855)- termopen: Avoid ambiguity in URI when CWD is root dir (#16988)- tests: Fix some screen.lua warnings- tests: Fix some issues with ui/inccommand_spec.lua causing slowness- tests: Unreliable parser_spec#18911- tests: Check for EOF on exit of nvim properly- tests: Missing clear()#18927- tests: Remove misleading $TEST_PATH segment#19050- tests: Remove irrelevant usage of display-=msgsep- tests: Use pending_c_parser when needed- tests: Indicate in test logs when nvim exit times out- tmpdir: Invalid tempname() if username has slashes#19323- treesitter: Create new parser if language is not the same as cached parser (#18149)- treesitter: Bump match limit up- treesitter: Offset directive associates range with capture (#18276)- treesitter: Correct region for string parser (#18794)- treesitter: New iter if folded- treesitter: Don't error when node argument of predicate is nil (#19355)- treesitter: Free memory on removing parser (#19933)- treesitter: More efficient node:root()- treesitter: Make it get_captures_at_position- treesitter: Do not link@error by default- treesitter: Don't support legacy syntax in start()- treesitter: Use the right loading order for base queries (#20117)- treesitter: Prevent endless loop on self-inheritence- treesitter: Return full metadata for get_captures_at_position (#20203)- ts: Do not clobber spelloptions (#20095)- tui: Update modifyOtherKeys reporting (#18158)- tui: Disable extended keys before exiting alternate screen (#18318)- tui: Piping nodejs to nvim breaks input handling#18932- tui: Resize at startup#17795- tui: Add fixups for hterm family#19078- tui: Handle padding requirements for visual bell (#20238)- ui: Require window-local value to show winbar on floating windows (#18773)- ui: Do not call showmode() when setting window height (#18969)- ui: Set redraw_cmdline when setting window height (#19630)- ui: Don't allow decor provider with ns_id==0- ui: Ui compositor does not correctly free event callbacks- ui: Allow redrawing statusline when msgsep is used (#20337)- ui: Redraw end of buffer if last line is modified (#20354)- unittests: Coredump when running unit tests#18663- usercmd: Also check for whitespace after escaped character (#19942)- version.c: Mark N/A vim patches#18587- vim.ui.input: Accept nil or empty "opts"#19109- window: Close floats first when closing buffer in other tab (#20284)- window: Fix equalization with cmdheight=0 (#20369)- windows: Stdpath("state") => "nvim-data"#18546- windows: Exepath, stdpath return wrong slashes#19111- winhl: Do not crash when unsetting winhl in just opened window- Make :undo! notify buffer update callbacks (#20344)- eval: Make Vim functions return inner window width and height (#19743)BUILD SYSTEM- Bump Doxyfile to minimum required version 1.9.0#18118- Bump msgpack to 4.0.0- Enable EXITFREE on Debug builds (#17783)- Add formatting targets for c and lua files (#19488)- clang-format: Align with project style#18192- clint: Remove all python2-isms with pyupgrade- clint: Remove "function size is too large" warning- clint: Remove rules for includes, whitespace, tabs#18611- cmake: Simplify and speed up the uninstall target- cmake: Simplify def_cmd_target function- cmake: Use glob_wrapper instead of file(GLOB in main CMakeLists- cmake: Fix static `libintl` test on macOS- deps: Bump LuaJIT, Luv and libuv- deps: Support universal builds on macOS- deps: Bump tree-sitter to v0.20.7 (#20067)- deps: Bump tree-sitter parsers- deps: Bump required libvterm to v0.3 (#20222)- deps: Require libtermkey version 0.22- deps: update neovim-qt, win32tools.zipPERFORMANCE- Only redraw for CurSearch when it is currently in use- highlight: Allocate permanent names in an arena for fun and cache locality- highlight: Use binary search to lookup RGB color names- map: Visit only one hash bucket instead of all, like an actual hash table- memory: Get rid of extraneous heap allocations- memory: implement arena memory allocation with a shared freelist- memory: Use an arena for RPC decoding and some API return values- messages: Don't call ui_flush() per message line in various places- treesitter: Use a reuse list for query cursors- ui: Reduce allocations when encoding and decoding "redraw" events- ui: Avoid ui_flush() work in headless modeREFACTOR- checkhealth: Rename to vim.health, move logic to Lua#18720- Add pure attribute to pure functions- Replace char_u variables and functions with char- Enable -Wconversion warning for all Nvim source files- Add warnings for deprecated functions (#18662)- Change type of linenr_T from long to int32_t- Use nvim_get/set_option_value for vim.{b,w}o- Remove functions marked for deprecation in 0.8 (#19299)- Rename function prefix mb to the more accurate utf_cp (#19590)- Remove some unused includes- Change remaining sourcing_name/sourcing_lnum to exestack- Change FALSE/TRUE to false/true- api: Use a hashy hash for looking up api method and event names- api: Use a unpacker based on libmpack instead of msgpack-c- api: restructure api/vim.c and api/private/helpers.c code in separate files- api: Remove redundant fields of CmdParseInfo- aucmd: Call define_autocmd() directly for default autocmds- ci: Cleanup release.yml#19132- cmd: Format do_one_cmd()- cmd: Hoist out some code into functions- cmd: Unify execute_cmd with do_one_cmd- decor: Use decor levels properly- drawline.c: Factor out utf8 multibyte check- eval: Use Hashy McHashFace instead of gperf- eval.c: Resolve all clint issues (#19774)- eval/funcs.c: Resolve all clint errors- events: Remove unnecessary fudging of updating_screen- ex_cd: Add an early return to fix clint warning- ex_docmd.c: Resolve most clint errors (#19775)- filetype: Allow vim.filetype.match to accept buf and filename (#19114)- highlight: Make hlattrs2dict always use pre-allocated dict- log: Simplify log_path_init#18898- log: Use msg_schedule_semsg#18950- lsp: Remove redundant client cleanup (#18744)- lsp: Make the use of local aliases more consistent- lsp: Use autocmd api (#19407)- lsp: Factor out read_loop function- lsp: Encapsulate rpc uv handle- lsp: Extract rpc client from rpc.start- lua: Replace hard-coded gsub with vim.pesc() (#18407)- lua: Reformat with stylua 0.14.0 (#19264)- lua: Git-blame-ignore stylua update PR (#19273)- lua: Replace vim.cmd use with API calls (#19283)- map: Simplify free_all_mem handling- map: Statically initialize maphash array- map: Simplify add_map params- normal: Convert function comments to doxygen format- object: Get rid of redundant FIXED_TEMP_ARRAY- ops: Doxygen docstrings#17743- option: DRY get/set option value#19038- plines: Use a struct for chartabsize state- provider: Use list comprehension#19027- regexp_nfa.c: Match where Vim calls fopen() (#18778)- runtime: Convert dist#ft functions to lua (#18247)- runtime: Convert more dist#ft functions to lua (#18430)- runtime: Convert the remaining dist#ft functions to lua (#18623)- runtime: Port remaining patterns from filetype.vim to filetype.lua (#18814)- runtime: Refactor filetype.lua (#18813)- runtime: Port scripts.vim to lua (#18710)- setcellwidths: Use TV_LIST_ITEM_NEXT properly- signs: Handle non-sign attrs separately (#19784)- tests: Introduce testprg()- treesitter: Get_{nodes,captures}_at_{position,cursor}- typval: Change FC_CFUNC abstraction into FC_LUAREF- ui: Simplify stdin handling- uncrustify: Format all c code under /src/nvim/- vim.opt: Remove del arg- vim.opt: Unify vim.bo/wo building- vim.opt: Optimize append/prepend/remove- Format runtime with stylua1 parent892da76 commitd367ed9
File tree
3 files changed
+3
-2
lines changed- runtime
- test/functional/fixtures
3 files changed
+3
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
133 | 133 | | |
134 | 134 | | |
135 | 135 | | |
136 | | - | |
| 136 | + | |
137 | 137 | | |
138 | 138 | | |
139 | 139 | | |
140 | 140 | | |
141 | | - | |
| 141 | + | |
142 | 142 | | |
143 | 143 | | |
144 | 144 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| 29 | + | |
29 | 30 | | |
30 | 31 | | |
31 | 32 | | |
| |||
Binary file not shown.
0 commit comments
Comments
(0)