| Commit message (Collapse) | Author | Age |
... | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Follow up to https://github.com/neovim/neovim/pull/16881
Document changes could get sent out of order to the server:
1. on_lines: debounce > 0; add to pending changes; setup timer
2. on_lines: debounce = 0; send new changes immediately
3. timer triggers, sending changes from 1.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Closes https://github.com/neovim/neovim/issues/16985
* get_lines checks if buf_loaded using bufnr 0, which is
typically used as a sentinel value, but here must be resolved
to the true bufnr
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Negative priority patterns are those that act as catch-alls when all
other attempts at matching have failed (typically the patterns that use
the StarSetf functions).
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The idea of the debounce is to avoid overloading a server with didChange
notifications. So far this used a constant value to group changes within
an interval together and send a single notification. A side effect of
this is that when you were idle, notifications are still delayed.
This commit changes the logic to take the time the last notification
happened into consideration, if it has been greater than the debounce
interval, the debouncing is skipped or at least reduced.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
(#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
|
| | | |
| | | |
| | | |
| | | | |
Avoids `E28: No such highlight group name: markdownError` when using a
foreign markdown syntax.
|
| | | | |
|
| | | |
| | | |
| | | | |
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 })
```
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Because filetype.lua is gated behind an opt-in variable, it's not tested
during the "standard" test_filetype.vim test. So port the test into
filetype_spec where we enable the opt-in variable.
This means runtime Vim patches will need to update test_filetype in two
places. This can eventually be removed if/when filetype.lua is made
opt-out rather than opt-in.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Filetype detection runs on BufRead and BufNewFile autocommands, both of
which can fire without an underlying buffer, so it's incorrect to use
<abuf> to determine the file path. Instead, match on <afile> and assume
that the buffer we're operating on is the current buffer. This is the
same assumption that filetype.vim makes, so it should be safe.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | | |
Also mark the 'getline' helper function as private to avoid docgen.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
This default value is also set in filetype.vim, but if filetype.vim is
disabled the variable is never defined, which causes errors in some of
the dist#ft detection functions.
|
| | | |
| | | |
| | | | |
port from `filetype.vim`; also add `getline` convenience function
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes https://github.com/neovim/neovim/issues/16900
If clients receive a ContentModified error, it generally should not
show it in the UI for the end-user. Clients can resend the request if
they know how to do so.
https://microsoft.github.io/language-server-protocol/specifications/specification-current/#implementationConsiderations
|
| | |
| | |
| | |
| | | |
Adds a new vim.filetype module that provides support for filetype detection in
Lua.
|
| | | |
|
| | |
| | |
| | |
| | | |
Addresses a regression introduced by the stricter type checking
in lua api functions from https://github.com/neovim/neovim/pull/16745
|
| | |
| | |
| | | |
Related: #16889, #16745
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Not all sshconfig files are detected as such.
Solution: Adjust the patterns used for sshconfig detection. (David Auer,
closes vim/vim#9322)
https://github.com/vim/vim/commit/9acf2d8be93f3b50607279e7f3484b019675d0a7
|
| | |
| | |
| | |
| | |
| | | |
Other refs to 05.3 don't need to be updated as they refer to the simple mappings
section anyway. Seems they weren't updated when the defaults.vim section was
added as 05.3 instead.
|
| | |
| | |
| | |
| | |
| | |
| | | |
As revealed by #16745, some functions pass a nil value to API functions,
which have been implicitly converted to 0. #16745 breaks this implicit
conversion, so explicitly pass a resolved buffer number to these API
functions.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Function arguments that expect a list should explicitly use tbl_islist
rather than just checking for a table. This helps catch some simple
errors where a single table item is passed as an argument, which passes
validation (since it's a table), but causes other errors later on.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Some common lisp and scheme files not recognized.
Solution: Recognize *.asd as lisp and *.sld as scheme. (Alex Vear,
closes vim/vim#9447)
https://github.com/vim/vim/commit/654b729c4c9951f2a46c161d1e9fefdc223fc94e
|
| | |
| | |
| | |
| | |
| | |
| | | |
Update runtime files
https://github.com/vim/vim/commit/04fb916684829f6aa12f33f14d0d0023b458f200
omits doc/usr_41.txt (rewritten to focus on vim9script)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Behavioral changes:
1. Added support for lua function in keymaps in
--------------------------------------------
- nvim_set_keymap
Can set lua function as keymap rhs like following:
```lua
vim.api.nvim_{buf_}set_keymap('n', '<leader>lr', '', {callback = vim.lsp.buf.references})
```
Note: lua function can only be set from lua . If api function being
called from viml or over rpc this option isn't available.
- nvim_{buf_}get_keymap
When called from lua, lua function is returned is `callback` key .
But in other cases callback contains number of the function ref.
- :umap, nvim_del_keymap & nvim_buf_del_keymap clears lua keymaps correctly.
- :map commands for displaing rhs .
For lua keymaps rhs is displayed as <Lua function ref_no>
Note: lua keymap cannot be set through viml command / functions.
- mapargs()
When dict is false it returns string in `<Lua function ref_no>`
format (same format as :map commands).
When dict is true it returns ref_no number in `callback` key.
- mapcheck()
returns string in `<Lua function ref_no>` format (same format as :map commands).
2. Added support for keymap description
---------------------------------------
- nvim_{buf_}set_keymap: added `desc` option in opts table .
```lua
vim.api.nvim_set_keymap('n', '<leader>w', '<cmd>w<cr>', {desc='Save current file'})
```
- nvim_{buf_}get_keymap: contains `desc` in returned list.
- commands like `:nmap <leader>w` will show description in a new line below rhs.
- `maparg()` return dict contains `desc`.
|
| | | |
|
|\ \ \
| | | |
| | | | |
feat(api): implement nvim_{add,del}_user_command
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Add support for adding and removing custom user commands with the Nvim
API.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Co-authored-by: Gregory Anders <8965202+gpanders@users.noreply.github.com>
Co-authored-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Co-authored-by: Christoph Hasse <hassec@users.noreply.github.com>
Co-authored-by: Alef Pereira <ealefpereira@gmail.com>
Co-authored-by: AusCyber <willp@outlook.com.au>
Co-authored-by: kylo252 <59826753+kylo252@users.noreply.github.com>
|
|/ / /
| | |
| | |
| | | |
Update runtime files
https://github.com/vim/vim/commit/a4d131d11052cafcc5baad2273ef48e0dd4d09c5
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Containerfile using prefix name not recognized.
Solution: Recognize Containerfile.*.
https://github.com/vim/vim/commit/bbdd3fb804bf69684f7b0f49d3c0a0b039daec02
|
|/ /
| |
| |
| |
| |
| | |
Problem: Dockerfile using prefix name not recognized.
Solution: Recognize Dockerfile.*. (closes vim/vim#9410)
https://github.com/vim/vim/commit/c88ac94a0bdc70012558813404821fe077f1de20
|
| | |
|
|\ \
| | |
| | | |
fix(msgpack#strptime): use calendar.timegm to get seconds since epoch
|
| | |
| | |
| | |
| | |
| | |
| | | |
datetime.datetime.timestamp does not exist on Windows and
datetime.datetiem.strftime('%s') is not supported, since '%s' is a POSIX
format. Instead, use the recommended `calendar.timegm(obj.utctimetuple())`.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Update runtime files
https://github.com/vim/vim/commit/fa3b72348d88343390fbe212cfc230fec1602fc2
omit
doc/eval.txt (needs 8.2.3864)
doc/map.txt (needs 8.2.3619)
menu.vim (needs 8.2.0413)
|
|\ \ \
| | | |
| | | | |
vim-patch:8.2.2468: not easy to get the full command name from a shortened one
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Update runtime files
https://github.com/vim/vim/commit/6c391a74fe90190796ca0b0c010112948a6e75d7
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Update runtime files
https://github.com/vim/vim/commit/6aa57295cfbe8f21c15f0671e45fd53cf990d404
|