Commit Graph

2736 Commits

Author SHA1 Message Date
Steven Sojka
1a631026a9
feat(treesitter): add language tree
Implement the LanguageTree structure to enable language injection.

This is done be removing the old Parser metatable and replacing by the
new structure, with the same API (almost).

Some noticeable differences :
  - `parser:parse()` now returns a table of trees
  - There is no incremental parsing for child (injected) languages

Co-authored-by: Thomas Vigouroux <tomvig38@gmail.com>
2020-11-23 08:06:17 +01:00
Jan Edmund Lazo
cd691f2b6f
Merge pull request #13333 from adrian5/filetype-xml
runtime: Patch xml, xmllint, xmlformat filetypes
2020-11-22 22:01:15 -05:00
Jan Edmund Lazo
ee8f530b40
Merge pull request #13348 from adrian5/filetype-gitconfig
runtime: Patch gitconfig.vim syntax
2020-11-22 21:41:34 -05:00
Jan Edmund Lazo
093c44d697
Merge pull request #13351 from janlazo/vim-8.1.1598
vim-patch:8.1.{1598,1601,2332},8.2.2032
2020-11-22 19:42:28 -05:00
adrian5
2d35706b97 xml.vim: patch runtime/syntax to 4ceaa3a6e0b8cb299
vim/vim@4ceaa3a6e0
2020-11-22 22:47:39 +01:00
adrian5
f1b826778e xml.vim: patch runtime/syntax to 96f45c0b6fc9e9d40
vim/vim@96f45c0b6f
2020-11-22 22:45:05 +01:00
adrian5
4230c54660 xml.vim: patch runtime/indent to 4ceaa3a6e0b8cb299
vim/vim@4ceaa3a6e0
2020-11-22 22:42:02 +01:00
adrian5
e175cebf17 xml.vim: patch runtime/indent to 96f45c0b6fc9e9d40
vim/vim@96f45c0b6f
2020-11-22 22:40:08 +01:00
adrian5
fad90537c2 xmllint.vim: patch runtime/compiler to 1c6737b20a5
vim/vim@1c6737b20a
2020-11-22 22:36:17 +01:00
Jan Edmund Lazo
6068b907cb
Merge pull request #13345 from shade-of-noon/lingering-e145
Remove leftover handling of restricted mode.
2020-11-22 16:11:22 -05:00
Edwin Pujols
070d7c2950 runtime: Remove error handling for E145.
Restricted mode (-Z) has been removed per #11996.
Some runtime files had lingering error handling (error
identifier `E145`) so I cleaned them up.
2020-11-22 15:46:47 -04:00
Jan Edmund Lazo
e2a2efc432
vim-patch:8.2.2032: cabalconfig and cabalproject filetypes not recognized
Problem:    Cabalconfig and cabalproject filetypes not recognized.
Solution:   Detect more cabal files. (Marcin Szamotulski, closes vim/vim#7339)
dcbab75db3

N/A patches for version.c:

vim-patch:8.1.1598: update to test file missing

Problem:    Update to test file missing.
Solution:   Update the popup window test file.
53a95d6584

vim-patch:8.1.1601: missing changes to popup window test file

Problem:    Missing changes to popup window test file.
Solution:   Add those changes.
8da4181631
2020-11-22 13:30:38 -05:00
adrian5
fc0f57228d xmlformat.vim: patch runtime/autoload to eab6dff19
vim/vim@eab6dff19f
2020-11-22 18:05:02 +01:00
adrian5
67612b1766 xmlformat.vim: patch runtime/autoload to 96f45c0b6
vim/vim@96f45c0b6f
2020-11-22 18:00:23 +01:00
adrian5
04463f027a gitconfig.vim: patch runtime/syntax to c08ee7476b1
vim/vim@c08ee7476b
2020-11-22 04:43:16 +01:00
adrian5
b0b57a2a6a gitconfig.vim: patch runtime/syntax to 5be4ceecea5
vim/vim@5be4ceecea
2020-11-22 04:34:44 +01:00
shade-of-noon
5c92ee5d71
Update vim_diff.txt
Update for restricted mode removal.
2020-11-21 11:18:23 -04:00
shade-of-noon
60e1e60b88
Grammar - remove superfluous word. 2020-11-21 10:05:18 -04:00
Jan Edmund Lazo
480b04122e
Merge pull request #13321 from seandewar/vim-8.2.2011
vim-patch:8.2.{2006,2011}
2020-11-19 23:34:13 -05:00
adrian5
9e405c44b9 gitcommit.vim: patch runtime/syntax to c08ee7476b1
vim/vim@c08ee7476b
2020-11-20 02:44:05 +01:00
adrian5
dee5dfd930 gitcommit.vim: patch runtime/ftplugin to c08ee7476
vim/vim@c08ee7476b
2020-11-20 02:39:43 +01:00
Sean Dewar
a18f050e51 vim-patch:8.2.2006: .pbtxt files are not recognized
Problem:    .pbtxt files are not recognized.
Solution:   Recognize .pbtxt as protobuf text buffers. (closes vim/vim#7326)
88774a30c0
2020-11-19 17:35:41 +00:00
rockerBOO
fb19663851 docs: Follow conventions 2020-11-16 01:13:15 -05:00
rockerBOO
46ab054b1d docs: Update nvim_lsp to lspconfig 2020-11-16 01:10:55 -05:00
Mathias Fußenegger
0798ad3a3a
lsp: Expose all diagnostics (#13285)
* lsp: Remove duplicate `diagnostics` fallback in diagnostic.display

* lsp: Expose all diagnostics

Before the changes in #12655 it was possible to retrieve all diagnostics
via `vim.lsp.util.diagnostics_by_buf`.

This adds a `diagnostic.get_all()` to enable users to retrieve all
diagnostics.

Use cases for that could include loading all diagnostics into the
quickfix list, or to build an enhanced goto_next that can move across
buffers.
2020-11-14 14:39:05 -05:00
TJ DeVries
35325ddac0
doc: fixup sign information (#13281)
Thanks to @sunzoje for finding the outdated documentation.
2020-11-13 00:02:40 -05:00
TJ DeVries
f75be5e9d5
lsp: vim.lsp.diagnostic (#12655)
Breaking Changes:
- Deprecated all `vim.lsp.util.{*diagnostics*}()` functions.
    - Instead, all functions must be found in vim.lsp.diagnostic
    - For now, they issue a warning ONCE per neovim session. In a
      "little while" we will remove them completely.
- `vim.lsp.callbacks` has moved to `vim.lsp.handlers`.
    - For a "little while" we will just redirect `vim.lsp.callbacks` to
      `vim.lsp.handlers`. However, we will remove this at some point, so
      it is recommended that you change all of your references to
      `callbacks` into `handlers`.
    - This also means that for functions like |vim.lsp.start_client()|
      and similar, keyword style arguments have moved from "callbacks"
      to "handlers". Once again, these are currently being forward, but
      will cease to be forwarded in a "little while".
- Changed the highlight groups for LspDiagnostic highlight as they were
  inconsistently named.
    - For more information, see |lsp-highlight-diagnostics|
- Changed the sign group names as well, to be consistent with
  |lsp-highlight-diagnostics|

General Enhancements:
- Rewrote much of the getting started help document for lsp. It also
  provides a much nicer configuration strategy, so as to not recommend
  globally overwriting builtin neovim mappings.

LSP Enhancements:
- Introduced the concept of |lsp-handlers| which will allow much better
  customization for users without having to copy & paste entire files /
  functions / etc.

Diagnostic Enhancements:
- "goto next diagnostic" |vim.lsp.diagnostic.goto_next()|
- "goto prev diagnostic" |vim.lsp.diagnostic.goto_prev()|
    - For each of the gotos, auto open diagnostics is available as a
      configuration option
- Configurable diagnostic handling:
    - See |vim.lsp.diagnostic.on_publish_diagnostics()|
    - Delay display until after insert mode
    - Configure signs
    - Configure virtual text
    - Configure underline
- Set the location list with the buffers diagnostics.
    - See |vim.lsp.diagnostic.set_loclist()|
- Better performance for getting counts and line diagnostics
    - They are now cached on save, to enhance lookups.
    - Particularly useful for checking in statusline, etc.
- Actual testing :)
    - See ./test/functional/plugin/lsp/diagnostic_spec.lua
- Added `guisp` for underline highlighting

NOTE: "a little while" means enough time to feel like most plugins and
plugin authors have had a chance to refactor their code to use the
updated calls. Then we will remove them completely. There is no need to
keep them, because we don't have any released version of neovim that
exposes these APIs. I'm trying to be nice to people following HEAD :)

Co-authored: [Twitch Chat 2020](https://twitch.tv/teej_dv)
2020-11-12 22:21:34 -05:00
georg3tom
7777532ceb Removed restricted mode - Fix #11972 2020-11-11 18:07:58 +01:00
Yegappan Lakshmanan
f67b3ea39c
Update the differences with Vim. (#13239)
:cquit can use count to set the exit code
	patch 8.2.0095: cannot specify exit code for :cquit

:tchdir tab-local current-directory
	patch 8.1.1218: cannot set a directory for a tab page

Autocmd Events:
	- DirChanged
	    patch 8.0.1459: cannot handle change of directory
	- TextYankPost
	    patch 8.0.1394: cannot intercept a yank command

tabpagenr() "#" argument
    g<Tab> goes to the last-accessed tabpage.
	patch 8.2.1401: cannot jump to the last used tabpage

hl-QuickFixLine
	patch 8.0.0641: cannot set a separate highlighting for the quickfix line

v:event
	patch 8.0.1394: cannot intercept a yank command

K in help documents can be used like CTRL-].
	Updated as part of a runtime update.
	4c05fa08c9
2020-11-09 23:01:54 -05:00
Björn Linse
42ffa2d62e
Merge pull request #13205 from romgrk/add-bufmodified-autocmd
Implement BufModifiedSet autocmd
2020-11-09 12:23:14 +01:00
Stephan Seitz
0276c8addd tree-sitter: Put base languages first in queries
This reverts the handling of base languages to the old way how
nvim-treesitter handled them. When a language extends a base language
it usually wants to be able to overwrite queries.

Related: https://github.com/nvim-treesitter/nvim-treesitter/issues/633
2020-11-08 13:55:42 +01:00
Rom Grk
6b5975a1eb doc: add BufModifiedSet 2020-11-07 23:22:54 -05:00
francisco souza
5161ff88fa
lsp: fix formatting_sync with multiple clients (#13233)
buf_request_sync returns a table indexed by the client id, so when
starting a second client on a separate buffer, result[1] will be nil.

Closes #13232.

Co-authored-by: francisco souza <fsouza@users.noreply.github.com>
2020-11-07 23:31:55 +01:00
champignoom
df750e7248
vim-patch:8.2.1964: not all ConTeXt files are recognized (#13245)
Problem:    Not all ConTeXt files are recognized.
Solution:   Add two patterns. (closes vim/vim#7263)
faebda8cc1
2020-11-07 15:03:14 -05:00
Andrea Cedraro
4c7ad9527d
Add v:event flag on DirChanged signaling switching window (#13153)
Closes #9909
2020-11-07 12:02:06 -05:00
Björn Linse
e5d83a3bf3
Merge pull request #13117 from romgrk/add-scroll-events
Implement scroll autocommand
2020-11-07 15:13:20 +01:00
Rom Grk
0fce70252d doc: fix WinScrolled details 2020-11-07 06:25:07 -05:00
Thomas Vigouroux
0227091fb9
Merge pull request #13229 from ElPiloto/more_treesitter_doc
[RDY] doc: Supplement documentation for treesitter.
2020-11-05 12:08:55 +01:00
Luis Piloto
9162cc5417
Update runtime/doc/treesitter.txt
Co-authored-by: Thomas Vigouroux <tomvig38@gmail.com>
2020-11-05 09:14:33 +00:00
Shougo
9cc702ae11
Add g:loaded_matchit check (#13226)
I have added g:loaded_matchit check to skip matchit loading like other default plugins.
2020-11-04 18:46:03 -05:00
Jan Edmund Lazo
33560002b4
healthcheck: suggest to skip tests perl provider (#13223)
CPAN tests are unreliable on Windows.
CI does the same to reduce flaky,slow builds.
2020-11-04 18:40:34 -05:00
ElPiloto
d1bed96778 doc: Fix treesitter doc PR. 2020-11-04 19:55:12 +00:00
ElPiloto
44180c3553 doc: Supplement documentation for treesitter.
- Describe query components (capture, match, pattern). Not
well-described in tree-sitter documentation.

- Describe Query() object. Not actually described anywhere in
documenation.
2020-11-04 17:45:38 +00:00
Thomas Vigouroux
c7d460c197
treesitter: separate tree and parser
While this might sound silly, it is needed for further improvements.
2020-11-04 08:14:20 +01:00
Lucas Hoffmann
432f3240f1
docs: Fix typo in example code 2020-11-03 10:05:26 +01:00
Rom Grk
13e0ca3e19 Merge branch 'master' into add-scroll-events 2020-11-03 03:11:08 -05:00
Thomas Vigouroux
186ba3b688
Merge pull request #13178 from steelsojka/fix-empty-main-query-file
fix(treesitter): account for no main query file
2020-11-02 18:16:37 +01:00
TJ DeVries
dc14b1468a
lsp: remove vim.NIL from processing (#13174)
* lsp: remove vim.NIL from processing

* lsp: remove instances of vim.NIL
2020-11-02 08:50:44 -05:00
Jan Edmund Lazo
f9adb3eccb
vim-patch:8.2.0864: pragmas are indented all the way to the left
Problem:    Pragmas are indented all the way to the left.
Solution:   Add an option to indent progmas like normal code. (Max Rumpf,
            closes vim/vim#5468)
d881b516da

N/A patches for version.c:

vim-patch:8.1.2030: tests fail when build with normal features and terminal

Problem:    Tests fail when build with normal features and terminal.
            (Dominique Pelle)
Solution:   Disable tests that won't work. (closes vim/vim#4932)
997d42427e

vim-patch:8.1.2063: some tests fail when +balloon_eval_term is missing

Problem:    Some tests fail when +balloon_eval_term is missing but
            _balloon_eval is present. (Dominique Pelle)
Solution:   Check the right feature in the test. (closes vim/vim#4962)
1e82a784ac

vim-patch:8.2.1938: wiping out a terminal buffer makes some tests fail

Problem:    Wiping out a terminal buffer makes some tests fail.
Solution:   Do not wipe out the terminal buffer unless wanted.
a46765a797
2020-11-01 19:55:40 -05:00
Jesse
720d442d19
lsp: complete support for CodeActionKinds to capabilities (#13180)
We support applying all kinds in the spec equivalently and some servers (including dartls) won't send code actions if support for the relevant kinds is not explicitly stated in the client capabilities. Therefore, this PR makes that support explicit.

Also, as we support all CodeActionKinds, we should also mark the server as supporting code actions when it specifies code action kinds. This is also done in this PR.
2020-11-01 18:11:32 +01:00