aboutsummaryrefslogtreecommitdiff
path: root/runtime
Commit message (Collapse)AuthorAge
* fix(jobwait): always drain process event queues #15402Gregory Anders2021-08-31
| | | | | | | | | | | | | | Problem: jobwait() returns early if the job was stopped, but the job might have pending callbacks on its event queue which are required to complete its teardown. State such as term->closed might not be updated yet (by the pending callbacks), so codepaths such as :bdelete think the job is still running. Solution: Always flush the job's event queue before returning from jobwait(). ref #15349
* fix(tutor): formatting, layout #15098Oliver Marriott2021-08-30
| | | | | | | | | | | | | | | | | * fix(tutor): adjust over-80ch lines and corresponding expect file * fix(tutor): standardise indentation and formatting, add nowrap modeline - unifies the formatting/layout, which was a bit inconsistent, - adds a nowrap modeline Since the tutor uses a lot of conceals, which are included in the character count when calculating line wrapping, lines were breaking at what looked like odd spots, which gives a poor first impression and lowered readability. I have adjusted some lines to be over 80ch in the source, but once they're rendered out with conceals, they're actually under 80, so even with nowrap we don't visually extend past 80. fix #15088
* fix(lsp): resolve bufnr in buf_is_attached (#15523)Jose Alvarez2021-08-30
|
* docs: regeneratemarvim2021-08-29
|
* fix(lua): preserve argument lists which are not listsBjörn Linse2021-08-29
|
* fix(lsp): check if buffer is valid in changetracking (#15505)Jose Alvarez2021-08-28
|
* docs: update 'backupdir' and 'undodir' descriptionsGregory Anders2021-08-27
|
* feat: defaults: auto-create backup dirGregory Anders2021-08-27
| | | | | | | | | | | | | | | | | Copy the behavior of 'undodir' and create the last specified directory in the 'backupdir' option if it doesn't exist. Use trailing slashes for 'backupdir' as well as 'viewdir' and 'undodir' by default. Note that 'undodir' always behaves as though it has the trailing slashes, regardless of whether or not they are present. They are added to the default option value to minimize surprise. The '.' value in 'backupdir' is kept because the default behavior for backups is solely to have a backup if the save of the main file to disk fails. As soon as that save is completed the backup file is removed, so generally there is no need to put them in a central location. Co-authored by: murphy66 <murphy66@gmail.com>
* vim-patch:8.1.2229: color number column above/below cursor #15409zeertzjq2021-08-27
| | | | | Problem: Cannot color number column above/below cursor differently. Solution: Add LineNrAbove and LineNrBelow. (Shaun Brady, closes vim/vim#624) https://github.com/vim/vim/commit/efae76ab1a43d5a628d8c2fa4218ace6ba597f5d
* feat(lsp): get_border_size(): support repeating border char list #15474zeertzjq2021-08-27
|
* fix(lua): verify buffer in highlight.on_yank (#15482)notomo2021-08-26
| | | | | Resolve an issue with deferred clearing of highlight failing if the buffer is deleted before the timeout by checking whether the buffer is valid first.
* fix(man.vim): use -addr=other instead of -range=-1 #15172zeertzjq2021-08-26
| | | | | -range=-1 requires the current file to have at least <count> lines, whereas -addr=other doesn't. -addr=other also sets <count> to -1 by default when it is not specified, though this feature seems undocumented.
* fix(man.vim): reduce false positives for manReference #14242zeertzjq2021-08-26
| | | Co-authored-by: Anmol Sethi <hi@nhooyr.io>
* Merge #15293 Vimscript "method" syntaxJustin M. Keyes2021-08-26
|\ | | | | Port VimL's method call syntax - vim-patch:8.1.{1638,1800,1803,1807,1809,1816,1820,1821,1828,1834,1835,1861,1863,1878,1879,1888,1909,1911,1912}
| * feat(v:lua): support calling v:lua as a methodSean Dewar2021-08-13
| |
| * feat(eval): partially port v8.1.1915Sean Dewar2021-08-12
| | | | | | | | Cannot be fully ported as chdir() hasn't been ported yet.
| * vim-patch:8.1.1911: more functions can be used as methodsSean Dewar2021-08-12
| | | | | | | | | | | | | | | | | | | | | | Problem: More functions can be used as methods. Solution: Make a few more functions usable as a method. https://github.com/vim/vim/commit/64b4d73524b9a2304d89b87529cd8d3cef14b856 Note that the old-style version of Test_byteidx() was already translated to a Lua test in 069_multibyte_formatting_spec.lua. Keep both versions, using Test_byteidx() to mainly test the method call syntax for byteidx() and byteidxcomp().
| * vim-patch:8.1.1909: more functions can be used as methodsSean Dewar2021-08-12
| | | | | | | | | | | | Problem: More functions can be used as methods. Solution: Make a few more functions usable as a method. https://github.com/vim/vim/commit/e49fbff384e45dd17fed72321c26937edf6de16b
| * vim-patch:8.1.1888: more functions can be used as methodsSean Dewar2021-08-12
| | | | | | | | | | | | | | | | | | Problem: More functions can be used as methods. Solution: Make various functions usable as a method. https://github.com/vim/vim/commit/073e4b92e613d22ce7b16e0fbf5c0e40cb5f9b2c test_popup.vim already has the changes from this patch (they're N/A anyway).
| * vim-patch:8.1.1879: more functions can be used as methodsSean Dewar2021-08-12
| | | | | | | | | | | | | | | | | | Problem: More functions can be used as methods. Solution: Make float functions usable as a method. https://github.com/vim/vim/commit/93cf85f9ef02931de3f8c8e536a137da0b48b7dc Fix atan2() doc typo (patch referred to it as atan()). Adjust Test_fmod() method test to expect "str2float('nan')".
| * vim-patch:8.1.1861: only some assert functions can be used as a methodSean Dewar2021-08-12
| | | | | | | | | | | | | | | | Problem: Only some assert functions can be used as a method. Solution: Allow using most assert functions as a method. https://github.com/vim/vim/commit/24278d2407dfbc8d93eb36593cdd006ff5d86f94 Port tests to assert_spec.lua.
| * vim-patch:8.1.1835: cannot use printf() as a methodSean Dewar2021-08-12
| | | | | | | | | | | | Problem: Cannot use printf() as a method. Solution: Pass the base as the second argument to printf(). https://github.com/vim/vim/commit/fd8ca21b3ff207e44891aef922935d4adcd140cf
| * vim-patch:8.1.1834: cannot use a lambda as a methodSean Dewar2021-08-12
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Cannot use a lambda as a method. Solution: Implement ->{lambda}(). (closes vim/vim#4768) https://github.com/vim/vim/commit/22a0c0c4ecd23b6c43f79ba9b92899ca0b426e29 Add an additional lua_funcname argument to call_func_rettv() to maintain support for v:lua. A memory leak was introduced with this patch that was fixed in v8.1.2107.
| * vim-patch:8.1.1828: not strict enough checking syntax of method invocationSean Dewar2021-08-12
| | | | | | | | | | | | Problem: Not strict enough checking syntax of method invocation. Solution: Check there is no white space inside ->method(. https://github.com/vim/vim/commit/5184132ec015f5889a3195d911e609d214f06bed
| * vim-patch:8.1.1809: more functions can be used as a methodSean Dewar2021-08-12
| | | | | | | | | | | | Problem: More functions can be used as a method. Solution: Add has_key(), split(), str2list(), etc. https://github.com/vim/vim/commit/a74e4946de074d2916e3d6004f7fa1810d12dda9
| * vim-patch:8.1.1807: more functions can be used as a methodSean Dewar2021-08-12
| | | | | | | | | | | | | | | | | | Problem: More functions can be used as a method. Solution: Add append(), appendbufline(), assert_equal(), etc. Also add the :eval command. https://github.com/vim/vim/commit/25e42231d3ee27feec2568fa4be2aa2bfba82ae5 :eval is already ported.
| * vim-patch:8.1.1803: all builtin functions are globalSean Dewar2021-08-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: All builtin functions are global. Solution: Add the method call operator ->. Implemented for a limited number of functions. https://github.com/vim/vim/commit/ac92e25a33c37ec5becbfffeccda136c73b761ac - Note that to *exactly* port hunk @@ -7376,18 +7444,19 from handle_subscript(), we need the :scriptversion patches (I have an open PR for those, but this patch works fine without them anyway). - Port call_internal_func() from v7.4.2058. - Adjust some error messages in tests, as they rely on the Blob patches. - Add a modeline to test_method.vim. Ignore the global_functions and base_method tables and prefer the current GPerf implementation. Instead, add an extra base_arg field to VimLFuncDef that holds the number of the argument to use as the base (1-indexed, so that 0 may be used to refer to functions that cannot be used as methods). This also means we support using any argument as a base from the get-go, rather than just the first (Vim includes this ability in future patches, however). To mark a function as usable as a method, use the "base" key as described in eval.lua.
* | fix(man.vim): filetype=man is too eager #15488Justin M. Keyes2021-08-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: "set filetype=man" assumes the user wants :Man features, this does extra stuff like renaming the buffer as "man://". Solution: - old entrypoint was ":set filetype=man", but this is too presumptuous #15487 - make the entrypoints more explicit: 1. when the ":Man" command is run 2. when a "man://" buffer is opened - remove the tricky b:man_sect checks in ftplugin/man.vim and syntax/man.vim - MANPAGER is supported via ":Man!", as documented. fixes #15487
* | Merge pull request #15466 from vigoux/ts-query-autoThomas Vigouroux2021-08-24
|\ \ | | | | | | feat(ts): add query module in treesitter keys
| * | feat(ts): add query module in treesitter keysThomas Vigouroux2021-08-23
| | |
* | | fix(lsp): enable additional capabilities (#15470)Michael Lingelbach2021-08-23
| | | | | | | | | | | | | | | | | | | | | Declaration, type-definition, and implementation capabilities were previously disabled if the client received table output from the server capabilities. The workDoneProgress capability is sent for many servers for all supported capabilities as part of this table. Default to setting capability to table instead of false.
* | | vim-patch:6aa5729 (#15463)Christian Clason2021-08-23
|/ / | | | | | | Update Scala syntax file https://github.com/vim/vim/commit/6aa57295cfbe8f21c15f0671e45fd53cf990d404
* | fix(doc): example for vim.diff() (#15464)Lewis Russell2021-08-23
| |
* | Merge pull request #15434 from Dkendal/feature-lua-treesitter-siblingThomas Vigouroux2021-08-23
|\ \ | | | | | | feat(treesitter): add next, prev sibling method
| * | feat(treesitter): add next, prev sibling methodDylan Kendal2021-08-20
| | | | | | | | | | | | | | | Add tsnode methods to change to the next, previous, named or unnamed nodes.
* | | vim-patch:8.2.3358: structurizr files are not recognized (#15417)Jesse Atkinson2021-08-22
| | | | | | | | | | | | | | | Problem: Structurizr files are not recognized. Solution: Recognize the file by contents. (Bastian Venthur, closes vim/vim#8764) https://github.com/vim/vim/commit/dea561111a5761bf99397a246b8baa43e73288de
* | | docs: make Lua docstrings consistent #15255Gregory Anders2021-08-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The official developer documentation in in :h dev-lua-doc specifies to use "--@" for special/magic tokens. However, this format is not consistent with EmmyLua notation (used by some Lua language servers) nor with the C version of the magic docstring tokens which use three comment characters. Further, the code base is currently split between usage of "--@", "---@", and "--- @". In an effort to remain consistent, change all Lua magic tokens to use "---@" and update the developer documentation accordingly.
* | | fix(doc): move vim.diff doc (#15456)Lewis Russell2021-08-22
| | | | | | | | | ... to prevent bots from overwriting it
* | | feat(api): add lua C bindings for xdiff (#14536)Lewis Russell2021-08-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * feat(api): add lua C bindings for xdiff * chore: opt.hunk_lines -> opt.result_type opt.on_hunk now takes precedence over opt.result_type * chore: fix indents Fix indents * chore: change how priv is managed Assign priv NULL and unconditionally apply XFREE_CLEAR to it when finished.
* | | docs #15447Justin M. Keyes2021-08-21
| | | | | | | | | | | | | | | - update ":help 'hidden'" #15410 - update ":help K" #15398 - try to capture some of the debug steps from #12036 (bpftrace, USDT probes)
* | | feat(terminal): TermClose: set exit code in v:event.status #15406Gregory Anders2021-08-20
|/ / | | | | Closes #4713
* | docs: regenerate (#15431)github-actions[bot]2021-08-19
| | | | | | Co-authored-by: marvim <marvim@users.noreply.github.com>
* | Merge pull request #15429 from bfredl/hl_2Björn Linse2021-08-19
|\ \ | | | | | | perf(treesitter): avoid string lookup of highlight name in hot loop
| * | perf(treesitter): avoid string lookup of highlight name in hot loopBjörn Linse2021-08-19
| | | | | | | | | | | | | | | These numbers are guaranteed to be stable even if you do "highlight clear" (all attributes disappear, but not the id to name mapping itself)
* | | feat(lsp): allow root_dir to be nil (#15430)Mathias Fußenegger2021-08-19
| | | | | | | | | | | | | | | | | | | | | | | | According to the protocol definition `rootPath`, `rootUri` and `workspaceFolders` are allowed to be null. Some language servers utilize this to provide "single file" support. If all three are null, they don't attempt to index a directory but instead only provide capabilities for a single file.
* | | feat(lsp): jump to diagnostics by position (#14795)Zi How Poh2021-08-19
|/ /
* | Merge pull request #15422 from bfredl/syn_name2id_go_brrBjörn Linse2021-08-19
|\ \ | | | | | | feat(highlights): some improvements and perf fixes
| * | feat(match): allow hl group to be defined after :match commandBjörn Linse2021-08-19
| | |
* | | feat(defaults): set nojoinspacesGregory Anders2021-08-17
| | |
* | | feat(defaults): set hiddenGregory Anders2021-08-17
|/ /