| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
| |
Problem: "verbose set efm" reports the location of the :compiler command.
(Gary Johnson)
Solution: Add the "-keepscript" argument to :command and use it when
defining CompilerSet.
https://github.com/vim/vim/commit/58ef8a31d7087d495ab1582be5b7a22796ac2451
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| | | | |
|
| |/ /
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* 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.
|
|/ / /
| | |
| | |
| | |
| | | |
Problem: Running filetype tests leaves directory behind.
Solution: Delete the top directory. (closes vim/vim#9483)
https://github.com/vim/vim/commit/a4c96252b12c9ebc0ba563694c064e500d707b06
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
(#16953)
Problem: Git and gitcommit file types not properly recognized.
Solution: Adjust filetype detection. (Tim Pope, closes vim/vim#9477)
https://github.com/vim/vim/commit/c689f8c3d98fffe7e13730e198ce120934528f9c
|
| | |
| | |
| | |
| | |
| | | |
Problem: Search stat test has leftover from debugging.
Solution: Remove line that writes a file. (Christian Brabandt, closes vim/vim#6224)
https://github.com/vim/vim/commit/6ba24d87630b1ec2b8c7ff71550c9e41d143800e
|
| | | |
|
| | |
| | |
| | | |
Like vim.notify(), but only displays the notification once.
|
|\ \ \
| | | |
| | | | |
feat(lua): add support for lua keymaps
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This introduces two new functions `vim.keymap.set` & `vim.keymap.del`
differences compared to regular set_keymap:
- remap is used as opposite of noremap. By default it's true for <Plug> keymaps and false for others.
- rhs can be lua function.
- mode can be a list of modes.
- replace_keycodes option for lua function expr maps. (Default: true)
- handles buffer specific keymaps
Examples:
```lua
vim.keymap.set('n', 'asdf', function() print("real lua function") end)
vim.keymap.set({'n', 'v'}, '<leader>lr', vim.lsp.buf.references, {buffer=true})
vim.keymap.set('n', '<leader>w', "<cmd>w<cr>", {silent = true, buffer = 5 })
vim.keymap.set('i', '<Tab>', function()
return vim.fn.pumvisible() == 1 and "<C-n>" or "<Tab>"
end, {expr = true})
vim.keymap.set('n', '[%', '<Plug>(MatchitNormalMultiBackward)')
vim.keymap.del('n', 'asdf')
vim.keymap.del({'n', 'i', 'v'}, '<leader>w', {buffer = 5 })
```
|
|\ \ \ \
| |_|_|/
|/| | | |
vim-patch:8.2.3921: the way xdiff is used is inefficient
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: The way xdiff is used is inefficient.
Solution: Use hunk_func instead of the out_line callback. (Lewis Russell,
closes vim/vim#9344)
https://github.com/vim/vim/commit/d9da86e94ea8dbaa056270a666892945c40a6674
|
| | | | |
|
| | | | |
|
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | | |
Co-authored-by: Sean Dewar <seandewar@users.noreply.github.com>
Co-authored-by: Gregory Anders <greg@gpanders.com>
Co-authored-by: Sebastian Volland <seb@baunz.net>
Co-authored-by: Lewis Russell <lewis6991@gmail.com>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|