| Commit message (Collapse) | Author | Age |
| ... | |
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
All parser errors have been fixed; make sure we don't introduce new
ones.
|
| | | |
|
| | |\ |
|
| | | |
| | |
| | |
| | | |
close #21063
|
| | | |
| | |
| | |
| | |
| | | |
close #18741
close #11312
|
| | | | |
|
| | |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This function replaces both vim.treesitter.get_node_at_pos() and
vim.treesitter.get_node_at_cursor(). These two functions are similar
enough that they don't need separate interfaces. Even worse,
get_node_at_pos() returns a TSNode while get_node_at_cursor() returns a
string, so the two functions behave slightly differently.
vim.treesitter.get_node() combines these two into a more streamlined
interface. With no arguments, it returns the node under the cursor in
the current buffer. Optionally, it can accept a buffer number or a
position to get the node at a given position in a given buffer.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem:
vim.treesitter does not know how to map a specific filetype to a parser.
This creates problems since in a few places (including in vim.treesitter itself), the filetype is incorrectly used in place of lang.
Solution:
Add an API to enable this:
- Add vim.treesitter.language.add() as a replacement for vim.treesitter.language.require_language().
- Optional arguments are now passed via an opts table.
- Also takes a filetype (or list of filetypes) so we can keep track of what filetypes are associated with which langs.
- Deprecated vim.treesitter.language.require_language().
- Add vim.treesitter.language.get_lang() which returns the associated lang for a given filetype.
- Add vim.treesitter.language.register() to associate filetypes to a lang without loading the parser.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Update runtime files.
https://github.com/vim/vim/commit/938ae280c79b8cdb0fca60336ec4c090ecd8bb5a
Partially skip autocmd.txt: needs patch 8.2.5011.
Partially skip builtin.txt: needs patch 9.0.0411.
Partially skip eval.txt: needs patch 8.2.3783.
Cherry-pick :map-meta-keys from patch 9.0.1276.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
| | |
| |
| | |
When use_builtin_ui is true, Nvim will exit before line 385 is reached.
|
| | |
| |
| | |
Co-authored-by: Ben Morgan <cassava@iexu.de>
|
| | |
| |
| | |
'balloonexpr' option was removed in Nvim.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This commit implements the ability to control all of the XDG paths
Neovim should use. This is done by setting an environment variable named
NVIM_APPNAME. For example, setting $NVIM_APPNAME makes Neovim look for
its configuration directory in $XDG_CONFIG_HOME/$NVIM_APPNAME instead of
$XDG_CONFIG_HOME/nvim.
If NVIM_APPNAME is not set or is an empty string, "nvim" will be used as
default.
The usecase for this feature is to enable an easy way to switch from
configuration to configuration. One might argue that the various $XDG
environment variables can already be used for this usecase. However,
setting $XDG environment variables also affects tools spawned by Neovim.
For example, while setting $XDG_CONFIG_HOME will enable Neovim to use a
different configuration directory, it will also prevent Git from finding
its "default" configuration.
Closes https://github.com/neovim/neovim/issues/21691
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: 'statusline' only supports one "%=" item.
Solution: Add support for multiple "%=" items. (TJ DeVries, Yegappan
Lakshmanan, closes vim/vim#11970, closes vim/vim#11965)
https://github.com/vim/vim/commit/3ec78f973fdaec2cea8e036ed38037b2fe40670b
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
|
| | |
| |
| |
| | |
BREAKING CHANGE: Unsaved changes are now preserved rather than discarded
when stdio channel is closed.
|
| | | |
|
| | |\
| | |
| | |
| | | |
* docs(maintain): add note on updating `luvref.txt`
* docs(luvref): update version info
|
| | | | |
|
| | |\ \
| | | |
| | | | |
perf(ui): mitigate redraw latency regression from TUI refactor
|
| | | |/ |
|
| | |/ |
|
| | |
| |
| |
| |
| |
| | |
Problem: only Vimscript files are sourced when setting spelling language
Solution: also source Lua files after sourcing Vimscript files
Closes #22110
|
| | | |
|
| | |
| |
| |
| | |
Co-authored-by: Lewis Russell <lewis6991@gmail.com>
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
Update runtime files.
https://github.com/vim/vim/commit/be4e01637e71c8d5095c33b9861fd70b41476732
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Make it more clear that on unix the "pipe" mode of sockconnect uses unix
local domain sockets, not named pipes (FIFOs) which are not currently
supported.
See discussion in #22080.
Signed-off-by: Thayne McCombs
|
| | |\
| | |
| | | |
refactor(tests): run unittests using main nvim binary - delete separate nvim-test build
|
| | | | |
|
| | |/
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Some injections (like markdown) allow specifying arbitrary
language names for code blocks, which may be lead to errors when
looking for a corresponding parser in runtime path.
Solution: Validate that the language name only contains alphanumeric
characters and `_` (e.g., for `c_sharp`) and error otherwise.
|
| | |
| |
| | |
Fixes #21964
|
| | |
| |
| |
| | |
The behavior changed again after #15867, change the docs to describe
latest behavior.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Problem: :runtime completion can be further improved.
Solution: Also complete the {where} argument values and adjust the
completion for that. (closes vim/vim#11874)
https://github.com/vim/vim/commit/5c8771bc5a2be123ab8e6325fa60ed524e8efb09
|
| | |
| |
| |
| |
| |
| |
| | |
Problem: Completion of :runtime does not handle {where} argument.
Solution: Parse the {where} argument. (closes vim/vim#11863)
https://github.com/vim/vim/commit/3770f4c9cde7b5fcd10b6fa2e665cd0b69450fb2
|
| |\| |
|
| | | |
|
| | |
| |
| | |
docs(lsp): format arguments to start_client()
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem:
Build is not reproducible, because generated source files (.c/.h/) are not
deterministic, mostly because Lua pairs() is unordered by design (for security).
https://github.com/LuaJIT/LuaJIT/issues/626#issuecomment-707005671
https://www.lua.org/manual/5.1/manual.html#pdf-next
> The order in which the indices are enumerated is not specified [...]
>
>> The hardening of the VM deliberately randomizes string hashes. This in
>> turn randomizes the iteration order of tables with string keys.
Solution:
- Update the code generation scripts to be deterministic.
- That is only a partial solution: the exported function
(funcs_metadata.generated.h) and ui event
(ui_events_metadata.generated.h) metadata have some mpack'ed
tables, which are not serialized deterministically.
- As a workaround, introduce `PRG_GEN_LUA` cmake setting, so you can
inject a modified build of luajit (with LUAJIT_SECURITY_PRN=0)
that preserves table order.
- Longer-term we should change the mpack'ed data structure so it no
longer uses tables keyed by strings.
Closes #20124
Co-Authored-By: dundargoc <gocdundar@gmail.com>
Co-Authored-By: Arnout Engelen <arnout@bzzt.net>
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Cannot use setcellwidths() below 0x100.
Solution: Also accept characters between 0x80 and 0x100. (Ken Takata,
closes vim/vim#11834)
https://github.com/vim/vim/commit/7193323b7796c05573f3aa89d422e848feb3a8dc
Co-authored-by: K.Takata <kentkt@csc.jp>
|
| | |
| |
| |
| |
| | |
ensure correct parsing with tree-sitter
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: 'statuscolumn' click definitions are cleared, evaluated,
allocated and filled each redraw for every row in a window.
This despite the fact that we only store a single click
definition array for the entire column as opposed to one
for each row.
Solution: Only fill the 'statuscolumn' click definition array once per
window per redraw.
Resolve https://github.com/neovim/neovim/issues/21767.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
(#21883)
Problem: Cannot lock a variable in legacy Vim script like in Vim9.
Solution: Make ":lockvar 0" work.
https://github.com/vim/vim/commit/a187c43cfe8863d48b2159d695fedcb71f8525c1
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Problem: Cannot read back what setcellwidths() has done.
Solution: Add getcellwidths(). (Kota Kato, closes vim/vim#11837)
https://github.com/vim/vim/commit/66bb9ae70f7371456ed76518076d2a344f8ab417
Co-authored-by: Kota Kato <github@kat0h.com>
|