aboutsummaryrefslogtreecommitdiff
path: root/runtime
Commit message (Collapse)AuthorAge
* feat(defaults): search selection by * and # in visual mode (#18538)yamatsum2022-05-13
|
* fix(lsp): perform client side filtering of code actions (#18392)Fredrik Ekre2022-05-12
| | | | | | | | Implement filtering of actions based on the kind when passing the 'only' parameter to code_action(). Action kinds are hierachical with a '.' as the separator, and the filter thus allows, for example, both 'quickfix' and 'quickfix.foo' when requestiong only 'quickfix'. Fix https://github.com/neovim/neovim/pull/18221#issuecomment-1110179121
* feat(defaults): session data in $XDG_STATE_HOME #15583Ivan2022-05-12
| | | | | | | | | | | | See: https://gitlab.freedesktop.org/xdg/xdg-specs/-/commit/4f2884e16db35f2962d9b64312917c81be5cb54b - Move session persistent data to $XDG_STATE_HOME Change 'directory', 'backupdir', 'undodir', 'viewdir' and 'shadafile' default location to $XDG_STATE_HOME/nvim. - Move logs to $XDG_STATE_HOME, too. - Add stdpath('log') support. Fixes: #14805
* build(lua2dox): add parenthesis around parameter types in documentation (#18532)dundargoc2022-05-12
| | | | | | | | | | This will check if the string after the variable in a @param is either "number", "string", "table", "boolean" and "function" and if so add a parenthesis around it. This will help separate the variable type with the following text. Had all our functions been annotated with emmylua then a more robust solution might have been preferable (such as always assuming the third string is parameter type without making any checks). I believe however this is a clear improvement over the current situation and will suffice for now.
* feat(lua): vim.cmd() with kwargs acts like nvim_cmd() #18523Famiu Haque2022-05-12
|
* fix(runtime/genvimvim): omit s[ubstitute] from vimCommand #18480Sean Dewar2022-05-11
| | | | | | | | | | | | | | | | | | | | It's special cased by the vimSubst syntax group, and isn't present in Vim's vimCommand group. For example, this fixes `call s:Foo()` highlighting `:` as Error in Nvim, as the `s` is parsed as vimCommand rather than as vimUserFunc since `contains=vimCommand` was added to vimUserFunc (and vimFunc) in a rt update. Interestingly, `g:`, `l:`, etc. have the same issues due to :global, :list, etc. Vim also has that problem, so it should ideally be fixed upstream. We could also omit g[lobal] from vimCommand and rely on vimGlobal instead, but it doesn't work in some cases, like when there's a `:` before the command. Also, Vim matches only `g` in vimCommand for some reason, which doesn't produce any highlight for `:global/foo/bar` (with Nvim you at least get some highlights on the `global` bit despite the leading `:`). Also, remove special handling of :py3 in syntax/vim.vim, as the generator seems to have no problems finding it.
* docs: nvim_buf_[get|set]_[text|lines] (#18404)Andrey Mishchenko2022-05-11
| | | | - Use consistent formatting for args docs. - Clarify inclusivity/exclusivity in `nvim_buf_[get|set]_text`.
* docs(api): how to check if window is floating #18503Andrey Mishchenko2022-05-11
|
* docs(api): improve shared lua functions docs (#17933)adrian52022-05-11
|
* vim-patch:8.2.4939: matchfuzzypos() with "matchseq" does not have all ↵zeertzjq2022-05-11
| | | | | | | positions (#18525) Problem: matchfuzzypos() with "matchseq" does not have all positions. Solution: Also add a position for white space. (closes vim/vim#10404) https://github.com/vim/vim/commit/9af2bc075169e14fd06ed967d28eac7206d21f36
* Merge pull request #18366 from famiu/feat/api/nvim_cmdbfredl2022-05-11
|\ | | | | feat(api): add `nvim_cmd`
| * feat(api): add `nvim_cmd`Famiu Haque2022-05-11
| | | | | | | | Adds the API function `nvim_cmd` which allows executing an Ex-command through a Dictionary which can have the same values as the return value of `nvim_parse_cmd()`. This makes it much easier to do things like passing arguments with a space to commands that otherwise may not allow it, or to make commands interpret certain characters literally when they otherwise would not.
* | Merge pull request #18487 from clason/styluaChristian Clason2022-05-11
|\ \ | | | | | | CI: format and lint runtime with Stylua
| * | chore: format runtime with styluaChristian Clason2022-05-09
| |/
* | vim-patch:921bde888046 (#18511)Christian Clason2022-05-10
| | | | | | | | | | | | | | Update runtime files, translations https://github.com/vim/vim/commit/921bde88804663a7cb825d7f7e8a5d8ae6b58650 skip: translations skip: builtin.txt (requires 8.2.4861)
* | docs(lsp): fix description of `only` in vim.lsp.buf.code_action() (#18492)Fredrik Ekre2022-05-09
|/
* feat: cmdline funcs (#18284)Shougo2022-05-09
| | | | | | | | | | | | | | vim-patch:8.2.4903: cannot get the current cmdline completion type and position Problem: Cannot get the current cmdline completion type and position. Solution: Add getcmdcompltype() and getcmdscreenpos(). (Shougo Matsushita, closes vim/vim#10344) https://github.com/vim/vim/commit/79d599b8772022af1d657f368c2fc97aa342c0da vim-patch:8.2.4910: imperfect coding Problem: Imperfect coding. Solution: Make code nicer. https://github.com/vim/vim/commit/9ff7d717aa3176de5c61de340deb93f41c7780fc
* fix(lsp): detach spawned LSP server processes (#18477)Gregory Anders2022-05-08
| | | | | | | | LSP servers should be daemonized (detached) so that they run in a separate process group from Neovim's. Among other things, this ensures the process does not inherit Neovim's TTY (#18475). Make this configurable so that clients can explicitly opt-out of detaching from Nvim.
* vim-patch:partial:d899e5112079 (#18474)Sean Dewar2022-05-08
| | | | | | | | | | | | Update runtime files https://github.com/vim/vim/commit/d899e51120798d3fb5420abb1f19dddf3f014d05 - Skip vimhelp.vim stuff (syntax/help.vim, syntax.txt; v8.2.4891). - Skip :let heredoc eval stuff (eval.txt; v8.2.4770). - Skip uk.cp1251.po. - Skip `*hl-CurSearch*` change (syntax.txt): - Vim's CurSearch works differently (Nvim's uses current cursor pos). Dunno know how applicable the redrawing comment is to Nvim... - Might be preferred to move it under `*hl-Search*` like Vim?
* vim-patch:8.2.4907: some users do not want a line comment always inserted ↵Christian Clason2022-05-07
| | | | | | | | (#18463) Problem: Some users do not want a line comment always inserted. Solution: Add the '/' flag to 'formatoptions' to not repeat the comment leader after a statement when using "o". https://github.com/vim/vim/commit/2bf875f881f7c6f6900bc0eb2a93a552db894109
* docs: change wrap_at type to number (#18456)Noval Maulana2022-05-07
|
* fix(api): make `nvim_parse_cmd` work correctly with both range and countFamiu Haque2022-05-07
| | | | | | | | It seems range and count can be used together in commands. This PR fixes the behavior of `nvim_parse_cmd` for those cases by removing the mutual exclusivity of "range" and "count". It also removes range line number validation for `nvim_parse_cmd` as it's not its job to validate the command.
* fix(lsp): skip clients without rename capability (#18449)Mathias Fußenegger2022-05-06
| | | | | Follow up to https://github.com/neovim/neovim/pull/18441 This way rename should "just work" in most cases without having to manually filter the client
* vim-patch:8.2.4881: "P" in Visual mode still changes some registers (#18445)zeertzjq2022-05-06
| | | | | | Problem: "P" in Visual mode still changes some registers. Solution: Make "P" in Visual mode not change any register. (Shougo Matsushita, closes vim/vim#10349) https://github.com/vim/vim/commit/509142ab7a9db32114b6d0949722b9133c9c22f2
* fix(lsp): fix rename capability checks and multi client support (#18441)Mathias Fußenegger2022-05-05
| | | | | | | | Adds filter and id options to filter the client to use for rename. Similar to the recently added `format` function. rename will use all matching clients one after another and can handle a mix of prepareRename/rename support. Also ensures the right `offset_encoding` is used for the `make_position_params` calls
* Merge pull request #18431 from famiu/feat/api/nvim_get_autocmds/group_namebfredl2022-05-05
|\ | | | | feat(api): add `group_name` to `nvim_get_autocmds`
| * feat(api): add `group_name` to `nvim_get_autocmds`Famiu Haque2022-05-05
| |
* | fix(lsp): make sure to always reset active codelens refreshes (#18331)William Boman2022-05-05
| | | | | | | | | | | | | | | | | | | | | | This fixes issues where subsequent calls to vim.lsp.codelens.refresh() would have no effect due to the buffer not getting cleared from the active_refresh table. Examples of how such scenarios would occur are: - A textDocument/codeLens result yielded an error. - The 'textDocument/codeLens' handler was overriden in such a way that it no longer called vim.lsp.codelens.on_codelens().
* | refactor(api): make `range` in `nvim_parse_cmd` an arrayFamiu Haque2022-05-05
|/ | | | | | | | Changes the `range` value in `nvim_parse_cmd` into an array to describe range information more concisely. Also makes `range` and `count` be mutually exclusive by making count `-1` when command takes a range instead of a count. Additionally corrects the behavior of `count` for built-in commands by making the default count `0`.
* refactor: replace char_u variables and functions with charDundar Goc2022-05-04
| | | | Work on https://github.com/neovim/neovim/issues/459
* feat(nvim_parse_cmd): add range, count, reg #18383Famiu Haque2022-05-04
| | | | | Adds range, count and reg to the return values of nvim_parse_cmd. Also makes line1 and line2 be -1 if the command does not take a range. Also moves nvim_parse_cmd to vimscript.c because it fits better there.
* refactor(lua): replace hard-coded gsub with vim.pesc() (#18407)James McCoy2022-05-04
|
* fix(filetype): fixup scd filetype detection (#18403)Gregory Anders2022-05-03
|
* refactor(runtime): convert dist#ft functions to lua (#18247)Jonas Strittmatter2022-05-03
| | | Co-authored-by: Christian Clason <christian.clason@uni-due.de>
* Merge pull request #15674 from yatli/ui_event_extmarkbfredl2022-05-03
|\ | | | | API/UI: ui_event_extmark
| * feat(api/ui): win_extmarksYatao Li2022-05-03
| |
* | feat(lsp): add logging level "OFF" (#18379)ii142022-05-03
| |
* | feat(lua): vim.deprecate() #18320dundargoc2022-05-03
| | | | | | | | | | | | This is primarily intended to act as documentation for the developer so they know exactly when and what to remove. This will help prevent the situation of deprecated code lingering for far too long as developers don't have to worry if a function is safe to remove.
* | feat(server): set $NVIM, unset $NVIM_LISTEN_ADDRESS #11009Justin M. Keyes2022-05-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PROBLEM ------------------------------------------------------------------------ $NVIM_LISTEN_ADDRESS has conflicting purposes as both a parameter ("the current process should listen on this address") and a descriptor ("the current process is a child of this address"). This contradiction means the presence of NVIM_LISTEN_ADDRESS is ambiguous, so child Nvim always tries to listen on its _parent's_ socket. This is the cause of lots of "Failed to start server" spam in our test/CI logs: WARN 2022-04-30… server_start:154: Failed to start server: address already in use: \\.\pipe\nvim-4480-0 WARN 2022-04-30… server_start:154: Failed to start server: address already in use: \\.\pipe\nvim-2168-0 SOLUTION ------------------------------------------------------------------------ 1. Set $NVIM to the parent v:servername, *only* in child processes. - Now the correct way to detect a "parent" Nvim is to check for $NVIM. 2. Do NOT set $NVIM_LISTEN_ADDRESS in child processes. 3. On startup if $NVIM_LISTEN_ADDRESS exists, unset it immediately after server init. 4. Open a channel to parent automatically, expose it as v:parent. Fixes #3118 Fixes #6764 Fixes #9336 Ref https://github.com/neovim/neovim/pull/8247#issuecomment-380275696 Ref #8696
* | fix(lsp): add missing bufnr argument (#18382)Jose Alvarez2022-05-03
|/
* vim-patch:8.2.4859: wget2 files are not recognized (#18385)Christian Clason2022-05-03
| | | | | Problem: wget2 files are not recognized. Solution: Add patterns to recognize wget2. (Doug Kearns) https://github.com/vim/vim/commit/3a974a89331182139e12386275f052a50c247ecb
* Merge pull request #18357 from bfredl/ui_stdinbfredl2022-05-02
|\ | | | | feat(ui): allow embedder to emulate "cat data | nvim -" behaviour
| * refactor(ui): simplify stdin handlingbfredl2022-05-02
| |
* | Merge pull request #18353 from jamessan/ft-match-fixJames McCoy2022-05-02
|\ \ | |/ |/|
| * fix(filetype.lua): escape expansion of ~ when used as a patternJames McCoy2022-05-02
| |
* | vim-patch:8.2.4857: Yaml indent for multiline is wrong (#18365)Christian Clason2022-05-02
| | | | | | | | | | Problem: Yaml indent for multiline is wrong. Solution: Adjust patterns. (closes vim/vim#10328, closes vim/vim#8740) https://github.com/vim/vim/commit/f4f579b46b27f5e1689912a3e84c6a2a96efd143
* | vim-patch:8.2.4855: robot files are not recognized (#18364)Christian Clason2022-05-02
|/ | | | | Problem: Robot files are not recognized. Solution: Add patterns for robot files. (Zoe Roux, closes vim/vim#10339) https://github.com/vim/vim/commit/2096a5f128029b1156a035a27c988995db240cea
* fix(shared): avoid indexing unindexable values in vim.tbl_get() (#18337)William Boman2022-05-01
|
* docs: syntax is enabled by default (#17637)Christian Clason2022-05-01
| | | `:syntax enable` is no longer necessary (and may even be harmful). Do not recommend it in `usr_05.txt` and `usr_06.txt`, and mention the new default in `syntax.txt`.
* docs(api): more API attributes #18336ii142022-04-30
|