aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* | | | docs: regenerate #15545github-actions[bot]2021-10-05
| | | |
* | | | fix(docs): add win_config.cJustin M. Keyes2021-10-05
| | | |
* | | | fix(docs): duplicate tag, wrong formattingJustin M. Keyes2021-10-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes build error: cd /usr/home/build/neovim/build/runtime && /usr/local/bin/cmake -E remove doc/* && /usr/local/bin/cmake -E copy_directory /usr/home/build/neovim/runtime/doc doc && /usr/home/build/neovim/build/bin/nvim -u NONE -i NONE -e --headless -c helptags\ ++t\ doc -c quit Error detected while processing command line: E154: Duplicate tag "vim.register_keystroke_callback()" in file doc/lua.txt
* | | | 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.
* | | | build(deps)!: use libuv 1.42.0 upstream for WIN32 (#15889)Christian Clason2021-10-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Switch libuv from https://github.com/neovim/libuv fork to upstream for WIN32. Upstream at 1.42.0 is now used for all platforms. BREAKING CHANGE: removes Windows 7 support BREAKING CHANGE: removes support for mouse and alternate buffers in TUI for Windows 8 and 8.1
* | | | docs(contrib): recommend `nvim --clean` #15917Christian Clason2021-10-05
| | | |
* | | | 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
* | | | ci: exclude lua-cjson from PVS report #15859dundargoc2021-10-05
| | | |
* | | | 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
| * | | | feat(ex_checkhealth): provide function for command line completionJavier López2021-10-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move away from providing completion with ExpandRTDir to ExpandGeneric providing the function get_healthcheck_name which caches the results for the current command line prompt. It does the almost the same thing the Vim function 'get_healthcheck' implemented in 'runtime/autoload/health.vim' does.
| * | | | 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
| * | | | test(runtime/health): cover lua healthchecksJavier López2021-10-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add tests for lua healthchecks (failure, success and submodules). - Reword some of the test naming for improved logs readability. - Modify render test to accomodate the changes of the health autoload function. - Add test for :checkhealth completion of Lua healtchecks.
| * | | | 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
| | | | |
* | | | | Merge pull request #15813 from bfredl/neomouseBjörn Linse2021-10-04
|\ \ \ \ \ | | | | | | | | | | | | fix(mouse): correct dragged position in composed layout
| * | | | | fix(mouse): correct dragged position in composed layoutBjörn Linse2021-10-04
| | | | | |
* | | | | | docs: fix typoAditya Kurdunkar2021-10-04
| | | | | |
* | | | | | Merge pull request #15901 from bfredl/apiorgBjörn Linse2021-10-04
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | refactor(api): re-organanize public and private API functions
| * | | | | refactor(api): move window config related functions to own fileBjörn Linse2021-10-04
| | | | | |
| * | | | | refactor(api): make export of functions opt-in, not opt-outBjörn Linse2021-10-03
| |/ / / /
* | | | | refactor: inline unnecessary macros #15890dundargoc2021-10-04
| | | | |
* | | | | feat(startup): load builtin plugins with --clean #15893Gregory Anders2021-10-04
| | | | | | | | | | | | | | | Closes #15605
* | | | | refactor: remove redundant char casts #15888dundargoc2021-10-04
| | | | |
* | | | | Merge pull request #15894 from gpanders/hardcode-diagnostic-highlightsBjörn Linse2021-10-04
|\ \ \ \ \ | | | | | | | | | | | | refactor: define diagnostic highlights in syntax.c
| * | | | | 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
* | | | Merge pull request #15516 from bfredl/keysetBjörn Linse2021-10-03
|\ \ \ \ | | | | | | | | | | refactor(api): Represent option dicts as a structs in C and reduce conversion overhead from lua
| * | | | refactor(api): handle option dicts properlyBjörn Linse2021-10-03
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | Do not copy a lot of lua strings (dict keys) to just strequal() them Just compare them directly to a dedicated hash function. feat(generators): HASHY McHASHFACE
* | | | 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
| | | | |
| * | | | test(diagnostic): add test case for signsGregory Anders2021-10-02
| | | | |
* | | | | fix(nvim_open_win): crash if autocmds delete buffer/window #15549Sean Dewar2021-10-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | win_set_buf can trigger autocmds if noautocmd=false. If they close the window, code afterwards will dereference the freed win_T* wp pointer. This interaction became possible after commit 1def3d1542d6a65f057e743faea39a760b50db87. The reason deleting curbuf crashes, and not the buf passed to `nvim_open_win`, is because the float initially edits curbuf (`win_init`) until it's later set to edit buf (windows from `:new` and `:split <buf>` behave similiarly: approx. `:split`, then `:buffer <buf>`). `do_buffer` closes windows when their edited buffer is deleted (unless it's the only window; N/A for floats), so the float closes when curbuf is deleted, so we need to check `win_valid` after `win_set_buf` too. Closes #15548
* | | | | vim-patch:8.2.3460: some type casts are not needed #15868dundargoc2021-10-02
| | | | | | | | | | | | | | | | | | | | | | | | | Problem: Some type casts are not needed. Solution: Remove unnecessary type casts. (closes vim/vim#8934) https://github.com/vim/vim/commit/dfa5e464d459f84200a73d178f1ecefe75bbe511
* | | | | 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
* | | | | Merge #15803 fix(lsp_spec): tests depend on previous sessionJustin M. Keyes2021-10-02
|\ \ \ \ \
| * | | | | fix(lsp_spec): tests depended on previous sessionJustin M. Keyes2021-10-02
| | | | | | | | | | | | | | | | | | | | | | | | - fix tests which accidentally depended on previous session
| * | | | | fix(release.sh): ignore failed "rm"Justin M. Keyes2021-10-02
| | | | | |