aboutsummaryrefslogtreecommitdiff
path: root/runtime
Commit message (Collapse)AuthorAge
...
| * vim-patch:8.1.1961: more functions can be used as a methodSean Dewar2021-10-03
| | | | | | | | | | | | | | | | | | Problem: More functions can be used as a method. Solution: Allow more functions to be used as a method. Add a test for mapcheck(). https://github.com/vim/vim/commit/a1449836334355b1fb00cd1bf083e7d353f6c4d7 mzeval() (if_mzscheme) is N/A.
| * feat(eval/method): partially port v8.1.1954Sean Dewar2021-10-03
| | | | | | | | | | | | | | | | | | | | | | Does not include listener_*() functions. js_*() functions are N/A. json_encode() and json_decode() didn't include tests; add some anyway (to json_functions_spec.lua). test_lua.vim isn't included yet, so add tests to luaeval_spec.lua.
| * feat(eval/method): partially port v8.1.1953Sean Dewar2021-10-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds method call support for all functions in the patch, but it cannot be fully ported due to missing tests for: - index(): requires Blobs from v8.1.0735. Note that index() was already added as a method in v8.1.1803; this patch only adds a test. - iconv(): requires v8.1.1136 for test_termcodes.vim. Nvim deprecated inputdialog(), so it no longer has an eval.txt entry. Keep the test for hlexists() commented-out, just like previously. (Nvim always defines the Number group, so it always returns 1 instead) Cannot include both changes to test_syn_attr.vim as Nvim doesn't support ":hi term=..."; however, both test the same ->hlID() syntax anyway.
| * vim-patch:8.1.1952: more functions can be used as a methodSean Dewar2021-10-03
| | | | | | | | | | | | Problem: More functions can be used as a method. Solution: Allow more functions to be used as a method. https://github.com/vim/vim/commit/5d69fdb7c4b91faf2d92b8d449cc9460f3035fb3
| * feat(eval/method): partially port v8.1.1925Sean Dewar2021-10-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds method call support for all functions in the patch, but it cannot be fully ported due to missing tests for: - getcwd(): requires chdir() and Test_chdir_func() from v8.1.1291. Note that the method call tests for getreg() and getregtype() were removed in v8.2.1547, which has already been ported, but doesn't seem to have been replaced with a new test... This patch also makes getchangelist()'s argument optional (defaults to the current buffer). eval.txt includes a typo for gettabwinvar(), which is fixed in v8.1.1952.
| * feat(eval/method): partially port v8.1.1921Sean Dewar2021-10-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds method call support for all functions in the patch, but it cannot be fully ported due to missing tests for: - filereadable(): requires v8.1.1378 for Test_delete_rf(), but there appears to have been some trouble porting it. (#12784) - confirm(): requires v8.1.0832 for Test_confirm() and v8.1.0815 for feedkeys()'s "L" flag. (I did attempt to port the test using nvim_input() instead, but seems that input handling for confirm() doesn't work in --headless mode?) Note that confirm() was actually added as a method in v8.1.1915. Uncomment use of method call syntax in Test_Executable() previously included instead from v8.2.2259.
* | fix(lsp): add done flag to messages returned in util.get_progress_messages() ↵jdrouhard2021-10-10
| | | | | | | | (#15985)
* | vim-patch:8.2.3461: distinguish Normal and Terminal-Normal mode #15878zeertzjq2021-10-09
| | | | | | | | | | Problem: Cannot distinguish Normal and Terminal-Normal mode. Solution: Make mode() return "nt" for Terminal-Normal mode. (issue vim/vim#8856) https://github.com/vim/vim/commit/72406a4bd2896915b6f541e26d41521a59b1f846
* | fix(checkhealth): duplicate checks if module name has "-" #15935Jakub Łuczyński2021-10-08
| | | | | | | | | | | | | | Problem: Some plugins have structure `lua/nvim-someplugin/..` Since `-` is not allowed in vim function names, healthcheck names in lua and in vim can not have the same name (typically vim will use `_` instead of `-`). Solution: Normalize the names before checking for duplicates.
* | fix(lsp): add textDocument/prepareRename to capability map (#15961)francisco souza2021-10-08
| | | | | | | | | | | | | | | | | | | | This is a simple fix for #15899, as it should at least stop calling `prepareRename` on servers that don't support renaming. I imagine a better fix would be to inspect the actual value for, but that requires some plumbing changes on how capabilities are evaluated before sending requests out. Co-authored-by: francisco souza <fsouza@users.noreply.github.com>
* | fix(diagnostic): error on invalid severity value (#15965)Gregory Anders2021-10-08
| | | | | | | | | | | | | | Users can pass string values for severities that match with the enum names (e.g. "Warn" or "Info") which are converted to the corresponding numerical value in `to_severity`. Invalid strings were simply left as-is, which caused confusing errors later on. Instead, report an invalid severity string right up front to make the problem clear.
* | fix(lsp): expose ContentModified error code to callbacks (#15262)Rishikesh Vaishnav2021-10-08
| |
* | feat(lsp): utilize textEdit.range for startbyte in omnifunc (#15957)Mathias Fußenegger2021-10-08
| | | | | | Closes https://github.com/neovim/neovim/issues/15784
* | fix: support severity_sort option for show_diagnostic functions (#15948)Gregory Anders2021-10-07
| | | | | | Support the severity_sort option for show_{line,position}_diagnostics.
* | fix(provider): compare versions as number, not string #15937Tejasvi S. Tomar2021-10-07
| | | | | | | | "3.10" < "3.3" but v3.10 > v3.3 Fixes #14586
* | feat(diagnostic): update jumplist on goto_next/prev (#15942)Sean Dewar2021-10-07
| |
* | fix: set cursorlineopt=number in terminal mode (#15493)Yorick Peterse2021-10-06
| | | | | | | | | | | | | | | | | | | | When entering terminal mode, cursorlineopt is no longer entirely disabled. Instead, it's set to `number`. Doing so ensures that users using `set cursorline` combined with `set cursorlineopt=number` have consistent highlighting of the line numbers, instead of this being disabled when entering terminal mode. Co-authored-by: Gregory Anders <greg@gpanders.com> Co-authored-by: Sean Dewar <seandewar@users.noreply.github.com>
* | vim-patch:8.2.0017: OS/2 and MS-DOS are still mentioned #15928dundargoc2021-10-06
| | | | | | | | | | | | Problem: OS/2 and MS-DOS are still mentioned, even though support was removed long ago. Solution: Update documentation. (Yegappan Lakshmanan, closes vim/vim#5368) https://github.com/vim/vim/commit/6f345a1458df2db03fba7863492404e9dc8b817c
* | fix(checkhealth): mitigate issues with duplicate healthchecks #15919Javier Lopez2021-10-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * fix(runtime/health): mitigate issues with duplicate healthchecks Previously if a healthcheck was found as Lua and Vim it was executed both times. This new implementations prefers Lua, therefore if two are found It only runs the Lua one, this way a plugin can mantain both implementations the Lua one with the method `check()` and the autoload function `#check()` (for none HEAD nvim versions). **Note: This will require plugins to use `check()` as the function name, since the autoload function that wraps the lua implementation won't be called** * docs(health): use spaces and don't overuse backtics followup to #15259
* | docs: regenerate #15545github-actions[bot]2021-10-05
| |
* | feat(api): named marks set, get, delete #15346Javier Lopez2021-10-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds the following API functions. - nvim_buf_set_mark(buf, name, line, col) * Set marks in a buffer. - nvim_buf_del_mark(buf, name) * Delete a mark that belongs to buffer. - nvim_del_mark(name) * Delete a global mark. - nvim_get_mark(name) * Get a global mark. Tests: - Adds test to all the new api functions, and adds more for the existing nvim_buf_get_mark. * Tests include failure cases. Documentation: - Adds documentation for all the new functions, and improves the existing fucntion docs.
* | feat(lsp): improve json deserialization performance (#15854)Michael Lingelbach2021-10-05
| | | | | | | | | | | | | | | | | | | | * Add optional second table argument to vim.json.decode which takes a table 'luanil' which can include the 'object' and/or 'array' keys. These options use luanil when converting NULL in json objects and arrays respectively. The default behavior matches the original lua-cjson. * Remove recursive_convert_NIL function from rpc.lua, use vim.json.decode with luanil = { object = true } instead. This removes a hotpath in the json deserialization pipeline by dropping keys with json NULL values throughout the deserialized table.
* | fix(vim-patch): add missing nginx runtime files (#15916)Christian Clason2021-10-05
| | | | | | Followup to incomplete runtime update https://github.com/neovim/neovim/pull/15911
* | docs(intro.txt): change vimhelp.appspot.com to vimhelp.org (#15915)zeertzjq2021-10-05
| | | | | | Ref https://github.com/vim/vim/commit/6c1e1570b1346de0d438fbb991bddab38c228290#diff-644ad027e3580bc940a6b7b4aaf1869bae267f7ff30e359e523d5de70e317106
* | vim-patch:6e649224926b (#15911)Christian Clason2021-10-05
| | | | | | | | Update runtime files https://github.com/vim/vim/commit/6e649224926bbc1df6a4fdfa7a96b4acb1f8bee0
* | fix(healthcheck): update builtins to the new convention #15914Javier Lopez2021-10-05
| | | | | | Adjust some builtin healthchecks to use Lua, after #15259
* | vim-patch:8.2.3473: some tcl files are not recognized #15912Christian Clason2021-10-05
| | | | | | | | | | Problem: Some files with tcl syntax are not recognized. Solution: Add a few file patterns. (Doug Kearns) https://github.com/vim/vim/commit/78aa5ffe314f40d33666f03b833f66b11c3d0f67
* | Merge pull request #15259 from muniter/muniter/checkhealth-from-luaMatthieu Coudron2021-10-05
|\ \ | | | | | | feat(checkhealth): support Lua healthchecks
| * | docs(runtime/health): update with new lua supportJavier López2021-10-04
| | | | | | | | | | | | | | | | | | - describe how the lua support works - explain new behavior of :checkhealth * - fixed formatting to use tab instead of spaces
| * | feat(runtime/health): support lua healthchecksJavier López2021-10-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Refactor health.vim to discover lua healthcheck in the runtime directories lua/**/health{/init}.lua - Support healthchecks for lua submodules e.g :checkhealth vim.lsp and also support wildcard "*" at the end for all submodules :checkhealth vim* - Refactor health.vim to use variable scope instead of output capturing - Create health.lua module to wrap report functions and future extensibility. - Move away from searching just in the runtimepath, use `nvim_get_runtime_file` due to #15632 Example: Plugin linter in rtp can declare it's checkhealts in lua module `lua/linter/health{/init}.lua` that returns a table with a method "check" that when executed calls the report functions provided by the builtin lua module require("health"). The plugin also has a submodule `/lua/linter/providers` in which it defines `/lua/linter/providers/health{/init}.lua` This plugin healthcheck can now be run by the ex command: `:checkhealth linter linter.providers` Also calling all submodules can be done by: `:checkhealth linter* And "linter" and "linter.provider" would be discovered when: `:checkhealth`
* | | docs(develop.txt): nvim_open_win is now in win_config.c (#15909)zeertzjq2021-10-04
| | |
* | | docs: fix typoAditya Kurdunkar2021-10-04
|/ /
* | feat(startup): load builtin plugins with --clean #15893Gregory Anders2021-10-04
| | | | | | Closes #15605
* | refactor: define diagnostic highlights in syntax.cGregory Anders2021-10-03
| |
* | Merge #15218 from gpanders/split-trimemptyJustin M. Keyes2021-10-03
|\ \ | | | | | | feat(lua): add "noempty" param to vim.split()
| * | refactor: use kwargs parameter in vim.splitGregory Anders2021-09-25
| | |
| * | feat: add trimempty optional parameter to vim.splitGregory Anders2021-09-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `split()` VimL function trims empty items from the returned list by default, so that, e.g. split("\nhello\nworld\n\n", "\n") returns ["hello", "world"] The Lua implementation of vim.split does not do this. For example, vim.split("\nhello\nworld\n\n", "\n") returns {'', 'hello', 'world', '', ''} Add an optional parameter to the vim.split function that, when true, trims these empty elements from the front and back of the returned table. This is only possible for vim.split and not vim.gsplit; because vim.gsplit is an iterator, there is no way for it to know if the current item is the last non-empty item. Note that in order to preserve backward compatibility, the parameter for the Lua vim.split function is `trimempty`, while the VimL function uses `keepempty` (i.e. they are opposites). This means there is a disconnect between these two functions that may surprise users.
* | | vim-patch:8.2.3469: some files with json syntax are not recognized (#15891)dundargoc2021-10-03
| |/ |/| | | | | | | Problem: Some files with json syntax are not recognized. Solution: Add a few file patterns. (Emiliano Ruiz Carletti, closes vim/vim#8947) https://github.com/vim/vim/commit/50c56893423eb6ad2154a4151e67f7097f52efb6
* | vim-patch:8.2.3466: completion submode not indicated for virtual replace ↵zeertzjq2021-10-03
| | | | | | | | | | | | | | (#15886) Problem: Completion submode not indicated for virtual replace. Solution: Add submode to "Rv". (closes vim/vim#8945) https://github.com/vim/vim/commit/cc8cd4453332276d55b4a1109eace5785a4f319d
* | vim-patch:8.2.3465: cannot detect insert scroll mode (#15885)zeertzjq2021-10-03
| | | | | | | | | | Problem: Cannot detect insert scroll mode. Solution: Add "scroll" to complete_info(). (closes vim/vim#8943) https://github.com/vim/vim/commit/27fef59dd1dd75f50c366f7f616ffa4451560452
* | vim-patch:8.2.3464: nginx files are not recognized (#15883)Christian Clason2021-10-03
| | | | | | | | | | Problem: nginx files are not recognized. Solution: Add several file patterns. (Chris Aumann, closes vim/vim#8922) https://github.com/vim/vim/commit/8b8c0ed657fabd88e610401ca8a12366f987db94
* | Merge pull request #15786 from gpanders/diagnostic-signs-unique-severityGregory Anders2021-10-02
|\ \
| * | refactor(diagnostics): always make 'set' go through 'show'Gregory Anders2021-10-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Always make calls to `vim.diagnostic.set` call `vim.diagnostic.show`. This creates an easier to reason about code path and is also less surprising when users wish to override override `vim.diagnostic.show` with custom behavior and `vim.diagnostic.set` is called with empty diagnostics. Functionally, the end result is the same: when `show` is called with an empty diagnostics list, it just calls `hide` and then returns, which is exactly what `reset` does right now.
| * | docs(diagnostic): add blurb on how to replace builtin handlersGregory Anders2021-10-02
| | |
* | | docs(lsp): clarify parameters of some util functions (#15851)zeertzjq2021-10-02
| | | | | | | | | | | | `pad_left` and `pad_right` are unused List used keys of `opts` in `make_floating_popup_options`
* | | fix(float)!: always anchor to corner of window including border #15832zeertzjq2021-10-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | N, W, S, E are all inclusive, i.e., always anchor to the exact corner of the window (including border). This line may also need change in this case (change 0 to -1): This is most consistent and easiest to reason about, especially with GUIs whose border do not need to have width/height of 1/1 in cell units. Fix #15789
* | | docs: remove obsolete text on language #15875dundargoc2021-10-02
|/ /
* | feat(diagnostics): add vim.diagnostic.get_namespaces (#15866)Michael Lingelbach2021-10-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many vim.diagnostic functions expect the user to pass in a namespace id. This PR allows the user to list active diagnostic namespaces: ```lua :lua print(vim.inspect(vim.diagnostic.get_namespaces())) { [7] = { name = "vim.lsp.client-1", opts = {}, sign_group = "vim.diagnostic.vim.lsp.client-1" } } ```
* | docs(diagnostics): add "priority" option to signs table (#15860)Gregory Anders2021-10-01
| | | | | | | | This feature was added in #15785, but the docs for vim.diagnostic.config() weren't updated.
* | docs: add 'plus one' to correct getmousepos docsDaniel Steinberg2021-09-29
| | | | | | | | | | This change was applied to Vim as part of 90df4b9. https://github.com/vim/vim/commit/90df4b9d423485f7db16e3a65cab4f14edc815ae