| Commit message (Collapse) | Author | Age |
... | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Using expr->FuncRef() does not work.
Solution: Make FuncRef work as a method.
https://github.com/vim/vim/commit/761fdf01c6e307c448cec2684f8b315ba6d1f454
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Cannot use a user defined function as a method.
Solution: Pass the base as the first argument to the user defined function
after "->". (partly by FUJIWARA Takuya)
https://github.com/vim/vim/commit/fcfe1a9b8950b8b211ab3b24d84b17c6847ea43f
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: More functions can be used as a method.
Solution: Add has_key(), split(), str2list(), etc.
https://github.com/vim/vim/commit/a74e4946de074d2916e3d6004f7fa1810d12dda9
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Function call functions have too many arguments.
Solution: Pass values in a funcexe_T struct.
https://github.com/vim/vim/commit/c6538bcc1cdd1fb83732f22fdc69bd9bb66f968a
Use FUNCEXE_INIT to initialize funcexe_T instances.
call_callback() and other Vim listener related stuff is N/A.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Running tests leaves some files behind.
Solution: Delete the files. (Ozaki Kiichi, closes vim/vim#4617)
https://github.com/vim/vim/commit/3940ec6d41a07f9abbfba7d4db6b49d3d8b43a9a
Required for v8.1.1888.
N/A patches for version.c:
vim-patch:8.1.1912: more functions can be used as methods
Problem: More functions can be used as methods.
Solution: Make channel and job functions usable as a method.
vim/vim@570497a
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Cherry-pick Test_call() and Test_cindent_func().
Required for v8.1.1911 and v8.1.1915.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
v8.1.0736 made some changes for making some emsgs more specific.
Includes the change for Test_lambda_fails() in test_lambda.vim.
Adjust relevant functionaltests to expect the new emsgs.
This patch has been fully ported in my Blob port PR, but it hasn't been
merged yet, so just use what we need from it for now.
Required for v8.1.1821.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Buffer overflow when completing long tag name.
Solution: Allocate the buffer dynamically. (Gregory Anders, closes vim/vim#8769)
https://github.com/vim/vim/commit/489d60996deb5e7c1a3b4633412d54632e6def42
|
|\ \ \ \
| | | | |
| | | | | |
Send correct byte updates on visual paste
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | | |
One step further towards stable tree-sitter.
Co-authored-by: Björn Linse <bjorn.linse@gmail.com>
|
|\ \ \ \
| |/ / /
|/| | | |
feat(ts): add query module in treesitter keys
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | |
| | | |
| | | |
| | | | |
Update Scala syntax file
https://github.com/vim/vim/commit/6aa57295cfbe8f21c15f0671e45fd53cf990d404
|
|/ / /
| | |
| | | |
A step towards reproducible builds.
|
| | | |
|
|\ \ \
| | | |
| | | | |
feat(treesitter): add next, prev sibling method
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Add tsnode methods to change to the next, previous, named or unnamed
nodes.
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | | |
Fix #15313
|
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
|\ \ \ \
| | | | |
| | | | | |
refactor(map): remove extra-allocating map_new/map_free functions
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Note: the reason for removing them is not that there after this refactor
is no use of them, but rather that having them available is an
anti-pattern: they manange an _extra_ heap allocation which has
nothing to do with the functionality of the map itself (khash
manages the real buffers internally). In case there happens to
be a reason to allocate the map structure itself later, this
should be made explicit using xcalloc/xfree calls.
|
| | | | |
|
| | | |
| | | |
| | | | |
... to prevent bots from overwriting it
|
|\ \ \ \
| | | | |
| | | | | |
perf(map): get rid of unnecessary pointer indirections for maps.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
These things are just maps to pointers, no need to perform
a huge song and dance around it.
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
the only field of Map(...) was a pointer to a khash_t. make it contain
the struct by value instead.
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* 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.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
- update ":help 'hidden'" #15410
- update ":help K" #15398
- try to capture some of the debug steps from #12036 (bpftrace, USDT probes)
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Open external 'keywordprg' commands in a :terminal in a new tab. <Esc> is
mapped to stop the job and close the buffer.
Closes #2995
Closes #2761
|
| | | |
| | | |
| | | | |
Closes #4713
|
|\ \ \ \
| |/ / /
|/| | | |
fix: only source package ftdetect files once
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
ftdetect files in start packages are sourced once from the :runtime
command in filetype.vim and once when packages are loaded. Change the
package loading logic to only source ftdetect files for opt packages to
avoid this duplication.
|
| | | |
| | | |
| | | | |
Co-authored-by: marvim <marvim@users.noreply.github.com>
|
|\ \ \ \
| | | | |
| | | | | |
perf(treesitter): avoid string lookup of highlight name in hot loop
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
These numbers are guaranteed to be stable even if you do "highlight
clear" (all attributes disappear, but not the id to name mapping itself)
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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(highlights): some improvements and perf fixes
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
syn_name2id and syn_check_group go brr.
Note: this has impact mostly when using multiple filetypes,
as the old syn_name2id was optimized to return latest
added groups quickly (which will be the latest filetype)
|