Commit Graph

2801 Commits

Author SHA1 Message Date
Björn Linse
d198aa511a
Merge pull request #13059 from vigoux/ts-runtime-queries
treesitter: runtime queries
2020-10-12 11:57:09 +02:00
Thomas Vigouroux
d3f544002c treesitter: runtime queries
Runtime queries just work like ftplugins, that is:

- Queries in the `after` directory are sourced _after_ the "base" query
- Otherwise, the last define query takes precedence.

Queries can be found in the `queries` directory.

Update runtime/lua/vim/treesitter/query.lua

Co-authored-by: Paul Burlumi <paul@burlumi.com>
2020-10-11 21:18:28 +02:00
Jan Edmund Lazo
ff104e197d
vim-patch:8.1.1204: output of :command with address completion is not nice
Problem:    Output of :command with address completion is not nice.
Solution:   Shorten the address completion names.
a561a41a70
2020-10-11 11:53:40 -04:00
Jan Edmund Lazo
4cd69151cf
vim-patch:8.1.1015: quickfix buffer shows up in list, can't get buffer number
Problem:    Quickfix buffer shows up in list, can't get buffer number.
Solution:   Make the quickfix buffer unlisted when the quickfix window is
            closed.  get the quickfix buffer number with getqflist().
            (Yegappan Lakshmanan, closes vim/vim#4113)
647e24ba3d
2020-10-10 22:58:39 -04:00
Jan Edmund Lazo
e9004e2af0
vim-patch:8.1.0720: cannot easily change the current quickfx list index
Problem:    Cannot easily change the current quickfx list index.
Solution:   Add the "idx" argument to setqflist(). (Yegappan Lakshmanan,
            closes vim/vim#3701)
5b69c22fd2
2020-10-10 15:28:07 -04:00
Björn Linse
0b615dae07 api: multiple decoration providers at once 2020-10-10 15:16:45 +02:00
Marco Hinz
ca6815115c
provider: update supported Python versions (#13070)
Python 3.9 was released, so we need to add support for the upcoming Python 3.10.
Python 3.5 and earlier reached their end-of-life.

PEP 478: Python 3.5  Release Schedule: https://www.python.org/dev/peps/pep-0478
PEP 596: Python 3.9  Release Schedule: https://www.python.org/dev/peps/pep-0596
PEP 619: Python 3.10 Release Schedule: https://www.python.org/dev/peps/pep-0619
2020-10-08 11:52:17 +02:00
Jan Edmund Lazo
4a6e201e37
vim-patch:8.1.1705: using ~{} for a literal dict is not nice
Problem:    Using ~{} for a literal dict is not nice.
Solution:   Use #{} instead.
4c6d90458b
2020-10-07 01:03:48 -04:00
Jan Edmund Lazo
20fc7ef161
vim-patch:8.1.1692: using *{} for literal dict is not backwards compatible
Problem:    Using *{} for literal dict is not backwards compatible. (Yasuhiro
            Matsumoto)
Solution:   Use ~{} instead.
b8be54dcc5
2020-10-07 00:56:38 -04:00
Jan Edmund Lazo
7ca5dc2519
vim-patch:8.1.1683: dictionary with string keys is longer than needed
Problem:    Dictionary with string keys is longer than needed.
Solution:   Use *{key: val} for literaly keys.
d5abb4c877

Vim's popup,textprop features are N/A.
Neovim has not polyfilled their APIs.
Skip docs and tests for these features.
2020-10-07 00:36:48 -04:00
TJ DeVries
7b89353985
lua: vim.wait allows control of fast events (#13053)
* lua: vim.wait allows control of fast events

* fixup: remove requirement of function for easier waiting

* fixup: lint

* fixup: bfredl comments
2020-10-06 12:58:05 -04:00
Jan Edmund Lazo
3cc1b5c5b9
runtime/typescript: 3d1cde8a2f28dce2c82d2b2b4c5e35e6662030e0
Port typescript ftplugin and compiler files only.

3d1cde8a2f
2020-10-05 23:24:43 -04:00
Jan Edmund Lazo
95fd5ed8c9
runtime/typescript: 91359014b359cf816bf943fe2c7d492996263def
Port typescript syntax changes only.

91359014b3
2020-10-05 23:20:45 -04:00
Jan Edmund Lazo
0f1d679531
runtime/typescript: 09c6f265b21065ffa9437837b1d0955137175e45
Port typescript syntax files only.
Close https://github.com/neovim/neovim/issues/12125

09c6f265b2
2020-10-05 23:20:45 -04:00
Jan Edmund Lazo
8810973da4
runtime/typescript.vim: 96f45c0b6fc9e9d404e6805593ed1e0e6795e470
Port "runtime/indent/typescript.vim" changes only.
Close https://github.com/neovim/neovim/pull/12716.

96f45c0b6f
2020-10-05 23:20:45 -04:00
James McCoy
27b811dc1f
Merge pull request #13042 from godlygeek/unmapped_meta_is_esc
Treat unmapped ALT/META as ESC+c in all modes

Closes #7972
2020-10-05 22:07:52 -04:00
Matt Wozniski
2f06413dfb Treat unmapped ALT/META as ESC+c in all modes
In #8226 <A-x> and <M-x> were changed to behave like <Esc>x in insert
mode when no mapping exists. This commit backs out that change and
replaces it with a more general one that makes unmapped ALT and META
keypresses as <Esc>+char in all modes. This fixes an unnecessary and
confusing inconsistency between modes.
2020-10-05 15:27:04 -04:00
Justin M. Keyes
8e77d70e29 test/vim.validate(): assert normalized stacktrace
- The previous commit lost information in the tests. Instead, add some
  more "normalization" substitutions in pcall_err(), so that the general
  shape of the stacktrace is included in the asserted text.
- Eliminate contains(), it is redundant with matches()
2020-10-05 09:47:59 -04:00
TJ DeVries
aad7a74053 vim.validate(): include stacktrace in message 2020-10-05 09:47:59 -04:00
Jan Edmund Lazo
f7aeac7263
Merge pull request #12999 from PaperMountainStudio/resolv-ipv6
runtime: backport IPv6 support to resolv.vim
2020-10-04 16:22:19 -04:00
Tony Kuneck
6d066af27a Opts.wrap_at is sometimes a bool, ensure it falls back to a valid number in the call to math.min 2020-10-04 01:06:44 -07:00
Jan Edmund Lazo
86ab4a1cb4
vim-patch:8.2.0841: 'verbose' value 16 causes duplicate output
Problem:    'verbose' value 16 causes duplicate output.
Solution:   Combine levels 15 and 16 into one message. (Christian Brabandt,
            closes vim/vim#6153)
823654bc06
2020-10-03 01:06:24 -04:00
Jan Edmund Lazo
72914cd7f2
vim-patch:8.2.1779: some debian changelog files are not recognized
Problem:    Some debian changelog files are not recognized.
Solution:   Add */debian/changelog. (Jason Franklin)
0022675aa3
2020-10-02 22:31:55 -04:00
Paper
94c743348e runtime: backport IPv6 support to resolv.vim
from commits bc93cebb692f47488d66f078d1728031e9be35e7 and
b17893aa940dc7d45421f875f5d90855880aad27 from vim
2020-10-01 10:25:09 +02:00
Christian Clason
e5d98d8569
LSP: Fix separator width on hover (fixes #13006, #12998) (#13007)
* fix insert_separator conditional
* only draw separator over wrapped width
2020-09-30 18:03:40 +02:00
Thomas Vigouroux
3c5141d2cf
treesitter: add string parser (#13008) 2020-09-30 09:32:43 -04:00
Jan Edmund Lazo
8bc55f656a
Merge pull request #12922 from AlxHnr/master
Use HTTPS for downloading spell files
2020-09-27 09:29:23 -04:00
Jan Edmund Lazo
c14d2399f6
doc: test_garbagecollect_now() was ported 2020-09-26 10:14:50 -04:00
Jan Edmund Lazo
25b9a400a9
vim-patch:8.2.1725: not all Pascal files are recognized
Problem:    Not all Pascal files are recognized.
Solution:   Add filetype patterns. (Doug Kearns)
44aaf5416e
2020-09-26 10:14:50 -04:00
notomo
4a996bc431
lsp: Add vim.lsp.buf.range_code_action() (#12962)
Allows to execute code_action for a given range.
:'<,'>lua vim.lsp.buf.range_code_action()
2020-09-24 21:53:08 +02:00
Thomas Vigouroux
a08959bc7a vim-patch:8.2.0953: spell checking doesn't work for CamelCased words
Problem:    Spell checking doesn't work for CamelCased words.
Solution:   Add the "camel" value in the new option 'spelloptions'.
            (closes vim/vim#1235)
362b44bd4a
2020-09-24 07:13:39 +02:00
Rasmus Ishøy Michelsen
4f8d98e583
lsp: Handle ContentModified the same way as RequestCancelled (#12803)
* Added the ContentModified error to be hidden from users, like RequestCancelled
* Fixed tests (and ill-formed lua code)
* Simplified if-expression
2020-09-22 21:54:34 +02:00
Minh Son Nguyen
dc4f81b49c Update doc
vim/vim@8ffc7c8b

vim-patch:8.1.1281
2020-09-21 11:29:51 +03:00
Minh Son Nguyen
f8e5c6e99d Sync cfilter 1.1 from vim
vim/vim@fc65cabb
2020-09-21 11:29:02 +03:00
Raphael
569e75799d
lsp: remove popup No signature available. (#12915)
* lsp: remove popup No signature available.

 If no signatures. we shouldn't popup No signature available ..It will make noise when use
` api.nvim_command("autocmd CompleteDone <buffer> lua vim.lsp.buf.signature_help()")`

* fix ci test failed remove whitespace

* print message when no signature help

* Add comment
2020-09-18 09:37:53 -04:00
Alexander Heinrich
53efdedca9 runtime: update g:spellfile_URL to URL used in Vim 8
See vim/vim@7ff7846
2020-09-17 13:31:55 +02:00
Thomas Vigouroux
924cab4cef docs: Move treesitter docs in their own file 2020-09-14 19:04:33 +02:00
Raphael
f34eeba2d8
lsp: fix failed switch window error (#12900)
* fix failed switch window error

* checks if  window already exists
2020-09-14 11:03:02 -04:00
TJ DeVries
4a2618c817
doc: Add docs for uri functions (#12887) 2020-09-14 09:12:17 -04:00
Björn Linse
4042975df4 luahl: global the luahl 2020-09-13 07:46:39 +02:00
Stephan Seitz
05c68922d3 Fix typo in treesitter docs: parser directory is parser not parsers 2020-09-13 07:46:39 +02:00
Thomas Vigouroux
e4b5efa51e fix: use luahl in treesitter 2020-09-13 07:46:39 +02:00
erw7
397be5d380 UI: fix cursor not displayed after hiding and un-hiding #12811
- TUI: Fix a case where the cursor was not displayed after hiding the
  cursor and then setting it to be displayed again.
- Change to reset everything before setting guicursor.

fixes #12800
close #12811

Steps to reproduce:

    nvim -u NORC
    :set termguicolors
    :hi nCursor guifg=red guibg=red
    :hi iCursor guifg=green guibg=green
    :hi cCursor guifg=blue guibg=blue
    :set guicursor=n:block-nCursor,i:hor25-iCursor,c:ver25-cCursor
    :set guicursor-=c:ver25-cCursor

Actual behaviour: Cursor is a blue vertical.
Expected behaviour: Cursor should be the default color block.
2020-09-12 11:42:42 -07:00
Dave Lage
1e10342382
docs: Add hint for :help vim.lsp.buf for new users (#12886)
* docs: Add hint for :help vim.lsp.buf for new users

* fix: Use help linker for vim.lsp.buf

* docs: Extend full api list language. Move gd to bottom. Add note about limited support
2020-09-12 13:01:14 -04:00
beardedsakimonkey
01ae5e7c38
lsp: fix lsp.buf.formatting_sync() null response (#12752)
Co-authored-by: tim apple <tim@tims-MacBook-Pro.local>
2020-09-12 18:39:52 +02:00
Xuyuan Pang
f3b5531ae8
lsp: Fix parameter markdown rendering for signature help (#12832) 2020-09-12 18:33:31 +02:00
Dave Lage
97c03227c8
docs: Use nvim-lspconfig plugin in lsp docs (#12885)
* docs: Use nvim-lspconfig plugin in lsp docs
2020-09-12 17:52:30 +02:00
Dave Lage
459f8ad808
docs: Align help docs to match using tab (#12891) 2020-09-12 16:48:16 +02:00
Thomas Vigouroux
cf0e1bc1fe wip trying to fix the highlighter 2020-09-09 21:22:21 +02:00
Björn Linse
9437327d5e treesitter: use new on_bytes interface
This will significantly reduce the parsing work
needed e.g. when rehighlighting after every keypress
in insert mode.

Also add safety check for tree-sitter trying to read
past the end of a line. This can happen after we sent
an incorrect buffer update.
2020-09-09 21:22:21 +02:00
Thomas Vigouroux
1ff064126d treesitter: revert wrong optimization in highlights 2020-09-09 16:00:19 +02:00
Jan Edmund Lazo
df6b49b4ee
vim-patch:8.2.1635: no digraph for 0x2022 BULLET #12876
Problem:    No digraph for 0x2022 BULLET.
Solution:   Use "oo". (Hans Ginzel, closes vim/vim#6904)
57ad94c5a9
2020-09-08 20:45:27 -07:00
TJ DeVries
d8e6a0396a
docs: update (#12860) 2020-09-06 19:55:49 -04:00
Justin M. Keyes
c1d395a6d6
UI: forward 'mousefocus' option #12863
close #12849
ref eb4aab7173
2020-09-06 11:40:07 -07:00
Thomas Vigouroux
c3e6b6119c
Merge pull request #12858 from kyazdani42/fix/no-ts-hl-without-query-value
treesitter: check hl group exists before passing it in nvim_get_hl_id_by_name
2020-09-06 17:18:47 +02:00
kiyan42
7e0c4e5329 apply bfredl suggestion 2020-09-06 15:32:24 +02:00
Björn Linse
9c929e7d23 lint: just bit twiddlin' 2020-09-06 11:25:23 +02:00
Thomas Vigouroux
e54c6b077c treesitter: update docs on predicates 2020-09-06 10:31:47 +02:00
Thomas Vigouroux
20c1526552 treesitter: simplify match_preds 2020-09-06 10:30:39 +02:00
Thomas Vigouroux
2d6437f5fb treesitter: use lua-match? instead of match? 2020-09-06 10:29:47 +02:00
Georgy Komarov
e57ea5f2a9
doc: fix invalid help tags #12745 2020-09-05 22:10:56 -07:00
Justin M. Keyes
bedab7e87b
provider: align all foo#Detect() functions #12839
Problem: ruby#Detect() and node#Detect() don't return a [prog, err] pair
which means callers must special-case them.

Solution: align their return signatures with the perl/pythonx providers.
2020-09-05 15:02:46 -07:00
Steven Sojka
fb55cb2d91
fix(highlight): compare rows vs columns in range highlight check (#12852) 2020-09-05 17:22:54 -04:00
Justin M. Keyes
858c056133
Support for :perl, :perlfile, :perldo and perleval() (#12809)
* support for :perl, :perlfile, :perldo and perleval()

* document that the perl provider doesn't currently work on Windows

* document that the perl legacy interface is now also supported

* added perleval() documentation

* import legacy perl interface tests

* only perl 5.22+ is supported

* healtcheck: use g:perl_host_prog if its set instead

using just 'perl' isn't correct as it may not be the version requested.
ditto for 'cpanm', rather go through 'App::cpanminus' to find the latest
perl version
2020-09-05 13:55:06 -07:00
kiyan42
981f3f17a0 treesitter: check hl group exists before passing it in nvim_get_hl_id_by_name 2020-09-05 21:43:40 +02:00
Jacques Germishuys
8705fbf77c healtcheck: use g:perl_host_prog if its set instead
using just 'perl' isn't correct as it may not be the version requested.
ditto for 'cpanm', rather go through 'App::cpanminus' to find the latest
perl version
2020-09-05 13:09:15 +01:00
Björn Linse
1e14dacd08
Merge pull request #12847 from nvim-treesitter/ts-list-predicates
treesitter: allow to list supported predicates
2020-09-04 17:01:49 +02:00
Thomas Vigouroux
3fd6e3b923 treesitter: allow to list supported predicates 2020-09-04 15:24:23 +02:00
Thomas Vigouroux
1832d18083 treesitter: update to use buf_set_extmark 2020-09-03 15:40:31 +02:00
Jacques Germishuys
98dea93ba0 only perl 5.22+ is supported 2020-09-03 09:57:59 +01:00
Jacques Germishuys
7725fd9880 added perleval() documentation 2020-09-03 09:57:59 +01:00
Jacques Germishuys
8c6e96bb50 document that the perl legacy interface is now also supported 2020-09-03 09:57:59 +01:00
Jan Edmund Lazo
b9430fe28e
vim-patch:8.2.1566: not all Bazel files are recognized
Problem:    Not all Bazel files are recognized.
Solution:   Add *.bazel and *.BUILD. (closes vim/vim#6836)
4488f5a545
2020-09-02 21:59:36 -04:00
Justin M. Keyes
948e625e1e
Merge #12468 'lsp: logging' 2020-09-01 20:50:08 -07:00
Gıyaseddin Tanrıkulu
e86b15b25c
lsp/make_position_param(): handle empty buffer #12825
Fix  #12623

problem: nvim_buf_get_lines(0) returns empty during startup, where no buffers are loaded yet.
solution: return empty object

Happens during startup, where buffer may not be loaded yet, because...
`source_startup_scripts()` is done before `edit_buffers()`:
9bb552875d/src/nvim/main.c (L362)
9bb552875d/src/nvim/main.c (L480)
2020-09-01 20:45:47 -07:00
Jacques Germishuys
a166c2aadb
eval_call_provider(): free unused return value #12819
Caller can pass discard=true to free the unwanted return value.
2020-09-01 20:22:42 -07:00
Thomas Vigouroux
4bcf54478a
Merge pull request #12814 from theHamsta/escape-queries
treesitter: avoid escaping complete query strings
2020-09-01 12:50:21 +02:00
Björn Linse
04ab26b885
Merge pull request #12736 from vigoux/ts-iter-children
treesitter: allow to iterate over node children
2020-09-01 10:52:55 +02:00
DDoSolitary
c14a9f6fcc
g📋 allow command given as a list #12775
fixes #12768
2020-09-01 00:27:38 -07:00
Thomas Vigouroux
18217b987f treesitter: add node:field() to get field children 2020-09-01 08:57:55 +02:00
Stephan Seitz
b058c671d2 treesitter: avoid escaping complete query strings
Escape "\\" only for `vim-match?` not for `match?`
Fixes #12595
2020-08-31 17:24:38 +02:00
Thomas Vigouroux
e123fd0a5d treesitter: allow to iterate over node children 2020-08-31 13:42:30 +02:00
Justin M. Keyes
c2662210b5
docs, remove 'guifontset' #11708
- remove redundant autocmd list
  This "grouped" list is useless, it only gets in the way when searching
  for event names.
- intro.txt: cleanup
- starting.txt: update, revisit
- doc: `:help bisect`
- mbyte.txt: update aliases 1656367b90. closes #11960
- options: remove 'guifontset'. Why:
  - It is complicated and is used by almost no one.
  - It is unlikely to be implemented by Nvim GUIs (complicated to parse,
    specific to Xorg...).
2020-08-31 00:51:35 -07:00
Anmol Sethi
3229ba0cde
lsp: Fix bad sortText comparison (#12485)
The spec indicates we have to fallback to comparing by label
if sortText is falsy.

Closes #12431
2020-08-30 22:29:47 -07:00
Jacques Germishuys
dd33725802 document that the perl provider doesn't currently work on Windows 2020-08-30 17:19:05 +01:00
Jacques Germishuys
9bef25314e support for :perl, :perlfile, :perldo and perleval() 2020-08-30 17:19:05 +01:00
Hirokazu Hata
3b1db74963
lsp: add key name to the output log value
Unless we look at the code every time, we will not know what the value is, so add the key name.
2020-08-26 12:06:07 +09:00
Hirokazu Hata
154cbe61c4
lsp: remove output log at rpc.notify
Since "rpc.send.payload" outputs the log with almost the same contents, delete the output here.
2020-08-26 12:06:07 +09:00
TJ DeVries
43202964f3
Merge pull request #12708 from runiq/lsp-doc
Add docs for some methods in vim.lsp
2020-08-25 09:52:22 -04:00
Jan Edmund Lazo
107e50b25e
vim-patch:8.2.1517: cannot easily get the character under the cursor
Problem:    Cannot easily get the character under the cursor.
Solution:   Add the {chars} argument to strpart().
6c53fca023
2020-08-23 18:32:39 -04:00
Patrice Peterson
b5782c3b81 Add FIXMEs 2020-08-23 13:48:27 +02:00
Patrice Peterson
ac05343a10 Add docs for most vim.lsp methods
Most of the lsp.log will be addressed in a separate PR.
2020-08-23 13:48:25 +02:00
Jan Edmund Lazo
27a6728848
vim-patch:8.2.1476: filetype test fails on MS-Windows
Problem:    Filetype test fails on MS-Windows.
Solution:   Remove "^" from pattern.
aa9675a61d
2020-08-17 18:30:34 -04:00
Jan Edmund Lazo
97d3bd0bc6
vim-patch:8.2.1474: /usr/lib/udef/rules.d not recognized as udevrules
Problem:    /usr/lib/udef/rules.d not recognized as udevrules.
Solution:   Adjust match pattern. (Haochen Tong, closes 36722)
624b6eaf20
2020-08-17 18:30:10 -04:00
Manuel Krebs
83f5bf435d
runtime/tex.vim: patch to 2547aa930b59 #12504
vim/vim@2547aa930b
2020-08-16 15:23:28 -07:00
Jan Edmund Lazo
c219d3eec4
defaults: sessionoptions+=unix,slash #12760
Since 1c3ca4f18f, 2c1d12d0be, #7836, the "unix" and "slash" behavior
of 'sessionoptions'/'viewoptions' is always enabled, and the flags are
just ignored. There is no reason for that behavior to be configurable.

Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
2020-08-15 19:19:06 -07:00
Jan Edmund Lazo
273ad7d66f
fixup! mksession: always unix slashes "/" for filepaths 2020-08-15 10:57:17 -04:00
Jan Edmund Lazo
6ac51792b9
fixup! vim-patch:68e6560b84f1 2020-08-15 10:57:17 -04:00
Jan Edmund Lazo
afc6753f64
vim-patch:8.2.1458: .gawk files not recognized
Problem:    .gawk files not recognized.
Solution:   Recognize .gawk files. (Doug Kearns)
9a5c553f79
2020-08-15 10:57:16 -04:00
Jan Edmund Lazo
ab85f774a6
vim-patch:8.2.1410: adding compiler plugin requires test change
Problem:    Adding compiler plugin requires test change.
Solution:   Include compiler plugin and adjust test.
7f7a888869
2020-08-14 18:20:30 -04:00
Jan Edmund Lazo
5e95e0da44
vim-patch:8.2.1409: nmpmrc and php.ini filetypes not recognized
Problem:    Nmpmrc and php.ini filetypes not recognized.
Solution:   Add filetype detection. (Doug Kearns)
1e91eafc2e
2020-08-14 18:20:30 -04:00
Jan Edmund Lazo
7a047d8dc2
vim-patch:8.2.1347: cannot easily get the script ID
Problem:    Cannot easily get the script ID.
Solution:   Support expand('<SID>').
909443028b
2020-08-14 18:20:28 -04:00
Jan Edmund Lazo
0680b5218e
vim-patch:8.1.2341: not so easy to interrupt a script programatically
Problem:    Not so easy to interrupt a script programatically.
Solution:   Add the interrupt() function. (Yasuhiro Matsumoto, closes vim/vim#2834)
67a2deb9cb
2020-08-14 18:20:28 -04:00
Jan Edmund Lazo
6d68b2801b
vim-patch:8.1.1674: script to check a colorscheme can be improved
Problem:    Script to check a colorscheme can be improved.
Solution:   Match the whole group name. Don't warn for what is usually omitted.
4e63f9425e
2020-08-14 18:20:27 -04:00
Jan Edmund Lazo
903cd73af1
vim-patch:8.1.0573: cannot redefine user command without ! in same script
Problem:    Cannot redefine user command without ! in same script
Solution:   Allow redefining user command without ! in same script, like with
            functions.
55d4691308
2020-08-14 18:20:27 -04:00
TJ DeVries
3ccdbc570d
lua: add vim.register_keystroke_callback (#12536)
* feat: Add vim.register_keystroke_callback

* fixup: Forgot to remove mention of old option

* fixup: Answer jamessan comments

* fixup: Answer norcalli comments

* fixup: portability

* Update runtime/doc/lua.txt

Co-authored-by: Ashkan Kiani <ashkan.k.kiani@gmail.com>
2020-08-14 10:03:17 -04:00
TJ DeVries
aa48c1c724
Merge pull request #12739 from vigoux/ts-refactor-predicates
treesitter: refactor
2020-08-14 08:33:50 -04:00
Thomas Vigouroux
6a8dcfab4b treesitter: allow to force predicate addition 2020-08-13 20:40:40 +02:00
Thomas Vigouroux
5900c99b7c treesitter: update docs on predicates 2020-08-13 20:30:15 +02:00
Thomas Vigouroux
9564803d1a treesitter: add predicate negation 2020-08-13 20:30:15 +02:00
Thomas Vigouroux
d7b12e58df treesitter: add and test vim-match? predicate 2020-08-13 20:30:15 +02:00
Thomas Vigouroux
58e37d7df8 treesitter: add contains? predicate 2020-08-13 20:30:15 +02:00
Thomas Vigouroux
18c0e77528 treesitter(docs): update and refresh docs 2020-08-13 20:30:15 +02:00
Thomas Vigouroux
613068071e treesitter: refactor and use lua regexes 2020-08-13 20:30:15 +02:00
Matthieu Coudron
602e7505e2
Merge pull request #12621 from Shougo/vim-8.1.1564
[RDY] vim-patch:8.1.1564, 1570, 1623, 1712 : sign column takes up space
2020-08-09 16:19:11 +02:00
Patrice Peterson
1869f86e35
Remove unused function (#12719) 2020-08-08 23:49:44 +02:00
Anmol Sethi
7f49594813
man.vim: Add - to 'iskeyword' (#12598)
Pressing K on manpages with - in their name will now work.

I noticed this the manpages of https://github.com/cli/cli
2020-08-08 12:48:33 -04:00
Jan Edmund Lazo
1123a979d0
vim-patch:8.1.0862: no verbose version of character classes
Problem:    No verbose version of character classes.
Solution:   Add [:ident:], [:keyword:] and [:fname:]. (Ozaki Kiichi,
            closes vim/vim#1373)
221cd9f4dd
2020-08-02 12:00:02 -04:00
Jan Edmund Lazo
45b91711e4
vim-patch:8.2.1292: AIDL filetype not recognized
Problem:    AIDL filetype not recognized.
Solution:   Add filetype detection. (Dominique Pellé, closes vim/vim#6533)
2afc3b4f77
2020-08-02 12:00:02 -04:00
Andreas Johansson
82bfdbfe5c
Revert "lsp: Fix text edits with the same start position (#12434)" (#12564)
This reverts commit 44fe8828f0.
2020-07-30 13:37:19 -04:00
Shougo Matsushita
d3eddcf630 vim-patch:8.1.1564: sign column takes up space
Problem:    Sign column takes up space.  (Adam Stankiewicz)
Solution:   Optionally put signs in the number column. (Yegappan Lakshmanan,
            closes vim/vim#4555, closes vim/vim#4515)
394c5d8870
2020-07-23 10:29:36 +09:00
Matthieu Coudron
b059fb5c67
Merge pull request #12654 from cbarrete/nomodifiable-hover
LSP: make the hover window nomodifiable
2020-07-21 19:50:33 +02:00
Anmol Sethi
a6917f840d
man.vim: Simplify man#init to reduce load time (#12482)
I removed the SunOS stuff since no one uses SunOS and I've never tested
it on there.

I removed the section_flag init as we can just use -S instead of -s
and -S is used by every implementation as far as I know.

This brings man#init's time from 50-70ms to 15-20ms for me.

Closes #12318
Related #6766
Related #6815
2020-07-21 11:46:42 -04:00
Matthieu Coudron
459800db43
Merge pull request #12575 from cbarrete/vim-8.2.0935
[RFC] vim-patch:8.2.{0935,0937}
2020-07-20 22:04:30 +02:00
Cédric Barreteau
fd6361278b Make the window nomodifiable when it's created 2020-07-20 20:16:46 +02:00
Cédric Barreteau
8bb2c3087a LSP: make the hover window nomodifiable 2020-07-20 20:16:46 +02:00
cbarrete
56f3b95180
doc: Add documentation for some vim.lsp.buf functions (#12552)
* Add documentation for some `vim.lsp.buf` functions

* Add inline Lua documentation

* Use generated documentation for LSP buffer functions

Co-authored-by: Cédric Barreteau <>
2020-07-19 17:16:12 -04:00
David Lukes
33837745bb
Fix / improve report messages (#12396) 2020-07-19 22:37:50 +02:00
Matthieu Coudron
e1d1c413f7
Merge pull request #12480 from nhooyr/mansect-trim
man.vim: Refactor verify_exists to unset $MANSECT as needed
2020-07-19 21:55:12 +02:00
Jan Edmund Lazo
93f2dc0d03
vim-patch:8.2.0893: assert_equalfile() does not take a third argument
Problem:    Assert_equalfile() does not take a third argument.
Solution:   Implement the third argument. (Gary Johnson)
fb517bac23
2020-07-19 11:40:34 -04:00
cbarrete
08efa7037e
lsp: Add support for call hierarchies (#12556)
* LSP: Add support for call hierarchies

* LSP: Add support for call hierarchies

* LSP: Add support for call hierarchies

* LSP: Jump to call location

Jump to the call site instead of jumping to the definition of the
caller/callee.

* LSP: add tests for the call hierarchy callbacks

* Fix linting error

Co-authored-by: Cédric Barreteau <>
2020-07-18 15:10:09 -04:00
Cédric Barreteau
6420615e3f vim-patch:8.2.0935: flattening a list with existing code is slow
Problem:    Flattening a list with existing code is slow.
Solution:   Add flatten(). (Mopp, closes vim/vim#3676)
077a1e670a
2020-07-15 20:27:20 +02:00
Thomas Vigouroux
341e139992 treesitter: add parser on_lines callbacks 2020-07-10 17:16:24 +02:00
Thomas Vigouroux
0f7eaa3555 treesitter: cache the capture hl relation 2020-07-10 17:16:24 +02:00
Thomas Vigouroux
c5119dbad6 treesitter: use change calbacks on redraw 2020-07-10 17:16:23 +02:00
Thomas Vigouroux
529251d5e4
treesitter: call bufload before parsing (#12603) 2020-07-10 09:33:27 -04:00
TJ DeVries
b39edb5b60
doc: Add information about lua function calls (#12574) 2020-07-08 10:42:34 -04:00
Christian Clason
91572ddad1
doc: mention that defer_fn applies schedule_wrap (#12601) 2020-07-07 10:55:40 +02:00
Matthieu Coudron
e49fc4ba1f
Merge pull request #12538 from janlazo/vim-8.2.1055
vim-patch:8.1.{93,1372},8.2.{1055,1060,1089,1095,1104}
2020-07-06 23:31:24 +02:00
Christian Clason
4ab7bbf3ea
lua: add options to highlight.on_yank (#12549)
NOTE: Configuration options have  changed for highlight.on_yank.

Check help for |:help highlight.on_yank()|
2020-07-05 21:30:12 -04:00
Christian Clason
f9579d473e
lsp: add optional vertical padding, maximal size to floats (#12444)
* add vertical padding to floats

* add max_width, max_height option to float methods

* lint

* lintlint

* guard against nil wrap_at
2020-07-05 21:09:52 -04:00
Jan Edmund Lazo
10c563577c
vim-patch:8.1.0093: non-MS-Windows: Cannot interrupt gdb when program is running
Problem:    non-MS-Windows: Cannot interrupt gdb when program is running.
Solution:   Only use debugbreak() on MS-Windows.
2ed890f1f8
2020-07-04 12:10:04 -04:00
Jan Edmund Lazo
f01bb307fd
vim-patch:8.2.1060: not all elinks files are recognized
Problem:    Not all elinks files are recognized.
Solution:   Just check for "elinks.conf". (Guido Cella, closes vim/vim#6337)
5f36d5fbb8
2020-07-04 10:05:34 -04:00
Jan Edmund Lazo
edaff441de
vim-patch:8.1.1372: when evaluating 'statusline' the current window is unknown
Problem:    When evaluating 'statusline' the current window is unknown.
            (Daniel Hahler)
Solution:   Set "g:actual_curwin" for %{} items.  Set "g:statusline_winid"
            when evaluationg %!. (closes vim/vim#4406, closes vim/vim#3299)
1c6fd1e100
2020-07-04 10:05:34 -04:00
Jan Edmund Lazo
43a2e5fe4b
vim-patch:8.2.1055: no filetype set for pacman config files
Problem:    No filetype set for pacman config files.
Solution:   Recognize pacman.conf and *.hook. (Guido Cella, closes vim/vim#6335)
73b4465ba7
2020-07-04 10:05:34 -04:00
Matthieu Coudron
bd5f0e9695
Merge pull request #12531 from BK1603/autoread-tui
Autoread now works in TUI too. The checktimestamp test is run at most once every 2 seconds not to poll too much and also because it doesn't make sense on some filesystems. A solution based on filesystem notifications should arrive soon.
2020-07-04 15:27:32 +02:00
TJ DeVries
7b529e7912
doc: fix scripts and regenerate (#12506)
* Fix some small doc issues

* doc: fixup

* doc: fixup

* Fix lint and rebase

* Remove bad advice

* Ugh, stupid mpack files...

* Don't let people include these for now until they specifically want to

* Prevent duplicate tag
2020-07-02 07:09:17 -04:00
Anmol Sethi
2844cd54da
docs: Describe how to escape keycodes with nvim_feedkeys (#12484)
Closes #12297
2020-07-01 21:57:03 -04:00
BK1603
22828f59bb Added healt check for tmux focus events 2020-07-02 04:40:35 +05:30
Mathias Fußenegger
554b21261e
lsp: Use nvim_buf_get_lines in locations_to_items and add more tests (#12357)
* LSP: Add tests & use nvim_buf_get_lines in locations_to_items

This is to add support for cases where the server returns a URI in the
locations that does not have a file scheme but needs to be loaded via a
BufReadCmd event.

* LSP: Don't iterate through all lines in locations_to_items

* fixup! LSP: Don't iterate through all lines in locations_to_items

* fixup! fixup! LSP: Don't iterate through all lines in locations_to_items

* fixup! fixup! fixup! LSP: Don't iterate through all lines in locations_to_items
2020-06-30 11:48:04 -04:00
Matthieu Coudron
1920ba4b55
Merge pull request #12491 from vigoux/treesitter-set-ranges
[RDY] Treesitter set ranges
2020-06-30 00:02:46 +02:00
Thomas Vigouroux
b652f74ca3 treesitter: use nodes to mark ranges 2020-06-29 22:21:06 +02:00
Thomas Vigouroux
558893b1b9 treesitter: add some documentation for parsers 2020-06-29 22:21:06 +02:00
Thomas Vigouroux
333f3f19db treesitter: add set_included_ranges to the parser
This is the first step towards language injection using treesitter.
2020-06-29 22:21:06 +02:00
Matthieu Coudron
d5bbaf92c1 doc: fix wordcount description
was fixed in vim patch c572da5f67aa5cdbbc127fc6f1d0a42e38468325
and forgot in corresponding vim patch 8c3377ee76.
2020-06-29 20:08:20 +02:00
cbarrete
48ac77a14c
LSP: Set current name as default rename text (#12553)
Since we don't know what the server considers to be a symbol, `cword` is
the best bet in most cases.

Co-authored-by: Cédric Barreteau <>
2020-06-27 20:10:19 +02:00
Hirokazu Hata
7efb302d26
Merge pull request #12252 from dlukes/formatting-sync 2020-06-27 11:27:51 +09:00
James McCoy
225f0bcd98
Merge pull request #12133 from bradking/syntax-fold 2020-06-24 13:09:30 -04:00
Jan Edmund Lazo
352831229f
vim-patch:8.2.1044: not all systemd file types are recognized (#12527)
Problem:    Not all systemd file types are recognized.
Solution:   Match several more files. (Guido Cella, closes vim/vim#6319)
ef6d86c173
2020-06-24 10:18:06 +02:00
Brad King
357c16515c vim-patch:8.2.0865 syntax: Add command to control how foldlevel is computed
Problem:    Syntax foldlevel is taken from the start of the line.
Solution:   Add ":syn foldlevel" to be able to use the minimal foldlevel in the line.
e35a52aee7

With `foldmethod=syntax` the foldlevel of a line is computed based
on syntax items on the line.  Previously we always used the level
of the syntax item containing the start of the line.  This works
well in cases such as:

    if (...) {
      ...
    }
    else if (...) {
      ...
    }
    else {
      ...
    }

which folds like this:

    +---  3 lines: if (...) {---------------------------
    +---  3 lines: else if (...) {----------------------
    +---  3 lines: else {-------------------------------

However, the code:

    if (...) {
      ...
    } else if (...) {
      ...
    } else {
      ...
    }

folds like this:

    +---  7 lines: if (...) {---------------------------

We can make the latter case fold like this:

    +---  2 lines: if (...) {---------------------------
    +---  2 lines: } else if (...) {--------------------
    +---  3 lines: } else {-----------------------------

by choosing on each line the lowest fold level that is followed
by a higher fold level.

Add a syntax command

    :syntax foldlevel [start | minimum]

to choose between these two methods of computing the foldlevel of
a line.
2020-06-23 19:07:33 -04:00
francisco souza
2f6d1d3c88
lsp: when apply text edits, set buflisted on buffers (#12489)
The client creates buffers on the fly to be able to apply text edits on
files that weren't previously open, which is great, but it uses the
bufadd() function, which creates unlisted buffers and can lead to a
weird experience in the text editor. Setting the buffer to buflisted
fixes this.

Closes #12488.

Co-authored-by: francisco souza <fsouza@users.noreply.github.com>
2020-06-23 17:50:37 +02:00
David Lukes
ebee9ebe2b lsp: Add sync variant of LSP formatting
Also, factor out a `vim.lsp.util.get_effective_tabstop()` helper and add
tests for it.
2020-06-22 09:48:41 +02:00
Jan Edmund Lazo
b4e4c2ad95
vim-patch:8.2.0983: SConstruct file type not recognized
Problem:    SConstruct file type not recognized.
Solution:   Use python for SConstruct files. (Roland Hieber)
ad72350360
2020-06-18 18:01:44 -04:00
Jan Edmund Lazo
954aed886e
vim-patch:8.2.0980: raku file extension not recognized
Problem:    Raku file extension not recognized. (Steven Penny)
Solution:   Recognize .raku and .rakumod. (closes vim/vim#6255)
a65d8b5bb9
2020-06-18 18:01:44 -04:00
Jan Edmund Lazo
abadb687fb
vim-patch:8.2.0954: not all desktop files are recognized
Problem:    Not all desktop files are recognized.
Solution:   Add the *.directory pattern. (Eisuke Kawashima, closes vim/vim#3317)
f1f0ff9557
2020-06-18 18:01:43 -04:00
Jan Edmund Lazo
44535d39e9
vim-patch:8.1.1977: terminal debugger plugin may hang
Problem:    Terminal debugger plugin may hang.
Solution:   Wait longer when still reading symbols.
19c8fe1925
2020-06-18 18:01:43 -04:00
Jan Edmund Lazo
9d565c5ba3
vim-patch:8.2.0930: script filetype detection trips over env -S argument
Problem:    Script filetype detection trips over env -S argument.
Solution:   Remove "-S" and "--ignore-environment". (closes vim/vim#5013)
            Add tests.
b5e18f29fa
2020-06-18 18:01:42 -04:00
Jan Edmund Lazo
150168b881
vim-patch:8.2.0927: some sshconfig and ssdhconfig files are not recognized
Problem:    Some sshconfig and ssdhconfig files are not recognized.
Solution:   Add filetype patterns.
da84ac2a6f
2020-06-18 18:01:41 -04:00
Jan Edmund Lazo
a5bde56b37
vim-patch:8.0.1554: custom plugins loaded with --clean
Problem:    Custom plugins loaded with --clean.
Solution:   Do not include the home directory in 'runtimepath'.
0726870326
2020-06-18 18:01:41 -04:00
francisco souza
70d4b31b83
lsp: Add new highlight groups used in show_line_diagnostics (#12473)
* lsp: support custom hl groups in show_line_diagnostics

Closes #12472.

* runtime: add docs for the new lsp highlight groups

Co-authored-by: francisco souza <fsouza@users.noreply.github.com>
2020-06-18 08:04:49 -04:00
Manuel Krebs
8498c40fcf tex.vim: patch runtime/indent to 388a5d4f20b4
vim/vim@388a5d4f20
2020-06-17 12:52:39 +02:00
Manuel Krebs
ad42ac4618 tex.vim: patch runtime to 65e0d77a66b7
vim/vim@65e0d77a66
2020-06-16 19:57:41 +02:00
Manuel Krebs
db756fca52 tex.vim: patch runtime to 388a5d4f20b4
vim/vim@388a5d4f20
2020-06-16 19:56:14 +02:00
Manuel Krebs
78f37f6a35 tex.vim: patch runtime to 1d9215b9aaa1
vim/vim@1d9215b9aa
2020-06-16 19:53:35 +02:00
Hirokazu Hata
e628a05b51
Merge pull request #12342 from h-michael/fix-doc 2020-06-15 18:08:34 +09:00
Hirokazu Hata
52cd8bf507
doc: fix vim.api.nvim_buf_attach callback arguments 2020-06-15 12:30:13 +09:00
Hirokazu Hata
6613ab6bca
Merge pull request #12469 from h-michael/request
lsp: even if contents before change is 0 byte, request to server
2020-06-15 11:11:42 +09:00
Kevin Fleming
8daefe2f04
Fix highlight group names in LSP documentation (#12427)
LspDiagnosticInformation -> LspDiagnosticsInformation
LspDiagnosticInformationSign -> LspDiagnosticsInformationSign
LspDiagnosticHint -> LspDiagnosticsHint
LspDiagnosticHintSign -> LspDiagnosticsHintSign
2020-06-14 15:25:39 -04:00
Andreas Johansson
44fe8828f0
lsp: Fix text edits with the same start position (#12434)
According to the LSP spec[1], multiple edits can have the same starting
position, and if that is the case, they should be applied in the order
as they come in the array.

The implementation uses a reverse sort to not interfere with non applied
edits, but failed to take into account the spec.

[1] https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/#textedit
2020-06-14 15:23:16 -04:00
Anmol Sethi
e8ccd0f234
man.vim: Remove unnecessary code
Not sure why this was added in 94f4469638

It doesn't seem to do anything and I can't reproduce the linked issue
with this patch so I think it's all working now.

cc @justinmk
2020-06-13 02:55:40 -04:00
Anmol Sethi
adc3425a37
man.vim: Fix tagfunc to respect b:man_default_sects
Also, kudos to @zsugabubus for fixing a related issue in #12417

This also prevents any sorting of the paths from man. We need to
respect the order we get from it otherwise you end up loading

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/share/man/man1/ls.1

on MacOS instead of /usr/share/man/man1/ls.1
2020-06-13 02:55:40 -04:00
Anmol Sethi
4aaffc5f33
man.vim: Refactor verify_exists to unset $MANSECT as needed
Also cleaned it up a little and made it faster.

Closes #9159 and #9271

Also changes man#extract_sect_and_name_ref to only return a single
section at a time. This fixes a bug in its usage in man#goto_tag
where get_paths would be called with multiple sections and it does
not support that.

I noticed that our tagfunc doesn't obey b:man_default_sects and
I'll fix that next.
2020-06-12 23:44:31 -04:00
Dheepak Krishnamurthy
a0a84fc9e0
lsp: Add BufLeave to close_preview_autocmd function call (#12477)
else popup window remains open when switching buffer.
2020-06-12 20:38:33 +02:00
Stephan Seitz
b751d16cad
lsp: Fix #12449 textDocumentSync.save can be boolean. Access textDocumentSync.save.includeText only if table. (#12450) 2020-06-11 15:47:03 -04:00
Hirokazu Hata
e39ec50d73
lsp: even if contents before change is 0 byte, request to server
fix: https://github.com/neovim/neovim/issues/12414
2020-06-11 13:09:05 +09:00
erw7
d17e38e482 Add overlapped option to jobstart
When UV_OVERLAPPED_PIPE was used for the pipe passed to the child process, a
problem occurred with the standard input of the .Net Framework application
(#11809). Therefore, add the overlapped option to jobstart() and change it so
that it is set only when necessary
2020-06-10 22:21:14 +09:00
Matthieu Coudron
dbc8ec9446
Merge pull request #12321 from vigoux/treesitter-runtime
treesitter: update runtime
2020-06-06 15:37:51 +02:00
Matthieu Coudron
33dafc4f0f
Merge pull request #12413 from janlazo/vim-8.2.0089
[RDY]vim-patch:8.0.1564,8.1.{917,1895,2018,2335},8.2.{89,491,873,892,905}
2020-06-06 02:05:49 +02:00
Matthieu Coudron
fca471d8e2
Merge pull request #12411 from kuuote/fix-remote-plugin-command
runtime: fix remote plugin command fails at some case
2020-06-06 01:39:12 +02:00
Jan Edmund Lazo
909af2f3f1
vim-patch:8.2.0491: cannot recognize a <script> mapping using maparg()
Problem:    Cannot recognize a <script> mapping using maparg().
Solution:   Add the "script" key. (closes vim/vim#5873)
2da0f0c445
2020-06-04 20:52:53 -04:00
Jan Edmund Lazo
f85bf6ec37
vim-patch:8.2.0873: a .jl file can be sawfish (lisp) or Julia
Problem:    A .jl file can be sawfish (lisp) or Julia.
Solution:   Do not recognize *.jl as lisp, since it might be Julia.
            (closes vim/vim#6178)
2891459b81
2020-06-04 20:52:52 -04:00
TJ DeVries
dd4018947c
lsp: do not process diagnostics for unloaded buffers (#12440) 2020-06-04 19:37:38 -04:00
Christian Clason
b7f3f11049
lsp: compute height of floating preview correctly for wrapped lines (#12380)
* take wrapping into account when computing float height

* factor out size calculation

* add test

* accept and pass through opts.wrap_at in floating_preview

* make padding configurable

* slightly refactor fancy_floating_markdown to make use of make_position

* padding using string.format

* move trim and pad to separate function

* nit

Co-authored-by: Hirokazu Hata <h.hata.ai.t@gmail.com>

* remove mention of backward compat

* make lint happy

Co-authored-by: Hirokazu Hata <h.hata.ai.t@gmail.com>
2020-06-04 14:23:03 -04:00
Dheepak Krishnamurthy
6f4f38cd54
lsp: Add check for declaration and typeDefinition support in vim lsp server before making request (#12421)
* Add check for typeDefinition support in vim lsp server

* Check for typeDefinitionProvider in server

* Check for declarationProvider in server

* Add check for client support

* Fix typo
2020-06-04 08:52:44 -04:00
notomo
ac5a3f2c56
lua: fix behavior when split empty string (#12429)
* lua: fix behavior when split empty string

* test: lsp.util.apply_text_edits with an empty edit
2020-06-04 08:48:48 -04:00
Hirokazu Hata
96568d5b07
Merge pull request #12343 from ndreas/fix/lsp-multibyte-indexing
Fix LSP multibyte indexing
2020-06-04 12:16:42 +09:00
Thomas Vigouroux
6a93077475 treesitter: fix tests 2020-06-03 19:58:02 +02:00
Christian Clason
8a1276005a
Add v:event.visual during TextYankPost (#12382)
* propagate visual selection to textyankpost event

* adapt tests

* add docs

* also adapt oldtest
2020-06-03 10:51:25 -04:00
notomo
60c581b35d
lua: fix infinite loop for vim.split on empty string (#12420) 2020-06-02 19:31:43 -04:00
Christian Clason
91e41c8576
lua: add vim.highlight.range (#12401) 2020-05-31 14:56:00 -04:00