aboutsummaryrefslogtreecommitdiff
path: root/runtime
Commit message (Collapse)AuthorAge
...
| * fix: make_filter_cmd for :! powershellEnan Ajmain2022-09-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: `Start-Process` requires the command to be split into the shell command and its arguments. Previously it was done by parsing, which didn't handle cases such as - commands with escaped space in their filepath - quoted commands with space in their filepath Solution: Use - `pwsh -Command` instead of `Start-Process` - `Get-Content` instead of `-RedirectStandardInput` - `Out-File` instead of `-RedirectStandardOutput`
* | refactor(diagnostic): remove deprecated function (#20423)Raphael2022-10-01
| |
* | refactor(lsp): remove deprecated lsp functions (#20421)Mathias Fußenegger2022-10-01
| |
* | NVIM v0.8.0bfredl2022-09-30
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.zip PERFORMANCE - 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 mode REFACTOR - 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 stylua
* Merge pull request #20364 from zeertzjq/parse-cmd-omitbfredl2022-09-30
|\ | | | | fix(api)!: nvim_parse_cmd omit "count" "range" "reg" if not supported
| * fix(api)!: nvim_parse_cmd omit "count" "range" "reg" if not supportedzeertzjq2022-09-30
| |
* | docs: fix typos (#20394)dundargoc2022-09-30
| | | | | | | | | | Co-authored-by: Raphael <glephunter@gmail.com> Co-authored-by: smjonas <jonas.strittmatter@gmx.de> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* | Merge pull request #20387 from famiu/feat/nvim_cmd/buffer-argsbfredl2022-09-30
|\ \ | |/ |/| feat(nvim_cmd)!: allow using first argument as count
| * feat(nvim_cmd): allow using first argument as countFamiu Haque2022-09-29
| | | | | | | | | | Allows `nvim_cmd` to use the first argument as count for applicable commands. Also adds support for non-String arguments to `nvim_cmd`.
* | fix(filetype): add missing return to changelog detection function (#20403)Jonas Strittmatter2022-09-29
| |
* | fix(query): fix unnatural order for inherits in treesitter queries (#20298)Sergey Berezhnoy2022-09-29
|/ | | close #20297
* Merge pull request #20390 from bfredl/doc2bfredl2022-09-28
|\ | | | | docs: mark cmdheight=0 and vim.ui_attach as experimental
| * docs: mark cmdheight=0 and vim.attach_ui as experimentalbfredl2022-09-28
| | | | | | | | | | These will require further work for user experience out of the box during the 0.9 cycle.
* | feat(gen_help_html.lua): adapt to new parserJustin M. Keyes2022-09-28
| | | | | | | | | | - adapt to parser changes from https://github.com/vigoux/tree-sitter-vimdoc/pull/16 - numerous other generator improvements
* | build(deps): bump help parser and queries (#20388)Christian Clason2022-09-28
|/
* vim-patch:9fbdbb814f4a (#20376)Christian Clason2022-09-28
| | | | | | | Update runtime files https://github.com/vim/vim/commit/9fbdbb814f4ad67a14979aba4a6a49800c2f1a99 Skip ftplugin/vim.vim (vim9script change) Drop indent/vim.vim and autoload/dist/vimindent.vim (vim9script rewrite)
* fix(lua): fix architecture-dependent behavior in usercmd "reg" (#20384)zeertzjq2022-09-28
| | | | | | | | I don't think using an integer as a NUL-terminated string can work on big-endian systems, at least. This is also not tested. Add a test. Also fix a mistake in the docs of nvim_parse_cmd.
* vim-patch:9.0.0604: luacheckrc file is not recognized (#20371)ObserverOfTime2022-09-27
| | | | | Problem: Luacheckrc file is not recognized. Solution: Use lua filetype for luacheckrc. (closes vim/vim#11236) https://github.com/vim/vim/commit/49c311c9b18e18c05f93728d1f8a552923a18423
* vim-patch:9.0.0602: new TypeScript extensions are not recognizedChristian Clason2022-09-27
| | | | | | Problem: New TypeScript extensions are not recognized. Solution: Recognize .mts and .cts files. (closes vim/vim#11237) https://github.com/vim/vim/commit/7fc6c0e4dab4e80b9806a973936af54276468513
* vim-patch:9.0.0600: GYP files are not recognizedChristian Clason2022-09-27
| | | | | | Problem: GYP files are not recognized. Solution: Recognize GYP files. (closes vim/vim#11242) https://github.com/vim/vim/commit/d32474229213276c64cb293885a975dcb406fbc9
* vim-patch:9.0.0599: latexmkrc files are not recognizedChristian Clason2022-09-27
| | | | | | Problem: Latexmkrc files are not recognized. Solution: Use Perl filetype for latexmkrc files. (closes vim/vim#11241) https://github.com/vim/vim/commit/cde031938537970938437cdbb235bc0da755ae4a
* fix(docs): invalid :help links #20353Justin M. Keyes2022-09-26
| | | ref #20159
* docs: fix typos (#20150)dundargoc2022-09-26
| | | | | | | Co-authored-by: Miguel Carneiro <mcarneiromorenas@gmail.com> Co-authored-by: Gregory Anders <greg@gpanders.com> Co-authored-by: Raphael <glephunter@gmail.com> Co-authored-by: C.D. MacEachern <craig.daniel.maceachern@gmail.com> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* fix(docs): invalid :help links #20345Justin M. Keyes2022-09-25
| | | | | Fix those naughty single quotes. closes #20159
* fix(filetype): use :setf instead of nvim_buf_set_option (#20334)zeertzjq2022-09-25
|
* Merge #20331 refactor(treesitter)!: rename x_position => x_posJustin M. Keyes2022-09-25
|\
| * refactor(treesitter): rename x_position => x_posJustin M. Keyes2022-09-25
| | | | | | | | | | "pos" has a long precedent as "position" in vim, and there is no reason to use a verbose name here.
* | vim-patch:9.0.0583: only recognizing .m3u8 files is inconsistent (#20342)Christian Clason2022-09-25
|/ | | | | Problem: Only recognizing .m3u8 files is inconsistent. Solution: Also matc .m3u files. (issue vim/vim#11204) https://github.com/vim/vim/commit/b9725bc7f6427654eb4e35874034b0ec1b6b96b3
* feat: ":write!" skips "file changed" warning #18665Louis Sven Goulet2022-09-24
| | | | | | | | | | Problem: Cannot opt-out of "WARNING: The file has been changed since reading it!!!", even with ":write!". Solution: Change ":write!" to skip the warning. closes #7270
* vim-patch:9.0.0566: Nim files are not recognized (#20317)Christian Clason2022-09-24
| | | | | Problem: Nim files are not recognized. Solution: Add patterns for Nim files. (Nbiba Bedis, closes vim/vim#11205) https://github.com/vim/vim/commit/9fd1583c839c5e43b0d48ec815a79005a2364776
* fix(lsp): create missing directory before creating file (#19835)shaunsingh2022-09-24
| | | Co-authored-by: Mathias Fussenegger <f.mathias@zignar.net>
* vim-patch:9.0.0562: HSL playlist files are not recognized (#20307)Christian Clason2022-09-24
| | | | | | Problem: HSL playlist files are not recognized. Solution: Add a pattern to recognize HSL palylist files. (Benoît Ryder, closes vim/vim#11204) https://github.com/vim/vim/commit/35fdd9a67d73d4750152c419d4193ebb6b6d6eee
* fix(lsp): use correct function name in deprecated message (#20308)Mike2022-09-23
| | | fix: use correct function name in deprecated message
* Merge #11967 generate :help HTML with treesitterJustin M. Keyes2022-09-22
|\
| * feat(docs): gen_help_html.luaJustin M. Keyes2022-09-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: The :help docs HTML generated is driven by an old awk script `runtime/doc/makehtml.awk` that is hard to maintain (ad hoc parser and no one has touched it in decades) and has bugs like: - https://github.com/neovim/neovim.github.io/issues/96 - https://github.com/neovim/neovim.github.io/issues/97 Solution: Use Lua + treesitter (https://github.com/vigoux/tree-sitter-vimdoc) to generate :help docs HTML. Also validates tag links. fix https://github.com/neovim/neovim.github.io/issues/96 fix https://github.com/neovim/neovim.github.io/issues/97 TODO: - delete doc_html build task - delete runtime/doc/Makefile - delete makehtml.awk - delete maketags.awk OUTPUT: $ nvim -V1 -es --clean +"lua require('scripts.gen_help_html')" output dir: /…/neovim.github.io/_site/doc/ generated (207 errors): api.txt => api.html generated (122 errors): arabic.txt => arabic.html generated (285 errors): autocmd.txt => autocmd.html generated (641 errors): builtin.txt => builtin.html generated (623 errors): change.txt => change.html generated (65 errors): channel.txt => channel.html generated (353 errors): cmdline.txt => cmdline.html generated (3 errors): debug.txt => debug.html generated (28 errors): deprecated.txt => deprecated.html generated (193 errors): dev_style.txt => dev_style.html generated (460 errors): develop.txt => develop.html generated (19 errors): diagnostic.txt => diagnostic.html generated (57 errors): diff.txt => diff.html generated (818 errors): digraph.txt => digraph.html generated (330 errors): editing.txt => editing.html generated (368 errors): eval.txt => eval.html generated (184 errors): fold.txt => fold.html generated (61 errors): ft_ada.txt => ft_ada.html generated (0 errors): ft_ps1.txt => ft_ps1.html generated (20 errors): ft_raku.txt => ft_raku.html generated (5 errors): ft_rust.txt => ft_rust.html generated (41 errors): ft_sql.txt => ft_sql.html generated (110 errors): gui.txt => gui.html generated (79 errors): hebrew.txt => hebrew.html generated (17 errors): help.txt => index.html generated (104 errors): helphelp.txt => helphelp.html generated (0 errors): if_cscop.txt => if_cscop.html generated (23 errors): if_perl.txt => if_perl.html generated (16 errors): if_pyth.txt => if_pyth.html generated (9 errors): if_ruby.txt => if_ruby.html generated (216 errors): indent.txt => indent.html generated (634 errors): index.txt => vimindex.html generated (320 errors): insert.txt => insert.html generated (265 errors): intro.txt => intro.html generated (9 errors): job_control.txt => job_control.html generated (0 errors): lsp-extension.txt => lsp-extension.html generated (214 errors): lsp.txt => lsp.html generated (311 errors): lua.txt => lua.html generated (592 errors): luaref.txt => luaref.html generated (798 errors): luvref.txt => luvref.html generated (663 errors): map.txt => map.html generated (228 errors): mbyte.txt => mbyte.html generated (228 errors): message.txt => message.html generated (0 errors): mlang.txt => mlang.html generated (761 errors): motion.txt => motion.html generated (4 errors): nvim.txt => nvim.html generated (226 errors): nvim_terminal_emulator.txt => nvim_terminal_emulator.html generated (988 errors): options.txt => options.html generated (567 errors): pattern.txt => pattern.html generated (15 errors): pi_gzip.txt => pi_gzip.html generated (10 errors): pi_health.txt => pi_health.html generated (27 errors): pi_msgpack.txt => pi_msgpack.html generated (2177 errors): pi_netrw.txt => pi_netrw.html generated (41 errors): pi_paren.txt => pi_paren.html generated (9 errors): pi_spec.txt => pi_spec.html generated (218 errors): pi_tar.txt => pi_tar.html generated (0 errors): pi_tutor.txt => pi_tutor.html generated (235 errors): pi_zip.txt => pi_zip.html generated (265 errors): print.txt => print.html generated (31 errors): provider.txt => provider.html generated (335 errors): quickfix.txt => quickfix.html generated (572 errors): quickref.txt => quickref.html generated (109 errors): recover.txt => recover.html generated (14 errors): remote.txt => remote.html generated (14 errors): remote_plugin.txt => remote_plugin.html generated (351 errors): repeat.txt => repeat.html generated (23 errors): rileft.txt => rileft.html generated (12 errors): russian.txt => russian.html generated (6 errors): scroll.txt => scroll.html generated (106 errors): sign.txt => sign.html generated (347 errors): spell.txt => spell.html generated (784 errors): starting.txt => starting.html generated (1499 errors): syntax.txt => syntax.html generated (23 errors): tabpage.txt => tabpage.html generated (257 errors): tagsrch.txt => tagsrch.html generated (31 errors): term.txt => term.html generated (0 errors): testing.txt => testing.html generated (96 errors): tips.txt => tips.html generated (57 errors): treesitter.txt => treesitter.html generated (71 errors): uganda.txt => uganda.html generated (74 errors): ui.txt => ui.html generated (87 errors): undo.txt => undo.html generated (17 errors): userfunc.txt => userfunc.html generated (1 errors): usr_01.txt => usr_01.html generated (89 errors): usr_02.txt => usr_02.html generated (293 errors): usr_03.txt => usr_03.html generated (46 errors): usr_04.txt => usr_04.html generated (96 errors): usr_05.txt => usr_05.html generated (54 errors): usr_06.txt => usr_06.html generated (20 errors): usr_07.txt => usr_07.html generated (241 errors): usr_08.txt => usr_08.html generated (130 errors): usr_09.txt => usr_09.html generated (50 errors): usr_10.txt => usr_10.html generated (33 errors): usr_11.txt => usr_11.html generated (32 errors): usr_12.txt => usr_12.html generated (22 errors): usr_20.txt => usr_20.html generated (75 errors): usr_21.txt => usr_21.html generated (8 errors): usr_22.txt => usr_22.html generated (3 errors): usr_23.txt => usr_23.html generated (163 errors): usr_25.txt => usr_25.html generated (13 errors): usr_26.txt => usr_26.html generated (84 errors): usr_27.txt => usr_27.html generated (173 errors): usr_28.txt => usr_28.html generated (285 errors): usr_29.txt => usr_29.html generated (280 errors): usr_30.txt => usr_30.html generated (11 errors): usr_31.txt => usr_31.html generated (13 errors): usr_32.txt => usr_32.html generated (156 errors): usr_40.txt => usr_40.html generated (134 errors): usr_41.txt => usr_41.html generated (35 errors): usr_42.txt => usr_42.html generated (19 errors): usr_43.txt => usr_43.html generated (60 errors): usr_44.txt => usr_44.html generated (13 errors): usr_45.txt => usr_45.html generated (1 errors): usr_toc.txt => usr_toc.html generated (69 errors): various.txt => various.html generated (68 errors): vi_diff.txt => vi_diff.html generated (437 errors): vim_diff.txt => vim_diff.html generated (296 errors): visual.txt => visual.html generated (181 errors): windows.txt => windows.html generated 119 html pages total errors: 23862 invalid tags: 537
| * docs: deprecate :checkhealth vimscript interfaceJustin M. Keyes2022-09-22
| |
| * feat(treesitter): bundle :help parser and queriesJustin M. Keyes2022-09-22
| | | | | | | | | | parser from https://github.com/vigoux/tree-sitter-vimdoc queries from nvim-treesitter
* | docs(lua): correct docs for option accessor metatables (#20256)Lewis Russell2022-09-22
| |
* | Merge pull request #20103 from lewis6991/refactor/vim_optLewis Russell2022-09-22
|\ \ | |/ |/|
| * refactor(vim.opt): de-nest codeLewis Russell2022-09-09
| |
| * refactor(vim.opt): use local function syntaxLewis Russell2022-09-09
| |
| * refactor(vim.opt): optimize append/prepend/removeLewis Russell2022-09-09
| |
| * refactor(vim.opt): dry up and tidyLewis Russell2022-09-09
| |
| * refactor(vim.opt): remove value_mutator()Lewis Russell2022-09-09
| |
| * refactor(vim.opt): unify vim.bo/wo buildingLewis Russell2022-09-09
| |
| * refactor(vim.opt): remove make_meta_accessor()Lewis Russell2022-09-08
| |
| * refactor(vim.opt): simplify get_option_metatypeLewis Russell2022-09-08
| |
| * refactor(vim.opt): replace _setup with lazy tableLewis Russell2022-09-08
| |
| * refactor(vim.opt): remove enumsLewis Russell2022-09-08
| |
| * refactor(vim.opt): remove del argLewis Russell2022-09-08
| |