Mathias Fussenegger
f0f27e9aef
Revert "feat(lsp): implement workspace/didChangeWatchedFiles ( #21293 )"
...
This reverts commit 5732aa706c .
Causes editor to freeze in projects with many watcher registrations
2023-02-25 11:17:28 +01:00
Jon Huhn
5732aa706c
feat(lsp): implement workspace/didChangeWatchedFiles ( #21293 )
2023-02-25 10:07:18 +01:00
Christian Clason and Amaan Qureshi
15cce77b38
vim-patch:9.0.1351: Dhall files are not recognized ( #22393 )
...
Problem: Dhall files are not recognized.
Solution: Add patterns for Dhall files. (Amaan Qureshi, closes vim/vim#12052 )
https://github.com/vim/vim/commit/def5521752abefe12db8cc3111a3b205ad1ac929
Co-authored-by: Amaan Qureshi <amaanq12@gmail.com >
2023-02-24 17:50:37 +01:00
Christian Clason and Amaan Qureshi
4297127f14
vim-patch:9.0.1350: CPON files are not recognized ( #22392 )
...
Problem: CPON files are not recognized.
Solution: Add patterns for CPON files. (Amaan Qureshi, closes vim/vim#12053 )
https://github.com/vim/vim/commit/c2254764bcada43eea894eb5852a26d5ac5ca8b0
Co-authored-by: Amaan Qureshi <amaanq12@gmail.com >
2023-02-24 15:34:52 +01:00
Raphael
1803dadb20
refactor(lsp): remove deprecated code ( #22389 )
2023-02-24 12:55:50 +01:00
Lewis Russell
c57af5d41c
feat(treesitter)!: remove silent option from language.add()
...
Simply use `pcall` if you want to silence an error.
2023-02-24 09:50:59 +00:00
Amaan Qureshi
5e1308b7ca
vim-patch:9.0.1348: Un-grammar files are not recognized ( #22383 )
...
Problem: Un-grammar files are not recognized.
Solution: Add patterns for Un-grammar files. (Amaan Qureshi, closes vim/vim#12034 )
https://github.com/vim/vim/commit/44e08c1cf83f5a50f8b21613551304a6651c1161
2023-02-23 22:12:01 +01:00
Lewis Russell
3f35ebb14d
fix(treesitter): fixup language invalidation ( #22381 )
2023-02-23 18:09:44 +00:00
Lewis Russell
1df3f5ec6a
feat(treesitter): upstream foldexpr from nvim-treesitter
2023-02-23 17:05:20 +00:00
Christian Clason and Amaan Qureshi
8c339aa04b
vim-patch:9.0.1346: Starlark files are not recognized ( #22380 )
...
Problem: Starlark files are not recognized.
Solution: Add patterns for Starlark files. (Amaan Qureshi, closes vim/vim#12049 )
https://github.com/vim/vim/commit/ca06b30073de22dc120b532e90fbee2a10ef9772
Co-authored-by: Amaan Qureshi <amaanq12@gmail.com >
2023-02-23 17:52:33 +01:00
Lewis Russell
75e53341f3
perf(treesitter): smarter languagetree invalidation
...
Problem:
Treesitter injections are slow because all injected trees are invalidated on every change.
Solution:
Implement smarter invalidation to avoid reparsing injected regions.
- In on_bytes, try and update self._regions as best we can. This PR just offsets any regions after the change.
- Add valid flags for each region in self._regions.
- Call on_bytes recursively for all children.
- We still need to run the query every time for the top level tree. I don't know how to avoid this. However, if the new injection ranges don't change, then we re-use the old trees and avoid reparsing children.
This should result in roughly a 2-3x reduction in tree parsing when the comment injections are enabled.
2023-02-23 15:19:52 +00:00
Mathias Fußenegger
f140175564
refactor(lsp): remove workaround for missing bit module ( #22373 )
2023-02-23 13:35:46 +01:00
Christian Clason
6dfbeb0d99
docs: fix more treesitter parsing errors
2023-02-23 10:25:22 +01:00
Christian Clason
05de0f4fea
docs(treesitter): fix parse errors
2023-02-23 10:24:15 +01:00
Justin M. Keyes
09b6a68c37
Merge #21428 docs: naming conventions, guidelines
2023-02-22 10:40:01 -05:00
Justin M. Keyes
6752f1005d
docs: naming conventions, guidelines
...
close #21063
2023-02-22 16:23:49 +01:00
Gregory Anders
675826da63
refactor(treesitter): Add vim.treesitter.get_node() ( #22360 )
...
This function replaces both vim.treesitter.get_node_at_pos() and
vim.treesitter.get_node_at_cursor(). These two functions are similar
enough that they don't need separate interfaces. Even worse,
get_node_at_pos() returns a TSNode while get_node_at_cursor() returns a
string, so the two functions behave slightly differently.
vim.treesitter.get_node() combines these two into a more streamlined
interface. With no arguments, it returns the node under the cursor in
the current buffer. Optionally, it can accept a buffer number or a
position to get the node at a given position in a given buffer.
2023-02-22 08:01:08 -07:00
Christian Clason and Amaan Qureshi
d1b34b7458
vim-patch:9.0.1337: yuck files are not recognized ( #22358 )
...
Problem: Yuck files are not recognized.
Solution: Add a filetype pattern for yuck files. (Amaan Qureshi,
closes vim/vim#12033 )
https://github.com/vim/vim/commit/cfce5cf542db20c7beba5b4211c0ae3305a64a43
Co-authored-by: Amaan Qureshi <amaanq12@gmail.com >
2023-02-22 10:58:15 +01:00
Lewis Russell
8714a4009c
feat(treesitter): add filetype -> lang API
...
Problem:
vim.treesitter does not know how to map a specific filetype to a parser.
This creates problems since in a few places (including in vim.treesitter itself), the filetype is incorrectly used in place of lang.
Solution:
Add an API to enable this:
- Add vim.treesitter.language.add() as a replacement for vim.treesitter.language.require_language().
- Optional arguments are now passed via an opts table.
- Also takes a filetype (or list of filetypes) so we can keep track of what filetypes are associated with which langs.
- Deprecated vim.treesitter.language.require_language().
- Add vim.treesitter.language.get_lang() which returns the associated lang for a given filetype.
- Add vim.treesitter.language.register() to associate filetypes to a lang without loading the parser.
2023-02-21 17:09:18 +00:00
Jason Hansen
bdf6d8733e
fix(lsp): wrong format of bufnr and client order in error message ( #22336 )
2023-02-21 07:24:47 +01:00
Christian Clason and Matthias Queitsch
2f64137974
vim-patch:9.0.1319: PRQL files are not recognized ( #22319 )
...
Problem: PRQL files are not recognized.
Solution: Add a filetype pattern for PRQL files. (Matthias Queitsch,
closes vim/vim#12018 )
https://github.com/vim/vim/commit/9de960ace0f017fcfeaf64a2f6492f0f88b11fdb
Co-authored-by: Matthias Queitsch <matthias.queitsch@mailbox.org >
2023-02-19 01:27:32 +01:00
Eduard Baturin
f43fa301c1
fix(lsp): check if the buffer is a directory before w! it ( #22289 )
2023-02-18 07:43:59 +01:00
Lewis Russell
a289e82142
fix(treesitter): make params optional
2023-02-15 12:26:07 +00:00
Justin M. Keyes
1539f71363
Merge #22214 move init_default_autocmds to lua
2023-02-14 19:13:12 -05:00
Jonas Strittmatter
b518aceaa8
feat(filetype): fall back to file extension when matching from hashbang ( #22140 )
...
If nothing matched in match_from_hashbang, also check the file extension table.
For a hashbang like '#!/bin/env foo', this will set the filetype to 'fooscript'
assuming the filetype for the 'foo' extension is 'fooscript' in the extension
table.
2023-02-13 16:04:16 -07:00
Lewis Russell
d359f7a533
Merge pull request #22191 from lewis6991/feat/playground_imp
...
feat(treesitter): playground improvements
2023-02-13 10:54:03 +00:00
Jonas Strittmatter and Gregory Anders
9668c166e8
fix(filetype): make vim.filetype.match() work with contents only ( #22181 )
...
Co-authored-by: Gregory Anders <greg@gpanders.com >
2023-02-11 08:08:33 -07:00
glacambre
c5b34fa554
refactor: move init_default_autocmds to lua
...
The original motivation for this change came from developping
https://github.com/neovim/neovim/pull/22159 , which will require adding
more autocommand creation to Neovim's startup sequence.
This change requires lightly editing a test that expected no autocommand
to have been created from lua.
2023-02-11 14:02:17 +01:00
Lewis Russell
8a985d12dd
fix(treesitter): don't trample parsers when filetype!=lang
...
This allows vim.treesitter.show_tree() to work on buffers where the
filetype does not match the parser language name e.g, bash/sh.
2023-02-10 16:15:56 +00:00
Lewis Russell
f5bad01869
feat(treesitter): playground improvements
...
- Render node ranges as virtual text
- Set filettype=query. The virtual text is to avoid parsing errors.
- Make sure highlights text is always in view.
2023-02-10 16:15:55 +00:00
Christian Clason and Amaan Qureshi
1ca4a8b1dd
vim-patch:9.0.1291: Move language files are not recognized ( #22162 )
...
Problem: Move language files are not recognized.
Solution: Recognize Move language files. (Amaan Qureshi, closes vim/vim#11947 )
https://github.com/vim/vim/commit/6642982beaf4f1f5164f0315a1b3e3c275156089
Co-authored-by: Amaan Qureshi <amaanq12@gmail.com >
2023-02-08 09:47:55 +01:00
Christian Clason and Amaan Qureshi
8fbe75b3dd
vim-patch:9.0.1288: FunC files are not recognized ( #22153 )
...
Problem: FunC files are not recognized.
Solution: Recognize FunC files. (Amaan Qureshi, closes vim/vim#11949 )
https://github.com/vim/vim/commit/91deac45392fe93094b9c31403b1ae771dc71938
Co-authored-by: Amaan Qureshi <amaanq12@gmail.com >
2023-02-07 10:29:37 +01:00
Amaan Qureshi
1675f0e270
vim-patch:9.0.1282: Ron files are not recognized ( #22132 )
...
Problem: Ron files are not recognized.
Solution: Recognize Ron files. (Amaan Qureshi, closes vim/vim#11948 )
https://github.com/vim/vim/commit/c8ef30bc2eaec956549510cd4b2efc96b7aee563
2023-02-06 10:01:17 +01:00
Lewis Russell
7963a160e9
Merge pull request #21548 from figsoda/transform-capture
...
feat(treesitter): allow capture text to be transformed
2023-02-05 21:31:30 +00:00
Christian Clason and Janez Podhostnik
23e34fe534
vim-patch:9.0.1281: Cadence files are not recognized ( #22130 )
...
Problem: Cadence files are not recognized.
Solution: Recognize Cadence files. (Janez Podhostnik, closes vim/vim#11951 )
https://github.com/vim/vim/commit/cb626a4692df7154be02b47d6089ec679e95cb44
Co-authored-by: Janez Podhostnik <janez.podhostnik@gmail.com >
2023-02-05 17:59:18 +01:00
figsoda
4c66f5ff97
feat(treesitter): respect metadata[id].range for offset!
2023-02-04 21:15:03 -05:00
figsoda
e1d5ad1cb8
feat(treesitter): add metadata option for get_node_text
2023-02-04 21:15:03 -05:00
figsoda and Lewis Russell
bb8845340b
feat(treesitter): allow capture text to be transformed
...
Co-authored-by: Lewis Russell <lewis6991@gmail.com >
2023-02-04 21:04:45 -05:00
Christian Clason and Amaan Qureshi
4b9bb3a184
vim-patch:9.0.1278: go.work.sum files are not recognized ( #22121 )
...
Problem: go.work.sum files are not recognized.
Solution: Recognize go.work.sum files as the gosum filetype. (Amaan Qureshi,
closes vim/vim#11940 )
https://github.com/vim/vim/commit/4ad8ae8465e30df38dba31910f130891b16d38a0
Co-authored-by: Amaan Qureshi <amaanq12@gmail.com >
2023-02-04 16:05:45 +01:00
Lewis Russell
9a5678463c
fix(treesitter): fix most diagnostics
2023-02-04 14:58:38 +00:00
Christian Clason and Amaan Qureshi
c05b3c3bbd
vim-patch:9.0.1274: FIRRTL files are not recognized ( #22102 )
...
Problem: FIRRTL files are not recognized.
Solution: Add a pattern for FIRRTL files. (Amaan Qureshi, closes vim/vim#11931 )
https://github.com/vim/vim/commit/685bf83b73d0fe6fd36bb2949bebd6aae66a139e
Co-authored-by: Amaan Qureshi <amaanq12@gmail.com >
2023-02-02 17:26:22 +01:00
Christian Clason and Mark Skelton
d63ad600e0
vim-patch:9.0.1268: .clangd and .stylelintrc files don't get a filetype ( #22079 )
...
Problem: .clangd and .stylelintrc files don't get a filetype.
Solution: Use yaml for .clangd and json for .stylelintrc files. (Mark
Skelton, closes vim/vim#11916 )
https://github.com/vim/vim/commit/9c51798a1f3b79ace5ae0551a8bb122025ac94ed
Co-authored-by: Mark Skelton <mdskelton99@gmail.com >
2023-02-01 10:08:50 +01:00
bfredl
8376486e8f
Merge pull request #17537 from bfredl/neolua
...
refactor(tests): run unittests using main nvim binary - delete separate nvim-test build
2023-01-31 19:58:33 +01:00
Christian Clason
8b11cf5092
Merge pull request #22005 from clason/sanitize-lang
...
fix(treesitter): validate language name
2023-01-31 17:28:32 +01:00
bfredl
d6d6ab3f8e
feat(lua): low-level interpreter mode (nvim -ll)
2023-01-31 13:53:22 +01:00
Christian Clason and Amaan Qureshi
b649a96fc0
vim-patch:9.0.1263: KDL files are not recognized ( #22058 )
...
Problem: KDL files are not recognized.
Solution: Add a pattern for KDL files. (Amaan Qureshi, closes vim/vim#11898 )
https://github.com/vim/vim/commit/907349a74331fc1bc48cf43c1e7d54cb9e0e4fc9
Co-authored-by: Amaan Qureshi <amaanq12@gmail.com >
2023-01-31 08:12:10 +01:00
Amaan Qureshi
c9ac4e4877
vim-patch:9.0.1261: Elsa files are not recognized ( #22047 )
...
Problem: Elsa files are not recognized.
Solution: Add the name of Elsa files. (Amaan Qureshi)
https://github.com/vim/vim/commit/2a99fe6c41efcd5d1eb47823e7e73cf391e230ba
2023-01-29 20:19:07 +01:00
Christian Clason and ObserverOfTime
8144deb098
vim-patch:9.0.1256: NetworkManager connection files are not recognized ( #22038 )
...
Problem: NetworkManager connection files are not recognized.
Solution: Add a pattern for NetworkManager connection files. (closes vim/vim#11893 )
https://github.com/vim/vim/commit/04e4f1d98556e67d7337224b67b71c828410ee0f
Co-authored-by: ObserverOfTime <chronobserver@disroot.org >
2023-01-29 10:39:20 +01:00
Christian Clason
c032e83b22
fix(treesitter): validate language name
...
Problem: Some injections (like markdown) allow specifying arbitrary
language names for code blocks, which may be lead to errors when
looking for a corresponding parser in runtime path.
Solution: Validate that the language name only contains alphanumeric
characters and `_` (e.g., for `c_sharp`) and error otherwise.
2023-01-28 11:28:52 +01:00
C.D. MacEachern
314d3ce1eb
docs(vim.fs): normalize Windows example was incorrect ( #21966 )
2023-01-25 06:45:30 +08:00