Commit Graph
4986 Commits
Author SHA1 Message Date
Lewis Russell ceb533181c Merge pull request #21402 from lewis6991/feat/fs_ls 2022-12-22 10:23:19 +00:00
bfredl a6747545be Merge pull request #21441 from bfredl/neoterminfo
refactor(tui): use nvim_echo() for verbose terminfo
2022-12-20 22:20:17 +01:00
bfredl b42d8a43b9 refactor(tui): use nvim_echo() for verbose terminfo
This is needed for #18375 for the obvious reasons.
note: verbose_terminfo_event is only temporarily needed
until the full TUI process refactor is merged.
2022-12-20 21:43:42 +01:00
kylo252 45d1b1c678 vim-patch:9.0.1082: some jsonc files are not recognized (#21483)
Problem:    Some jsonc files are not recognized.
Solution:   Add patterns for jsonc and move some from json to jsonc.
            (closes vim/vim#11711)

https://github.com/vim/vim/commit/104b2ff4d0ec9248ba0b979aa3bbccb65fcad422

Co-authored-by: kylo252 <59826753+kylo252@users.noreply.github.com>
2022-12-20 18:04:47 +01:00
Lewis Russell fb5576c2d3 feat(fs): add opts argument to vim.fs.dir()
Added option depth to allow recursively searching a directory tree.
2022-12-20 16:39:34 +00:00
zeertzjq de90a8bfe5 test(old): make test_signs.vim closer to upstream (#21479) 2022-12-20 11:03:38 +08:00
Munif Tanjim 23d8f5b870 feat(exrc): support .nvim.lua (#21436) 2022-12-19 09:33:47 -07:00
tiagovla f4d8e992bf fix(lsp): token_edit.data might be null on deletion (#21462) 2022-12-19 09:24:27 +01:00
tae-soo-kim bf9ad5db96 fix(diagnostic): sort diagnostics by column (#21457)
Sort diagnostics by column number in quickfix list
2022-12-18 08:17:15 -07:00
Mathias Fußenegger 1743359235 fix(diagnostic): clear stale cache on reset (#21454)
The BufWipeout autocmd is not 100% reliable and may leave stale entries
in the cache. This is sort of a hack/workaround to ensure
`vim.diagnostic.reset` calls don't fail if there are stale cache entries
but instead clears them

Fixes errors like

    Error executing vim.schedule lua callback: /usr/share/nvim/runtime/lua/vim/diagnostic.lua:1458: Invalid buffer id: 22
    stack traceback:
            [C]: in function 'nvim_exec_autocmds'
            /usr/share/nvim/runtime/lua/vim/diagnostic.lua:1458: in function 'reset'
2022-12-17 19:19:15 -07:00
Christian Clason 1c4794944d Merge pull request #21393 from folke/highlight_show
feat(lsp): add function to get semantic tokens at cursor
feat: `vim.inspect_pos()`, `vim.show_pos()` and `:Inspect[!]`
2022-12-17 13:43:46 +01:00
Folke Lemaitre ef91146efc feat: vim.inspect_pos, vim.show_pos, :Inspect 2022-12-17 13:05:31 +01:00
William Boman 26c918d03f fix(lua): always return nil values in vim.tbl_get when no results
While `return` and `return nil` are for most intents and purposes
identical, there are situations where they're not. For example,
calculating the amount of values via the `select()` function will yield
varying results:

```lua
local function nothing() return     end
local function null()    return nil end

select('#', nothing()) -- 0
select('#', null())    -- 1
```

`vim.tbl_get` currently returns both nil and no results, which makes it
unreliable to use in certain situations without manually accounting for
these discrepancies.
2022-12-15 02:43:43 +01:00
Lewis Russell 0887ad1cbb fix(ts): check buffer is loaded when restoring options (#21419)
fix(treesitter): check buffer is loaded when restoring options

Also restore spelloptions

Fixes #21416
2022-12-14 22:54:58 +00:00
Christian ClasonandChris Kipp 4a78ed60a3 vim-patch:9.0.1057: conflict between supercollider and scala filetype detection (#21417)
Problem:    Conflict between supercollider and scala filetype detection.
Solution:   Do not check for "Class : Method", it can appear in both
            filetypes. (Chris Kipp, closes vim/vim#11699)

https://github.com/vim/vim/commit/70ef3f546b6ef83e463e91b7e388d9c68ad58894

Co-authored-by: Chris Kipp <ckipp@pm.me>
2022-12-14 19:46:17 +01:00
Lewis Russell d127c684fa fix(treesitter): properly restore 'syntax' (#21358) 2022-12-14 15:00:48 +00:00
Christian Clason 04da043244 feat(lsp): add function to get semantic tokens at cursor 2022-12-13 18:59:27 +01:00
zeertzjq 0b20762c60 docs: remove "How-to disable mouse" menu item #21394 2022-12-12 17:43:49 -08:00
Christian Clason 54d6a32fbd feat(lsp): highlight semantic token modifiers (#21390)
Apply semantic token modifiers as separate extmarks with corresponding
highlight groups (e.g., `@readonly`). This is a low-effort PR to enable
the most common use cases (applying, e.g., italics or backgrounds on top
of type highlights; language-specific fallbacks like `@global.lua` are
also available). This can be replaced by more complicated selector-style
themes later on.
2022-12-12 20:43:14 +01:00
jdrouhard 3869a2e0cf perf(lsp): update semantic tokens algorithm for parsing modifiers (#21383)
Instead of testing for every possible modifier type, only test bits up
to the highest set in the token array. Saves many bit ops and
comparisons when there are no modifiers or when the highest set bit is a
lower bit than the highest possible in the legend on average.

Can be further simplified when non-luaJIT gets the full bit module (see #21222)
2022-12-12 18:42:37 +01:00
ii14andii14 49c240d3a2 docs: add links to extmarks and namespaces (#21378)
Co-authored-by: ii14 <ii14@users.noreply.github.com>
2022-12-12 15:15:31 +00:00
Phelipe Teles 8b9bf3e3b9 fix: vim.opt_local:append ignoring global option value (#21382)
Closes https://github.com/neovim/neovim/issues/18225
2022-12-12 15:14:50 +00:00
Christian ClasonandBram Moolenaar 3217a31f9b vim-patch:7db29e4b5c3a (#21380)
* vim-patch:7db29e4b5c3a

Update runtime files

https://github.com/vim/vim/commit/7db29e4b5c3a347d24ca5062ddaa5cf4c4d54b9c

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2022-12-12 06:13:23 +01:00
Justin M. Keyes 1c324cb192 docs #20986
- https://github.com/neovim/tree-sitter-vimdoc v1.2.4 eliminates most
  errors in pi_netrw.txt, so we can remove that workaround from
  ignore_parse_error().
- improved codeblock
2022-12-11 18:41:26 -08:00
dundargoc b12bb97fee docs: fix typos (#21328) 2022-12-12 08:53:07 +08:00
fsouzaandMathias Fussenegger 6d37d8cb17 fix(lsp): ignore null responses for semanticTokens request (#21364)
The spec indicates that the response may be `null`, but it doesn't
really say what a `null` response means. Since neovim raises an error if
the response is `null`, I figured that ignoring it would be the safest
bet.

Co-authored-by: Mathias Fussenegger <f.mathias@zignar.net>
2022-12-10 12:16:33 +01:00
Mathias Fußenegger 8b84a10db7 fix(lsp): fix get_active_clients bufnr parameter (#21366)
Follow up to https://github.com/neovim/neovim/pull/21337
2022-12-09 22:02:04 +01:00
Mathias Fußenegger 49df92da94 fix(lsp): correct some type annotations (#21365) 2022-12-09 19:18:31 +01:00
jdrouhard 5e6a288ce7 fix(lsp): followup fixes for semantic tokens support (#21357)
1. The algorithm for applying edits was slightly incorrect. It needs to
   preserve the original token list as the edits are applied instead of
   mutating it as it iterates. From the spec:

   Semantic token edits behave conceptually like text edits on
   documents: if an edit description consists of n edits all n edits are
   based on the same state Sm of the number array. They will move the
   number array from state Sm to Sm+1.

2. Schedule the semantic token engine start() call in the
   client._on_attach() function so that users who schedule_wrap() their
   config.on_attach() functions (like nvim-lspconfig does) can still
   disable semantic tokens by deleting the semanticTokensProvider from
   their server capabilities.
2022-12-09 11:54:09 +01:00
John Drouhard 9f035559de feat(lsp): initial support for semantic token highlighting
* credit to @smolck and @theHamsta for their contributions in laying the
  groundwork for this feature and for their work on some of the helper
  utility functions and tests
2022-12-08 11:31:56 -06:00
Gregory Anders 42009ac7df feat(treesitter): add 'lang' option to show_tree() (#21341)
This is necessary for now to support filetypes that use a parser with a
different name (e.g. the "terraform" filetype uses the "hcl" parser).
2022-12-08 09:51:46 -07:00
Gregory Anders d44699800c feat(treesitter): add vim.treesitter.show_tree() (#21322)
Add a "show_tree" function to view a textual representation of the
nodes in a language tree in a window. Moving the cursor in the
window highlights the corresponding text in the source buffer, and
moving the cursor in the source buffer highlights the corresponding
nodes in the window.
2022-12-08 09:22:57 -07:00
Christian ClasonandBram Moolenaar 3576776903 vim-patch:86b4816766d9 (#21314)
Update runtime files

https://github.com/vim/vim/commit/86b4816766d976a7ecd4403eca1f8bf6b4105800

vim-patch:9.0.1029: autoload directory missing from distribution

Problem:    Autoload directory missing from distribution.
Solution:   Add the autoload/zig directory to the list of distributed files.

https://github.com/vim/vim/commit/84dbf855fb2d883481f74ad0ccf3df3f8837e6bf

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2022-12-08 16:33:38 +01:00
Raphael 50ffb8d7f4 refactor(lsp): remove deprecated vim.lsp.buf_get_clients calls (#21337) 2022-12-08 13:28:28 +01:00
dundargoc a27ed57ad0 docs(lua): add guide to using Lua in Neovim (#21137)
Add introductory guide explaining how to use Lua in Neovim:
where to put Lua files, how to set variables and options, how
to create mappings, autocommands, and user commands.

Adapted with kind permission from 
https://github.com/nanotee/nvim-lua-guide
2022-12-08 11:21:42 +01:00
Mathias Fußenegger 54305443b9 feat(lsp): support willSave & willSaveWaitUntil capability (#21315)
`willSaveWaitUntil` allows servers to respond with text edits before
saving a document. That is used by some language servers to format a
document or apply quick fixes like removing unused imports.
2022-12-08 10:55:01 +01:00
zeertzjq f92aab5f70 vim-patch:9.0.1025: WinScrolled is not triggered when filler lines change (#21325)
Problem:    WinScrolled is not triggered when filler lines change.
Solution:   Add "topfill" to the values that WinScrolled triggers on.
            (closes vim/vim#11668)

https://github.com/vim/vim/commit/3fc84dc2c7efecd7c14ce341cd777475058936fd

Cherry-pick StopVimInTerminal() from patch 9.0.1010.
2022-12-07 18:34:39 +08:00
Gregory Anders f8aa2a0dea docs(treesitter): use full function names in tags (#21321) 2022-12-07 09:27:41 +01:00
zeertzjqandBram Moolenaar 214c9ed1e2 vim-patch:fa3b72348d88
Update runtime files

https://github.com/vim/vim/commit/fa3b72348d88343390fbe212cfc230fec1602fc2

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2022-12-07 14:25:58 +08:00
zeertzjqandBram Moolenaar c61af03cd2 vim-patch:0e6adf8a29d5
Update runtime files

https://github.com/vim/vim/commit/0e6adf8a29d5c2c96c42cc7157f71bf22c2ad471

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2022-12-07 14:25:58 +08:00
zeertzjqandBram Moolenaar 7dfd466437 vim-patch:8.2.1768: cannot use the help menu from a terminal window
Problem:    Cannot use the help menu from a terminal window.
Solution:   Add ":tlnoremenu" commands. (Yee Cheng Chin, closes vim/vim#7023)

https://github.com/vim/vim/commit/b45cd36bd90f71e4a35b1ef1f75a3bedef6d8bac

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2022-12-07 14:25:57 +08:00
Jack Rowlingson a069e88b4e docs(lua): correct vim.spell.check example (#21311) 2022-12-06 16:44:43 +00:00
Gregory AndersandBram Moolenaar 0ff9131a92 vim-patch:9.0.1014: zir files are not recognized (#21301)
Problem:    Zir files are not recognized.
Solution:   Add a pattern for Zir files. (closes vim/vim#11664)

https://github.com/vim/vim/commit/25201016d5043954689a4c9f7833935294149404

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2022-12-05 15:54:32 -07:00
ii14andii14 f3bf1fbf60 fix(secure): crash when hitting escape in prompt (#21283)
- use pcall when calling vim.secure.read from C
- catch keyboard interrupts in vim.secure.read, rethrow other errors
- selecting "view" in prompt runs :view command
- simplify lua stack cleanup with lua_gettop and lua_settop

Co-authored-by: ii14 <ii14@users.noreply.github.com>
2022-12-05 11:59:04 -07:00
zeertzjq 707df88054 docs: add missing docs from some Vim patches (#21296)
This is cherry-picked from these Vim patches:

Only applicable change outside vi_diff.txt in patch 8.1.1226:
https://github.com/vim/vim/commit/6c60f47fb9251e686217d51cf81847e14d0dd26d

Most changes outside starting.txt and vi_diff.txt in patch 8.1.1280:
https://github.com/vim/vim/commit/25c9c680ec4dfbb51f4ef21c3460a48d3c67ffc8

Missing docs for 'mousemoveevent':
https://github.com/vim/vim/commit/cbaff5e06ec525d31dc44093125c42029e01d508
2022-12-05 21:09:31 +08:00
Mathias Fußenegger b098e7971f fix(lsp): ensure open_logfile is safe for fast events (#21288)
Closes https://github.com/neovim/neovim/issues/21052
2022-12-04 18:02:24 +01:00
Mathias Fussenegger 67e1390dc8 fix(lsp): call show_document with correct args
Closes https://github.com/neovim/neovim/issues/21177
2022-12-04 15:57:46 +01:00
Raphael 01a8cd0432 fix(lsp): remove workspaceFolders field (#21284) 2022-12-04 14:56:04 +01:00
Christian Clason fba0562723 fix(syntax): correct conceal for annotated code blocks (#21272)
fixup for https://github.com/neovim/neovim/pull/21154
2022-12-03 15:16:37 +01:00
zeertzjqandCarlo Teubner bf4bf7f9e0 vim-patch:9.0.0110: help tag generation picks up words in code examples
Problem:    Help tag generation picks up words in code examples.
Solution:   Skip over examples. (Carlo Teubner, closes vim/vim#10813)

https://github.com/vim/vim/commit/ddab3ce3457aadffb16ce0127f67a99966a065a8

Also fix mistakes in help files.

Co-authored-by: Carlo Teubner <carlo@cteubner.net>
2022-12-03 21:21:47 +08:00