aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* refactor(lsp): add type annotation for lsp.Client.server_capabilities (#24925)Jongwook Choi2023-08-31
| | | | | | | | | | | | | | The class `lsp.Client` has a public member `server_capabilities`, which is assumed to be non-nil once initialized, as documented in `:help vim.lsp.client`. Due to the possibility that it may be nil before initialization, `lsp.Client` was not having a proper lua type annotations on the field `server_capabilities`. Instead of having a nil `server_capabilities` until initialized in the RPC response callback, we can have an initial value of empty table. This CHANGES the behavior of the `server_capabilities` field in a way that it is no longer `nil` until initialization. Note that, as already documented, `server_capabilities` should never be nil when it is once initialized and thus ready to be used in user configs.
* fix(lsp): only disable inlay hints / diagnostics if no other clients are ↵Chris AtLee2023-08-31
| | | | | | | | | | | | | | | | | | | connected (#24535) This fixes the issue where the LspNotify handlers for inlay_hint / diagnostics would end up refreshing all attached clients. The handler would call util._refresh, which called vim.lsp.buf_request, which calls the method on all attached clients. Now util._refresh takes an optional client_id parameter, which is used to specify a specific client to update. This commit also fixes util._refresh's handling of the `only_visible` flag. Previously if `only_visible` was false, two requests would be made to the server: one for the visible region, and one for the entire file. Co-authored-by: Stanislav Asunkin <1353637+stasjok@users.noreply.github.com> Co-authored-by: Mathias Fußenegger <mfussenegger@users.noreply.github.com>
* fix(shada): update deleted marks (#24936)Maria José Solano2023-08-31
| | | | | | Fix #4295 Close #16067 Co-authored-by: chentau <tchen1998@gmail.com>
* fix(runtime/tutor): don't try to close fold when there is none (#24953)David Moberg2023-08-31
| | | | | | Problem: When double clicking a line starting with a #, the code assumes there is a fold there and tries to close it, resulting in an error if there isn't a fold. Solution: Check foldlevel before performing "zc".
* vim-patch:9.0.1825: wrong cursor position with virt text and 'linebreak' ↵zeertzjq2023-08-31
| | | | | | | | | | | | | | | (#24957) Problem: Wrong cursor position with virtual text before a whitespace character and 'linebreak'. Solution: Always set "col_adj" to "size - 1" and apply 'linebreak' after adding the size of 'breakindent' and 'showbreak'. closes: vim/vim#12956 https://github.com/vim/vim/commit/6e55e85f92aff43c1b3cb564201440f3552d63f0 N/A patches: vim-patch:9.0.1826: keytrans() doesn't translate recorded key typed in a GUI
* vim-patch:9.0.1820: Rexx files may not be recognised (#24956)zeertzjq2023-08-31
| | | | | | | | | | | Problem: Rexx files may not be recognised Solution: Add shebang detection and improve disambiguation of *.cls files closes: vim/vim#12951 https://github.com/vim/vim/commit/e06afb7860805537ccd69966bc03169852c9b378 Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* vim-patch:9.0.1797: Vimball/Visual Basic filetype detection conflict (#24947)zeertzjq2023-08-31
| | | | | | | | | | | | | Problem: Vimball/Visual Basic filetype detection conflict Solution: runtime(vb): Improve Vimball and Visual Basic detection logic Only run Vimball Archiver's BufEnter autocommand on Vimball archives. Fixes vim/vim#2694. closes: vim/vim#12899 https://github.com/vim/vim/commit/f97f6bbf56408c0c97b4ddbe81fba858d7455b0d Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* vim-patch:9.0.1807: runtime: crystal scripts not recognised (#24949)zeertzjq2023-08-31
| | | | | | | | | | Problem: runtime: crystal scripts not recognised Solution: Filetype detect Crystal scripts by shebang line closes: vim/vim#12935 https://github.com/vim/vim/commit/9b73902dbe6f7940326bcd8dbc89d010d85d69c5 Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* vim-patch:9.0.1803: runtime(filetype): Add norg language detection (#24948)zeertzjq2023-08-31
| | | | | | | | | runtime(filetype): Add norg markup language detection closes: vim/vim#12913 https://github.com/vim/vim/commit/03e44a1d70e914504e6151fe88ad1e574cbf0a59 Co-authored-by: NTBBloodbath <bloodbathalchemist@protonmail.com>
* vim-patch:9d8ef7cc4340Christian Clason2023-08-30
| | | | | | | | | | | runtime: cleanup :Sman command via the undo_ftplugin mechanism (vim/vim#12967) Regards to @dkearns as noticed in https://github.com/vim/vim/commit/2ac708b548660b232a32c52d89bde3d8596646c0 https://github.com/vim/vim/commit/9d8ef7cc434076dfda62ca3d3101eaae52e316cd Co-authored-by: Enno <Konfekt@users.noreply.github.com>
* fix(filetype): make sure buffer is valid before call nvim_buf_call (#24922)Hongbo Liu2023-08-30
|
* Merge pull request #24944 from bfredl/memline0bfredl2023-08-30
|\ | | | | fix(api): nvim_buf_get_offset in a new buffer with zero or one lines
| * fix(api): nvim_buf_get_offset in a new buffer with zero or one linesbfredl2023-08-30
| | | | | | | | fixes #24930
* | fix(treesitter.c): improve comments on fenv usageLewis Russell2023-08-30
|/
* build(deps): bump luajit to HEAD - 41fb94defChristian Clason2023-08-30
|
* vim-patch:2ac708b54866Christian Clason2023-08-30
| | | | | | | | | | runtime(sh): Update ftplugin (vim/vim#12950) Remove :Help command via the undo_ftplugin mechanism. https://github.com/vim/vim/commit/2ac708b548660b232a32c52d89bde3d8596646c0 Co-authored-by: dkearns <dougkearns@gmail.com>
* vim-patch:a5eb6785efccChristian Clason2023-08-30
| | | | | | | | | | runtime(doc): mention special case of i_CTRL-R_- closes: vim/vim#12947 https://github.com/vim/vim/commit/a5eb6785efcc36a97e071722408acc20d6c6e606 Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:3ac2d3da5fdfChristian Clason2023-08-30
| | | | | | | | runtime(heex): Add HEEX comments to match_words in ftplugin (vim/vim#12957) https://github.com/vim/vim/commit/3ac2d3da5fdf20dfddb450a49502ef47b1f581d4 Co-authored-by: Jason King <jk@handle.it>
* fix(builtin): fix incorrect optional fields for fn.sign_defineJongwook Choi2023-08-30
| | | | The field `icon` is not a mandatory field.
* Merge pull request #24926 from bfredl/tsfreebfredl2023-08-29
|\ | | | | fix(treesitter): fix another TSNode:tree() double free
| * fix(treesitter): fix another TSNode:tree() double freebfredl2023-08-29
| | | | | | | | | | | | | | Unfortunately the gc=false objects can refer to a dangling tree if the gc=true tree was freed first. This reuses the same tree object as the node itself is keeping alive via the uservalue of the node userdata. (wrapped in a table due to lua 5.1 restrictions)
* | vim-patch:0382f05dbd65Christian Clason2023-08-29
| | | | | | | | | | | | | | | | runtime: Set b:undo_indent where missing (vim/vim#12944) https://github.com/vim/vim/commit/0382f05dbd659d8e39ee4e71c1e5062ac5c0a8fd Co-authored-by: dkearns <dougkearns@gmail.com>
* | vim-patch:f937ab32a1acChristian Clason2023-08-29
|/ | | | | | | | runtime: Set b:undo_ftplugin where missing (vim/vim#12943) https://github.com/vim/vim/commit/f937ab32a1ac3a560f217ca4ce8305ab2d5b0b74 Co-authored-by: dkearns <dougkearns@gmail.com>
* fix(treesitter): fix TSNode:tree() double free (#24796)nwounkn2023-08-29
| | | | | | | | | Problem: `push_tree`, every time its called for the same TSTree with `do_copy=false` argument, creates a new userdata for it. Each userdata, when garbage collected, frees the same TSTree C object. Solution: Add flag to userdata, which indicates, should C object, which userdata points to, be freed, when userdata is garbage collected.
* Merge pull request #24912 from bfredl/topline2bfredl2023-08-29
|\ | | | | fix(api): better topline adjustments in nvim_buf_set_lines
| * fix(api): better topline adjustments in nvim_buf_set_linesbfredl2023-08-29
| | | | | | | | | | | | | | Some more reasonable defaults for topline: - if topline was replaced with another line, that now becomes topline - if line was inserted just before topline, display it. This is more similar to the previous API behavior.
* | fix(treesitter): update folds only once on InsertLeaveJaehwang Jung2023-08-29
| | | | | | | | | | | | | | | | | | | | Problem: With treesitter fold, InsertLeave can be slow, because a single session of insert mode may schedule multiple fold updates in on_bytes and on_changedtree. Solution: Don't create duplicate autocmds.
* | build(deps): bump luajit to HEAD - 83954100dChristian Clason2023-08-29
|/
* vim-patch:9.0.1813: linebreak incorrect drawn with breakindent (#24917)zeertzjq2023-08-29
| | | | | | | | | Problem: 'linebreak' is incorrectly drawn after 'breakindent'. Solution: Don't include 'breakindent' size when already after it. closes: vim/vim#12937 closes: vim/vim#12940 https://github.com/vim/vim/commit/1d3e0e8f3110a7807431eae056914ccea57b057b
* build(deps): bump tree-sitter to HEADAmaan Qureshi2023-08-29
|
* feat(terminal): allow :terminal to take modifiers (#15427)Gregory Anders2023-08-28
| | | | | | | | | | | The following modifiers are all now supported: :tab term :vertical term :horizontal term :botright term :topleft term Fixes: https://github.com/neovim/neovim/issues/11385
* Merge pull request #24913 from bfredl/lastlinebfredl2023-08-28
|\ | | | | fix(api): handle clearing out last line of non-current buffer
| * fix(api): handle clearing out last line of non-current bufferbfredl2023-08-28
|/ | | | fixes #24911
* vim-patch:535b9e12d02fChristian Clason2023-08-28
| | | | | | | | | | runtime(typescript): Fix highlighting symbols after number literal (vim/vim#12911) fixes vim/vim#12831 https://github.com/vim/vim/commit/535b9e12d02f5fef969fb680d579c586bd5f40db Co-authored-by: Herrington Darkholme <2883231+HerringtonDarkholme@users.noreply.github.com>
* vim-patch:9.0.1810: camel-case spelling has issues with digits (#24909)zeertzjq2023-08-28
| | | | | | | | | | | | | | | Problem: camel-case spelling has issues with digits Solution: Improve the camCase spell checking by taking digits and caps into account Rewrite the conditions to check for word boundaries by taking into account the presence of digits and all-caps sequences such as acronyms. closes: vim/vim#12644 closes: vim/vim#12933 https://github.com/vim/vim/commit/d08745040bb82c5e9a81b6c8a414e50951642492 Co-authored-by: LemonBoy <thatlemon@gmail.com>
* vim-patch:9.0.1798: The 'syntax' option has no completion. (#24908)zeertzjq2023-08-28
| | | | | | | | | | | | | Problem: The 'syntax' option has no completion. Solution: Add syntax option completion. closes: vim/vim#12900 https://github.com/vim/vim/commit/6dfdff3f273dcea29099d81e3eceb871ae089998 N/A patches: vim-patch:9.0.1795: Indentation issues Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* Merge pull request #24853 from zeertzjq/inline-virt-eolzeertzjq2023-08-28
|\ | | | | fix(ui): wrong cursor position with left gravity inline virt text at eol
| * vim-patch:9.0.1802: Multiline regex with Visual selection fails with virtual ↵zeertzjq2023-08-28
| | | | | | | | | | | | | | | | | | | | | | | | | | text Problem: Multiline regex with Visual selection fails when Visual selection contains virtual text after last char. Solution: Only include virtual text after last char when getting full line length. closes: vim/vim#12908 https://github.com/vim/vim/commit/e3daa06be1a3ba7ced0735582467d092275e591c
| * vim-patch:9.0.1800: Cursor position still wrong with 'showbreak' and virtual ↵zeertzjq2023-08-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | text Problem: Cursor position still wrong with 'showbreak' and virtual text after last character or 'listchars' "eol". Solution: Remove unnecessary w_wcol adjustment in curs_columns(). Also fix first char of virtual text not shown at the start of a screen line. closes: vim/vim#12478 closes: vim/vim#12532 closes: vim/vim#12904 https://github.com/vim/vim/commit/6a3897232aecd3e8b9e8b23955e55c1993e5baec
| * fix(ui): wrong cursor position with left gravity inline virt text at eolzeertzjq2023-08-28
|/
* fix(editorconfig): do not set 'endofline'Lewis Russell2023-08-27
| | | | | | | | | | | Problem: 'endofline' can be used to detect if a file ends of <EOL>, however editorconfig can break this. Solution: Set 'endofline' during BufWritePre Fixes: #24869
* docs: update luvref.txt for version infozhaozg2023-08-27
| | | | fixup: #24874
* feat(issue_template): instruct not to include a package managerLewis Russell2023-08-27
|
* feat(builtin): improve typesLewis Russell2023-08-27
|
* vim-patch:9.0.1792: problem with gj/gk/gM and virtual text (#24898)zeertzjq2023-08-27
| | | | | | | | | Problem: Normal mode "gM", "gj", "gk" commands behave incorrectly with virtual text. Solution: Use linetabsize() instead of linetabsize_str(). closes: vim/vim#12909 https://github.com/vim/vim/commit/d809c0a90387a23aed21ba37d0b65332fb5dafe7
* Merge pull request #24889 from bfredl/toplinebfredl2023-08-27
|\ | | | | fix(api): fix issues with nvim_buf_set_lines refactor
| * fix(undo): fix crash caused by checking undolevels in wrong bufferbfredl2023-08-27
| | | | | | | | fixes #24894
| * fix(api): fix inconsistent behavior of topline touched in recent refactorbfredl2023-08-27
|/ | | | | | | | | | | | | | | | The change in #24824 0081549 was not a regression, however it was an incomplete change. Unfortunately some common plugins come to depend on this exising self-inconsistent behavior. These plugins are going to need to update for 0.10 nvim_buf_set_lines used to NOT adjust the topline correctly if a buffer was displayed in just one window. However, if displayed in multiple windows, it was correctly adjusted for any window not deemed the current window for the buffer (which could be an arbitrary choice if the buffer was not already current, as noted in the last rafactor) This fixes so that all windows have their topline adjusted. The added tests show this behavior, which should be the reasonable one.
* fix(types): add some return/parameter type annotations (#24867)Maria José Solano2023-08-27
| | | | | * fix(types): add some return/parameter type annotations * fix(types): narrow stdpath parameter further
* fix(treesitter): validate window before updating preview highlightsMaria José Solano2023-08-27
|