aboutsummaryrefslogtreecommitdiff
path: root/runtime
Commit message (Collapse)AuthorAge
* vim-patch:9.0.0897: Clinical Quality Language files are not recognized (#21094)Matthew Gramigna2022-11-18
| | | | | | | | Problem: Clinical Quality Language files are not recognized. Solution: Add the "*.cql" pattern. (Matthew Gramigna, closes vim/vim#11452) https://github.com/vim/vim/commit/12babe45a389cd1ea8befd5b06239e877b4abbba Co-authored-by: mgramigna <mgramigna@mitre.org>
* refactor: deprecate 'secure' optionGregory Anders2022-11-17
| | | | | Now that 'exrc' files must be explicitly marked trusted there is no need to constrain what can be done in them.
* feat(exrc): use vim.secure.read() for 'exrc' optionGregory Anders2022-11-17
|
* feat: add vim.secure.read()Gregory Anders2022-11-17
| | | | | | | | | This function accepts a path to a file and prompts the user if the file is trusted. If the user confirms that the file is trusted, the contents of the file are returned. The user's decision is stored in a trust database at $XDG_STATE_HOME/nvim/trust. When this function is invoked with a path that is already marked as trusted in the trust database, the user is not prompted for a response.
* docs(treesitter): change links for `eq?` and `set!` to codeblocks (#21047)Jlll12022-11-15
|
* vim-patch:9.0.0883: a silent mapping may cause dots on the command line (#21061)zeertzjq2022-11-15
| | | | | | | | | Problem: A silent mapping may cause dots on the command line. Solution: Don't show dots for completion if they are not going to be removed again. (closes vim/vim#11501) https://github.com/vim/vim/commit/698a00f55d60043d51b1c98cbbf3f9fd10badd2f Co-authored-by: Bram Moolenaar <Bram@vim.org>
* fix(lua): make `vim.deepcopy` work with `vim.NIL`Max2022-11-14
| | | | | | | | style: changed double quotes to single quotes feat: add tests fix tests
* vim-patch:9.0.0863: col() and charcol() only work for the current window ↵zeertzjq2022-11-13
| | | | | | | | | | | | | (#21038) Problem: col() and charcol() only work for the current window. Solution: Add an optional winid argument. (Yegappan Lakshmanan, closes vim/vim#11466, closes vim/vim#11461) https://github.com/vim/vim/commit/4c8d2f02b3ce037bbe1d5ee12887e343c6bde88f Cherry-pick test_functions.vim change from patch 8.2.0633. Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* vim-patch:9.0.0862: default value of 'endoffile' is wrong (#21032)zeertzjq2022-11-12
| | | | | | | | Problem: Default value of 'endoffile' is wrong. Solution: The default must be 'noendoffile'. https://github.com/vim/vim/commit/0aad88f073602849d1623122eb3c323f8e252def Co-authored-by: Bram Moolenaar <Bram@vim.org>
* fix: vim.ui.input always calls callback #21006Steven Arcangeli2022-11-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Followup to #20883 Related: #18144 This patch changes the behavior of the default `vim.ui.input` when the user aborts with `<C-c>`. Currently, it produces an error message + stack and causes `on_confirm` to not be called. With this patch, `<C-c>` will cause `on_confirm` to be called with `nil`, the same behavior as when the user aborts with `<Esc>`. I can think of three good reasons why the behavior should be this way: 1. Easier for the user to understand** It's not intuitive for there to be two ways to abort an input dialog that have _different_ outcomes. As a user, I would expect any action that cancels the input to leave me in the same state. As a plugin author, I see no value in having two possible outcomes for aborting the input. I have to handle both cases, but I can't think of a situation where I would want to treat one differently than the other. 2. Provides an API that can be overridden by other implementations** The current contract of "throw an error upon `<C-c>`" cannot be replicated by async implementations of `vim.ui.input`. If the callsite wants to handle the case of the user hitting `<C-c>` they need to use `pcall(vim.ui.input, ...)`, however an async implementation will instantly return and so there will be no way for it to produce the same error-throwing behavior when the user inputs `<C-c>`. This makes it impossible to be fully API-compatible with the built-in `vim.ui.input`. 3. Provides a useful guarantee to the callsite** As a plugin author, I want the guarantee that `on_confirm` will _always_ be called (only catastrophic errors should prevent this). If I am in the middle of some async thread of logic, I need some way to resume that logic after handing off control to `vim.ui.input`. The only way to handle the `<C-c>` case is with `pcall`, which as already mentioned, breaks down if you're using an alternative implementation.
* feat(spell): support nospell in treesitter queriesLewis Russell2022-11-12
|
* feat(checkhealth): use "help" syntax, avoid tabpage #20879Justin M. Keyes2022-11-11
| | | | | | | | | - If Nvim was just started, don't create a new tab. - Name the buffer "health://". - Use "help" syntax instead of "markdown". It fits better, and eliminates various workarounds. - Simplfy formatting, avoid visual noise. - Don't print a "INFO" status, it is noisy. - Drop the ":" after statuses, they are already UPPERCASE and highlighted.
* vim-patch:9.0.0861: solution for "!!sort" in closed fold is not optimal (#21027)zeertzjq2022-11-12
| | | | | | | | | Problem: Solution for "!!sort" in closed fold is not optimal. Solution: Use a different range instead of the subtle difference in handling a range with an offset. (issue vim/vim#11487) https://github.com/vim/vim/commit/9954dc39ea090cee6bf41c888c41e60d9f52c3b8 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:76db9e076318 (#21013)Sean Dewar2022-11-10
| | | | | | | | | | | | | | Update runtime files https://github.com/vim/vim/commit/76db9e076318cb0ae846f43b7549ad4f2d234c0b - `col()`'s example was changed to use `:echowin` so that the message can be seen with `showmode`. Use "\n" to force a hit-enter instead as `:echowin` isn't ported. - Replace interpolated string usage in syntax/modula3.vim (not ported). - Add a space after the `wincmd =` examples in `*CTRL-W_=*` so that the inlined code is highlighted properly when followed by a full stop. Co-authored-by: Bram Moolenaar <Bram@vim.org>
* docs(treesitter): fix predicate syntax (#21016)James Trew2022-11-10
|
* fix(man.lua): use `env` command (#21007)euclidianAce2022-11-09
| | | | | | | Previously man.lua would use the `env` field in the parameters of `vim.loop.spawn` to override things like MANPAGER. This caused issues on NixOS since `spawn` will _override_ the environment rather than _append_ to it (and NixOS relies on a heavily modified environment). Using the `env` command to append to the environment solves this issue.
* fix(clipboard): update version regex pattern (#21012)Gregory Anders2022-11-09
| | | | Building tmux from source uses a 'next-' prefix, so account for that. Also handle failures to match more gracefully.
* docs: swap CursorLineFold and CursorLineSign (#20875)Eduard Baturin2022-11-10
|
* fix(vim.ui.input): return empty string when inputs nothing (#20883)Jongwook Choi2022-11-08
| | | | | | | | | | | fix(vim.ui.input): return empty string when inputs nothing The previous behavior of `vim.ui.input()` when typing <CR> with no text input (with an intention of having the empty string as input) was to execute `on_confirm(nil)`, conflicting with its documentation. Inputting an empty string should now correctly execute `on_confirm('')`. This should be clearly distinguished from cancelling or aborting the input UI, in which case `on_confirm(nil)` is executed as before.
* vim-patch:9.0.0843: VHS tape files are not recognized (#20995)Christian Clason2022-11-07
| | | | | | | | | Problem: VHS tape files are not recognized. Solution: Add a filetype pattern. (Carlos Alexandro Becker, closes vim/vim#11452) https://github.com/vim/vim/commit/1756f4b21837e8596241ecd668f4abbbab4bc7e5 Co-authored-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* Merge pull request #20991 from famiu/feat/api/nvim_cmd/command-namebfredl2022-11-07
|\ | | | | feat(api): add command name to Lua command callback opts
| * feat(api): add command name to Lua command callback optsFamiu Haque2022-11-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds a `name` key to the opts dict passed to Lua command callbacks created using `nvim_create_user_command()`. This is useful for when multiple commands use the same callback. Note that this kind of behavior is not as strange as one might think, even some internal Neovim commands reuse the same internal C function, differing their behavior by checking the command name. `substitute`, `smagic` and `snomagic` are examples of that. This will also be useful for generalized Lua command preview functions that can preview a wide range of commands, in which case knowing the command name is necessary for the preview function to actually be able to execute the command that it's supposed to preview.
* | refactor(highlight): rename FloatBorderTitle #20988Raphael2022-11-07
| | | | | | requested in https://github.com/neovim/neovim/pull/20184
* | docs(news): add linematch (#20927)Lewis Russell2022-11-07
|/
* docs(options): remove mentions of 'imactivatefunc' and 'imstatusfunc'zeertzjq2022-11-07
|
* vim-patch:8.2.3751: cannot assign a lambda to an option that takes a functionzeertzjq2022-11-07
| | | | | | | | | | Problem: Cannot assign a lambda to an option that takes a function. Solution: Automatically convert the lambda to a string. (Yegappan Lakshmanan, closes vim/vim#9286) https://github.com/vim/vim/commit/6409553b6e3b4de4e1d72b8ee5445595214581ff Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* fix(clipboard): prefer xsel #20918wzy2022-11-06
| | | | | | | | | | | | | | | | | | | | | | Problem: xclip is not actively maintained compared to xsel, and it has a bug: $ touch a $ xsel -ib < a $ xsel -ob $ xclip -o -selection clipboard Error: target STRING not available Years ago, the situation was reversed. We originally preferred xsel 46bd3c0f77f282b93ca1307c011562243c394306 but then swapped to xclip 799d9c32157c841c3b8d355fa98a5ace435eef07 to work around https://github.com/neovim/neovim/issues/7237#issuecomment-443440633 Solution: Prefer xsel again. close #20862 ref #9302 ref https://github.com/astrand/xclip/issues/38
* feat: ":write ++p" creates parent dirs #20835Victor Blanchard2022-11-06
| | | | | | | | | | | - `:write ++p foo/bar/baz.txt` should create parent directories `foo/bar/` if they do not exist - Note: `:foo ++…` is usually for options. No existing options have a single-char abbreviation (presumably by design), so it's safe to special-case `++p` here. - Same for `writefile(…, 'foo/bar/baz.txt', 'p')` - `BufWriteCmd` can see the ++p flag via `v:cmdarg`. closes #19884
* fix(tutor): failing to get buf name #20933erw72022-11-06
| | | | | | | | | | | | | | | | | | | | Error detected while processing function tutor#TutorCmd[38]..BufReadPost Autocommands for "*": Error executing lua callback: ...llar/neovim/HEAD-cc5b736/share/nvim/runtime/filetype.lua:21: Error ex ecuting lua: ...llar/neovim/HEAD-cc5b736/share/nvim/runtime/filetype.lua:22: Vim(let):E158: Invalid bu ffer name: . stack traceback: [C]: in function 'nvim_cmd' ...llar/neovim/HEAD-cc5b736/share/nvim/runtime/filetype.lua:22: in function <...llar/neovim/HE AD-cc5b736/share/nvim/runtime/filetype.lua:21> [C]: in function 'nvim_buf_call' ...llar/neovim/HEAD-cc5b736/share/nvim/runtime/filetype.lua:21: in function <...llar/neovim/HE AD-cc5b736/share/nvim/runtime/filetype.lua:10> stack traceback: [C]: in function 'nvim_buf_call' ...llar/neovim/HEAD-cc5b736/share/nvim/runtime/filetype.lua:21: in function <...llar/neovim/HE AD-cc5b736/share/nvim/runtime/filetype.lua:10> Closes https://github.com/neovim/neovim/issues/20920
* vim-patch:9.0.0756 #20680Shougo2022-11-06
| | | | | | Problem: No autocmd event for changing text in a terminal window. Solution: Add TextChangedT. (Shougo Matsushita, closes vim/vim#11366) https://github.com/vim/vim/commit/4ccaedfcd7526983f4b6b3b06b0bfb54f333f1f3
* vim-patch:9.0.0389: crash when 'tagfunc' closes the windowzeertzjq2022-11-07
| | | | | | | | | | | Problem: Crash when 'tagfunc' closes the window. Solution: Bail out when the window was closed. https://github.com/vim/vim/commit/ccfde4d028e891a41e3548323c3d47b06fb0b83e Add docs for E1299 from Vim runtime. Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.3725: cannot use a lambda for 'completefunc' and 'omnifunc'zeertzjq2022-11-07
| | | | | | | | | | Problem: Cannot use a lambda for 'completefunc' and 'omnifunc'. Solution: Implement lambda support. (Yegappan Lakshmanan, closes vim/vim#9257) https://github.com/vim/vim/commit/8658c759f05b317707d56e3b65a5ef63930c7498 Comment out Vim9 script in tests. Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* vim-patch:8.2.3712: cannot use Vim9 lambda for 'tagfunc'zeertzjq2022-11-07
| | | | | | | | | | Problem: Cannot use Vim9 lambda for 'tagfunc'. Solution: Make it work, add more tests. (Yegappan Lakshmanan, closes vim/vim#9250) https://github.com/vim/vim/commit/05e59e3a9ffddbf93c7af02cd2ba1d0f822d4625 Omit Vim9 script in code and comment out in tests. Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* vim-patch:8.2.3665: cannot use a lambda for 'tagfunc'zeertzjq2022-11-07
| | | | | | | | Problem: Cannot use a lambda for 'tagfunc'. Solution: Use 'tagfunc' like 'opfunc'. (Yegappan Lakshmanan, closes vim/vim#9204) https://github.com/vim/vim/commit/19916a8c8920b6a1fd737ffa6d4e363fc7a96319 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* feat(ui): add support to display a title in the border of a float (#20184)Raphael2022-11-06
| | | add "title" and "title_pos" keys to win config dict.
* fix(paste): feed keys as typed in cmdline mode (#20959)zeertzjq2022-11-06
|
* docs(news): add news blurb for tmux clipboard change (#20950)Gregory Anders2022-11-05
|
* vim-patch:8.2.4882: cannot make 'breakindent' use a specific columnzeertzjq2022-11-05
| | | | | | | | | | Problem: Cannot make 'breakindent' use a specific column. Solution: Add the "column" entry in 'breakindentopt'. (Christian Brabandt, closes vim/vim#10362, closes vim/vim#10325) https://github.com/vim/vim/commit/e7d6dbc5721342e3d6b04cf285e4510b5569e707 Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:8.2.4093: cached breakindent values not initialized properlyzeertzjq2022-11-05
| | | | | | | | | Problem: Cached breakindent values not initialized properly. Solution: Initialize and cache formatlistpat. (Christian Brabandt, closes vim/vim#9526, closes vim/vim#9512) https://github.com/vim/vim/commit/c53b467473160b5cfce77277fbae414bf43e66ce Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:8.2.4679: cannot have expandcmd() give an error message for mistakeszeertzjq2022-11-05
| | | | | | | | | Problem: Cannot have expandcmd() give an error message for mistakes. Solution: Add an optional argument to give errors. Fix memory leak when expanding files fails. (Yegappan Lakshmanan, closes vim/vim#10071) https://github.com/vim/vim/commit/2b74b6805b5c8c4836b66df5d949f5ff6a77f8c7 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* vim-patch:8.2.2606: strchars() defaults to counting composing characterszeertzjq2022-11-05
| | | | | | | | | | | Problem: strchars() defaults to counting composing characters. Solution: Add strcharlen() which ignores composing characters. https://github.com/vim/vim/commit/70ce8a1561c5396e4c4381f76a005cbb97646f80 Use docs from latest Vim instead. Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.4978: no error if engine selection atom is not at the startzeertzjq2022-11-05
| | | | | | | | | Problem: No error if engine selection atom is not at the start. Solution: Give an error. (Christian Brabandt, closes vim/vim#10439) https://github.com/vim/vim/commit/360da40b47a84ee8586c3b5d062f8c64a2ac9cc6 Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:8.2.3919: Vim9: wrong argument for append() results in two errorszeertzjq2022-11-05
| | | | | | | | | | Problem: Vim9: wrong argument for append() results in two errors. Solution: Check did_emsg. Also for setline(). Adjust the help for appendbufline(). https://github.com/vim/vim/commit/8b6256f6ec075cca40341e61ebc9f538b4902dd1 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.1631: test_fails() does not check the context of the line numberzeertzjq2022-11-05
| | | | | | | | | Problem: test_fails() does not check the context of the line number. Solution: Use another argument to specify the context of the line number. https://github.com/vim/vim/commit/9bd5d879c2ecfbdbb168b090e12f4b89724a302e Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.1479: Vim9: error for list index uses wrong line numberzeertzjq2022-11-05
| | | | | | | | | | Problem: Vim9: error for list index uses wrong line number. Solution: Set source line number. (closes vim/vim#6724) Add a way to assert the line number of the error with assert_fails(). https://github.com/vim/vim/commit/1d634542cf5ebcd1d5d83bd124b3e1d5e7c96c58 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:partial:8.2.1183: assert_fails() checks the last error messagezeertzjq2022-11-05
| | | | | | | | | | | | | | | Problem: assert_fails() checks the last error message. Solution: Check the first error, it is more relevant. Fix all the tests that rely on the old behavior. https://github.com/vim/vim/commit/9b7bf9e98f06ece595fed7a3ff53ecce89797a53 Skip test_listener.vim, test_textprop.vim, test_viminfo.vim. Skip test_python2.vim: affected line fails and hasn't been ported. Skip test_python3.vim: affected lines fail and haven't been ported. Skip CHECK_LIST_MATERIALIZE. Co-authored-by: Bram Moolenaar <Bram@vim.org>
* feat(clipboard): copy to system clipboard in tmux when supported (#20936)Gregory Anders2022-11-04
| | | | | | Since version 3.2 tmux has had the ability to read/write buffer contents from/to the system clipboard, if the underlying terminal emulator supports it. Enable this feature when we can detect that tmux supports it.
* vim-patch:8.2.0644: insufficient testing for invalid function argumentszeertzjq2022-11-05
| | | | | | | | | | | | Problem: Insufficient testing for invalid function arguments. Solution: Add more tests. (Yegappan Lakshmanan, closes vim/vim#5988) https://github.com/vim/vim/commit/99fa721944dda9d07c53c907c33466728df5c271 Omit test_listener.vim: changed again in patch 8.2.1183. Omit test_textprop.vim: changed again in patch 8.2.1183. Cherry-pick quickfix feature checks from patch 8.1.2373. Omit Test_saveas() change: duplicate and removed in patch 8.2.0866.
* vim-patch:8.2.0448: various functions not properly tested (#20926)zeertzjq2022-11-04
| | | | | | | | | | Problem: Various functions not properly tested. Solution: Add more tests, especially for failures. (Yegappan Lakshmanan, closes vim/vim#5843) https://github.com/vim/vim/commit/0e05de46226eb4e5ea580beefa71831f92d613d3 Cherry-pick test changes from patch 8.2.0427 and skip Test_has(). Cherry-pick Test_complete_wildmenu() change from patch 8.2.4339.
* Enable new diff option linematch (#14537)Jonathon2022-11-04
| | | Co-authored-by: Lewis Russell <me@lewisr.dev>