| Commit message (Collapse) | Author | Age |
| ... | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | |
| | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
CSI typed directly is now just <CSI>. The <xCSI> key is obsolete.
|
| | | |/ / / / / / / / / / / / |
|
| | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
feat(api): expose extmark more details
|
| | | | |_|_|_|_|/ / / / / / /
| | |/| | | | | | | | | | | |
|
| | | |/ / / / / / / / / / /
| |/| | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | | |
Problem: Filetype detection for BASIC is not optimal.
Solution: Improve BASIC filetype detection. (Doug Kearns)
https://github.com/vim/vim/commit/6517f14165cdebf83a07ab9d4aeeb102b4e16e92
|
| | | |_|/ / / / / / / / /
| |/| | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | | |
This is a follow-on to #17040. The real benefit of #17040 was ensuring
that the ftplugin FileType autocommand was defined first and thus always
fired first. A side effect of the implementation in #17040 was that
setting variables that modified the state of filetype detection (such as
g:did_load_filetypes or g:do_filetype_lua) could no longer be set in the
user's init file. Filetype detection can also no longer be prevented
from loading by using `:filetype off`.
This PR addresses both of those side effects by unconditionally sourcing
ftplugin.vim and indent.vim before the user's init file (which ensures
that these autocommands run first) and sourcing filetype.vim *after* the
user's init file (thus allowing it to be blocked or modified).
|
| | | | | | | | | | | | | |
|
| | |/ / / / / / / / / /
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
Update runtime files
https://github.com/vim/vim/commit/fd31be29b8220ee1cb0b3460c82f2634ae3cc370
|
| | |\ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | |
| | | | | | | | | | | | |
refactor(marks): use a more efficient representation with less pointer indirection
|
| | | | |/ / / / / / / /
| | |/| | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
marktree.c was originally constructed as a "generic" datatype,
to make the prototyping of its internal logic as simple as possible
and also as the usecases for various kinds of extmarks/decorations was not yet decided.
As a consequence of this, various extra indirections and allocations was
needed to use marktree to implement extmarks (ns/id pairs) and
decorations of different kinds (some which is just a single highlight
id, other an allocated list of virtual text/lines)
This change removes a lot of indirection, by making Marktree specialized
for the usecase. In particular, the namespace id and mark id is stored
directly, instead of the 64-bit global id particular to the Marktree
struct. This removes the two maps needed to convert between global and
per-ns ids.
Also, "small" decorations are stored inline, i.e. those who
doesn't refer to external heap memory anyway. That is highlights (with
priority+flags) are stored inline, while virtual text, which anyway
occurs a lot of heap allocations, do not. (previously a hack was used
to elide heap allocations for highlights with standard prio+flags)
TODO(bfredl): the functionaltest-lua CI version of gcc is having
severe issues with uint16_t bitfields, so splitting up compound
assignments and redundant casts are needed. Clean this up once we switch
to a working compiler version.
|
| | |\ \ \ \ \ \ \ \ \ \
| | |/ / / / / / / / /
| |/| | | | | | | | | |
feat(extmarks): add strict option
|
| | | | | | | | | | | | |
|
| | | | | | | | | | | | |
|
| | | | | | | | | | | | |
|
| | | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
The strict option, when set to false, allows placing extmarks on
invalid row and column values greater than the maximum buffer row
or line column respectively.
This allows for nvim_buf_set_extmark
to be a drop-in replacement for nvim_buf_set_highlight.
|
| | | |_|/ / / / / / /
| |/| | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Problem: Sed script not recognized by the first line.
Solution: Recognize a sed script starting with "#n". (Doug Kearns)
https://github.com/vim/vim/commit/e3ce17a3ca838954728df21ccb6c2a724490203d
|
| | |\ \ \ \ \ \ \ \ \
| | | | | | | | | | |
| | | | | | | | | | | |
feat(api, lua): more conversions between LuaRef and Vim Funcref
|
| | | | | | | | | | | | |
|
| | | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
Problem: No suffucient testing for registers.
Solution: Add more test cases. (Yegappan Lakshmanan, closes vim/vim#5296)
Fix that "p" on last virtual column of tab inserts spaces.
https://github.com/vim/vim/commit/6f1f0ca3edf395102ff3109c998d81300c8be3c9
This patch doesn't actually change any behavior in Nvim, because Nvim
always has vartabs feature.
I modified a line in the test because of #6137.
|
| | | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
Problem: Not all Libsensors files are recognized.
Solution: Add "sensors.d/*" pattern. (Doug Kearns)
https://github.com/vim/vim/commit/8d9e470aa91a93da7d6bda62521aef69a79e956d
|
| | |\ \ \ \ \ \ \ \ \ \
| | |_|_|_|/ / / / / /
| |/| | | | | | | | | |
feat(completion): support selecting item via API from Lua mapping
|
| | | | | | | | | | | | |
|
| | | |/ / / / / / / /
| |/| | | | | | | | |
|
| | | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
These bindings are generally accesses with <M-Fx> key
presses.
|
| | | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
This allows users to execute commands like:
let @λ = 'new register content.'
|
| | | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
This allows users to define behaviors for arbitrary registers. These
registers can be any character including multibyte characters. This
means that any character may be used as a register and if that register
is not a builtin register, it will defer to a user-defined vimscript
function for behavior.
This is done throw an option called 'userregfun'
The function that 'userregfun' defines is a function that takes 3
arguments:
action - Either set to "put" or "yank"
register - The character representing the register.
content - If the action is "yank" this string contains the content
yanked.
Multibyte registers are still broken for expressions. So while
let @&=xyz
Works as expected,
let @λ=xyz
will still throw a parse error.
|
| | | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
This is done with using embedded tags with the format %#<hl>#.
|
| | | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
listchars is not the right place for it.
|
| | | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
This option allows a character to be displayed in the colorcolumn. This
allows the colorcolumn ot have a traditional line if the colorcolumn
character is set to a vertical line '│' or even a series of dots for a
':'.
The option is a part of the 'listchars' setting under the name
'colorcol'. So 'set listchars=colorcol:│' will work.
|
| | | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
ordered.
(Neo)Vim uses a jump table based on the first character of the option's
name. This means for it to work all options with the same first
character must be together. If this is violated, some options may seem
to disappear, which can sometimes happen during merges if not careful.
This commit adds a check to the gen_options.lua script so the build will
fail if this constraint is violated.
|
| |/ / / / / / / / /
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
The window title is set using the {title} key on the FloatConfig.
The window title allows for 3 different positions as defined
by the {title_position} key in the FloatConfig:
- left
- center
- right
The title also supports StatusLine-style highlighting using
the %#<HL># keys.
|
| | | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
* vim-patch:8.2.4064: foam files are not detected
Problem: Foam files are not detected.
Solution: Detect the foam filetype by the path and file contents. (Mohammed
Elwardi Fadeli, closes vim/vim#9501)
https://github.com/vim/vim/commit/2284f6cca384e0ccc352bfec7277dc26386cac3d
* Port foam ft detection to filetype.lua
Co-authored-by: Gregory Anders <greg@gpanders.com>
|
| |\ \ \ \ \ \ \ \ \
| | | | | | | | | |
| | | | | | | | | | |
vim-patch:8.2.3409
|
| | | |_|_|_|/ / / /
| |/| | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Problem: Reading beyond end of line with invalid utf-8 character.
Solution: Check for NUL when advancing.
https://github.com/vim/vim/commit/65b605665997fad54ef39a93199e305af2fe4d7f
Dropped the non-test part, since it is only non-utf8 related.
|
| |\ \ \ \ \ \ \ \ \
| |_|/ / / / / / /
|/| | | | | | | | |
vim-patch:8.2.3582
|
| | |/ / / / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Problem: Reading uninitialized memory when giving spell suggestions.
Solution: Check that preword is not empty.
https://github.com/vim/vim/commit/15d9890eee53afc61eb0a03b878a19cb5672f732
|
| |\ \ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
fix(completion): prevent K_LUA from closing pum
|
| | | | | | | | | | |
|
| |\ \ \ \ \ \ \ \ \
| |/ / / / / / / /
|/| | | | | | | | |
feat(treesitter): set allocator when possible
|
| | | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Adds a new cmake check to keep this backwards compatible with the
different versions of tree-sitter.
|
| |\ \ \ \ \ \ \ \ \
| | | | | | | | | |
| | | | | | | | | | |
refactor(PVS/V1048): prevent "variable was assigned the same value" warning
|
| | |/ / / / / / / / |
|
| | | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
This is a much better solution than #16942 as it doesn't require copying
every new change from test_filetype.vim into filetype_spec.lua (which is
much more maintainable).
|
| |/ / / / / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | | |
The name argument of nvim_add_user_command must begin with an uppercase
character. Check that is does.
|
| |\ \ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
refactor: avoid overflow by explicitly casting operand to a wider type
|
| | | | | | | | | | |
|
| | | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
| | | | | | | | | | |
|
| |\ \ \ \ \ \ \ \ \
| | | | | | | | | |
| | | | | | | | | | |
Make mode() return correct value in ex mode
|
| | | |_|/ / / / / /
| |/| | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
When the user is in ex mode, a call to mode(1) is documented to return
"cv". However, it does not currently do so, because the check which
checks for ex mode is nested inside a conditional which is never reached
in ex mode. Vim uses an explicit check for exmode_active, so let's do
the same thing here. Add some tests for this case both with a TTY and
in silent mode.
|