Problem: 'virtualedit' can only be set globally.
Solution: Make 'virtualedit' global-local. (Gary Johnson, closesvim/vim#8638)
53ba05b090
I changed some macros to unsigned integer literals to avoid compiler warnings.
Problem: No suffucient testing for registers.
Solution: Add more test cases. (Yegappan Lakshmanan, closesvim/vim#5296)
Fix that "p" on last virtual column of tab inserts spaces.
6f1f0ca3ed
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.
* 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, closesvim/vim#9501)
2284f6cca3
* Port foam ft detection to filetype.lua
Co-authored-by: Gregory Anders <greg@gpanders.com>
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 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.
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: Session does not restore help buffer properly when "options' is
missing from 'sessionoptions'.
Solution: Use a ":help" command to create the help window. (closesvim/vim#9475,
closesvim/vim#9458, closesvim/vim#9472)
8e7d9db32b
Problem: Reading beyond end of line with invalid utf-8 character.
Solution: Check for NUL when advancing.
65b6056659
Dropped the non-test part, since it is only non-utf8 related.
Problem: fullcommand() gives the wrong name if there is a buffer-local user
command. (Naohiro Ono)
Solution: Use a separate function to get the user command name.
(closesvim/vim#8840)
80c88eac5a
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 })
```
Problem: Not all sshconfig files are detected as such.
Solution: Adjust the patterns used for sshconfig detection. (David Auer,
closesvim/vim#9322)
9acf2d8be9