| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
| |
fixes #15524
Note: this is obviously a quickfix. A scalabe solution will
involve being able to specify a _list_ of modules to be
put into packages.preload, without needing to manually copypasta
a blurb of C code. Perhaps even involving bytecode for
static builds (to speedup initialization)
|
| |
|
|
|
|
|
|
|
| |
Converter functions use a heap-allocated stack to handle complex
nested objects. However, these are often called with simple,
primitive values like integers or bools wrapped in an Object.
Avoid the memory allocation in this case using kvec_withinit_t
|
|\
| |
| | |
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}
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | | |
feat(treesitter): add next, prev sibling method
|
| |/
| |
| |
| |
| | |
Add tsnode methods to change to the next, previous, named or unnamed
nodes.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | | |
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.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
| |
lua is used as part of implementation for more core features. As an
example, every user keypress will invoke a lua function to check for
keypress handlers (regardless if they are registered or not). Thus not
starting lua until it is first used doesn't make much sense anymore.
nlua_enter was also needed due to the earlier stateful &rtp
translation, which by now have been made stateless.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a fixup for #14915, which used the above-mentioned call to
restore the behavior of the pre-release version of tree-sitter to
that of 0.19.5. However, this function was introduced after 0.19.5,
breaking distro builds that link against 0.19.5 instead of the tag
specified in neovim's build script.
Now the function should only be called when it is available _and_
needed. Once tree-sitter is bumped to 0.19.6 (when this is released),
this guard can be removed again.
Fixes #14923 (among others)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Upstream tree-sitter raised the number of pending matches for a query cursor
from 32 to 64k in <https://github.com/tree-sitter/tree-sitter/commit/
78010722a49ed6224c773c22b0d25a8c9fbde584>, which severely impacted performance
for some highlighting queries. This uses the `ts_query_cursor_set_match_limit`
function introduced in <https://github.com/tree-sitter/tree-sitter/commit/
cd96552448a6e0d4eb27fc54b27cb5130c4b6f76> to manually set this back to the old
default of 32.
Fixes #14897
|
|
|
|
|
|
|
| |
When a keymap is set from lua currently verbose message says
it's set from line 1. That's incorrect because we don't really know when
it was set. So until proper :verbose support isn't added for sourceing
lua it shouldn't say where it was set at.
|
|\
| |
| | |
fix(lua): ensure vim.region truncates to buf range
|
| |
| |
| |
| |
| |
| |
| |
| | |
If vim.region receives a large range outside of the current buffer
bounds, it will not check the range ahead of time and loop until neovim
exhausts the system memory.
Fixes #14743
|
|/
|
|
|
|
| |
So now :source can run lua files too :)
* feat: Add support for :[ranged]source for lua files
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* lua: Add vim.opt
* fixup: cleaning
* fixup: comments
* ty clason
* fixup: comments
* this is the last commit. period.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* doc & fixes: Generate treesitter docs
* fixup to treesitter-core
* docs(treesitter): fix docs for most functions
Co-authored-by: Thomas Vigouroux <tomvig38@gmail.com>
|
|
|
|
|
| |
Previously vim.cmd was an alias of nvim_command().
From now on it is an alias of nvim_exec().
|
|\
| |
| | |
extmark: splice extmarks on :luado
|
| | |
|
|\ \
| | |
| | | |
feat: treesitter checkhealth
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
I AM THE TABLE
|
| | | |
|
| |/
|/| |
|
|\ \
| |/
|/| |
Fix(treesitter): Make treesitter.inspect_lang include last field name
|
| | |
|
|/ |
|
|
|
|
| |
to help debugging
|
|\
| |
| | |
vim.fn: throw error when trying to use API function
|
| | |
|
| | |
|
| | |
|
| | |
|
|\ \
| |/
|/| |
[RDY] Notification provider
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Adds function to notify the user like this:
`:lua vim.notify("hello user")`
embeds log levels vim.log.levels.
you can then reassign vim.notify to for instance
```
function notify_external(msg, log_level, opts)
vim.fn.jobstart({"notify-send", msg })
end
```
|
|/
|
|
|
|
|
|
| |
assert() is compiled out for release builds, but we don't want to
continue running in these impossible situations.
This also resolves the "implicit fallthrough" warnings for the asserts
in switch cases.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Allow for foo.bar.baz module name
Make luaopen_module() name compatible with Lua 5.1
|