Justin M. Keyes
16336c486e
feat(gen_help_html.lua): adapt to new parser
...
- adapt to parser changes from https://github.com/vigoux/tree-sitter-vimdoc/pull/16
- numerous other generator improvements
2022-09-28 18:34:20 +02:00
bfredl
47b821eccf
docs: mark cmdheight=0 and vim.attach_ui as experimental
...
These will require further work for user experience out of the box
during the 0.9 cycle.
2022-09-28 16:18:04 +02:00
Christian Clason
9ca313fb96
vim-patch:9fbdbb814f4a ( #20376 )
...
Update runtime files
9fbdbb814f
Skip ftplugin/vim.vim (vim9script change)
Drop indent/vim.vim and autoload/dist/vimindent.vim (vim9script rewrite)
2022-09-28 12:48:36 +02:00
zeertzjq
35e2c4a2ed
fix(lua): fix architecture-dependent behavior in usercmd "reg" ( #20384 )
...
I don't think using an integer as a NUL-terminated string can work on
big-endian systems, at least.
This is also not tested. Add a test.
Also fix a mistake in the docs of nvim_parse_cmd.
2022-09-28 18:27:59 +08:00
Justin M. Keyes
9a5ac06509
fix(docs): invalid :help links #20353
...
ref #20159
2022-09-26 06:56:07 -07:00
dundargoc
c815aadfcc
docs: fix typos ( #20150 )
...
Co-authored-by: Miguel Carneiro <mcarneiromorenas@gmail.com >
Co-authored-by: Gregory Anders <greg@gpanders.com >
Co-authored-by: Raphael <glephunter@gmail.com >
Co-authored-by: C.D. MacEachern <craig.daniel.maceachern@gmail.com >
Co-authored-by: zeertzjq <zeertzjq@outlook.com >
2022-09-26 17:43:23 +08:00
Justin M. Keyes
63be765182
fix(docs): invalid :help links #20345
...
Fix those naughty single quotes.
closes #20159
2022-09-25 16:58:27 -07:00
Justin M. Keyes
3169fc54a1
refactor(treesitter): rename x_position => x_pos
...
"pos" has a long precedent as "position" in vim, and there is no reason
to use a verbose name here.
2022-09-25 13:46:15 +02:00
Louis Sven Goulet
2a3cb0893b
feat: ":write!" skips "file changed" warning #18665
...
Problem:
Cannot opt-out of "WARNING: The file has been changed since reading
it!!!", even with ":write!".
Solution:
Change ":write!" to skip the warning.
closes #7270
2022-09-24 18:57:10 -07:00
Justin M. Keyes
a867aa45f7
Merge #11967 generate :help HTML with treesitter
2022-09-22 10:03:38 -04:00
Justin M. Keyes
09b64d75bd
feat(docs): gen_help_html.lua
...
Problem:
The :help docs HTML generated is driven by an old awk script
`runtime/doc/makehtml.awk` that is hard to maintain (ad hoc parser and
no one has touched it in decades) and has bugs like:
- https://github.com/neovim/neovim.github.io/issues/96
- https://github.com/neovim/neovim.github.io/issues/97
Solution:
Use Lua + treesitter (https://github.com/vigoux/tree-sitter-vimdoc ) to
generate :help docs HTML. Also validates tag links.
fix https://github.com/neovim/neovim.github.io/issues/96
fix https://github.com/neovim/neovim.github.io/issues/97
TODO:
- delete doc_html build task
- delete runtime/doc/Makefile
- delete makehtml.awk
- delete maketags.awk
OUTPUT:
$ nvim -V1 -es --clean +"lua require('scripts.gen_help_html')"
output dir: /…/neovim.github.io/_site/doc/
generated (207 errors): api.txt => api.html
generated (122 errors): arabic.txt => arabic.html
generated (285 errors): autocmd.txt => autocmd.html
generated (641 errors): builtin.txt => builtin.html
generated (623 errors): change.txt => change.html
generated (65 errors): channel.txt => channel.html
generated (353 errors): cmdline.txt => cmdline.html
generated (3 errors): debug.txt => debug.html
generated (28 errors): deprecated.txt => deprecated.html
generated (193 errors): dev_style.txt => dev_style.html
generated (460 errors): develop.txt => develop.html
generated (19 errors): diagnostic.txt => diagnostic.html
generated (57 errors): diff.txt => diff.html
generated (818 errors): digraph.txt => digraph.html
generated (330 errors): editing.txt => editing.html
generated (368 errors): eval.txt => eval.html
generated (184 errors): fold.txt => fold.html
generated (61 errors): ft_ada.txt => ft_ada.html
generated (0 errors): ft_ps1.txt => ft_ps1.html
generated (20 errors): ft_raku.txt => ft_raku.html
generated (5 errors): ft_rust.txt => ft_rust.html
generated (41 errors): ft_sql.txt => ft_sql.html
generated (110 errors): gui.txt => gui.html
generated (79 errors): hebrew.txt => hebrew.html
generated (17 errors): help.txt => index.html
generated (104 errors): helphelp.txt => helphelp.html
generated (0 errors): if_cscop.txt => if_cscop.html
generated (23 errors): if_perl.txt => if_perl.html
generated (16 errors): if_pyth.txt => if_pyth.html
generated (9 errors): if_ruby.txt => if_ruby.html
generated (216 errors): indent.txt => indent.html
generated (634 errors): index.txt => vimindex.html
generated (320 errors): insert.txt => insert.html
generated (265 errors): intro.txt => intro.html
generated (9 errors): job_control.txt => job_control.html
generated (0 errors): lsp-extension.txt => lsp-extension.html
generated (214 errors): lsp.txt => lsp.html
generated (311 errors): lua.txt => lua.html
generated (592 errors): luaref.txt => luaref.html
generated (798 errors): luvref.txt => luvref.html
generated (663 errors): map.txt => map.html
generated (228 errors): mbyte.txt => mbyte.html
generated (228 errors): message.txt => message.html
generated (0 errors): mlang.txt => mlang.html
generated (761 errors): motion.txt => motion.html
generated (4 errors): nvim.txt => nvim.html
generated (226 errors): nvim_terminal_emulator.txt => nvim_terminal_emulator.html
generated (988 errors): options.txt => options.html
generated (567 errors): pattern.txt => pattern.html
generated (15 errors): pi_gzip.txt => pi_gzip.html
generated (10 errors): pi_health.txt => pi_health.html
generated (27 errors): pi_msgpack.txt => pi_msgpack.html
generated (2177 errors): pi_netrw.txt => pi_netrw.html
generated (41 errors): pi_paren.txt => pi_paren.html
generated (9 errors): pi_spec.txt => pi_spec.html
generated (218 errors): pi_tar.txt => pi_tar.html
generated (0 errors): pi_tutor.txt => pi_tutor.html
generated (235 errors): pi_zip.txt => pi_zip.html
generated (265 errors): print.txt => print.html
generated (31 errors): provider.txt => provider.html
generated (335 errors): quickfix.txt => quickfix.html
generated (572 errors): quickref.txt => quickref.html
generated (109 errors): recover.txt => recover.html
generated (14 errors): remote.txt => remote.html
generated (14 errors): remote_plugin.txt => remote_plugin.html
generated (351 errors): repeat.txt => repeat.html
generated (23 errors): rileft.txt => rileft.html
generated (12 errors): russian.txt => russian.html
generated (6 errors): scroll.txt => scroll.html
generated (106 errors): sign.txt => sign.html
generated (347 errors): spell.txt => spell.html
generated (784 errors): starting.txt => starting.html
generated (1499 errors): syntax.txt => syntax.html
generated (23 errors): tabpage.txt => tabpage.html
generated (257 errors): tagsrch.txt => tagsrch.html
generated (31 errors): term.txt => term.html
generated (0 errors): testing.txt => testing.html
generated (96 errors): tips.txt => tips.html
generated (57 errors): treesitter.txt => treesitter.html
generated (71 errors): uganda.txt => uganda.html
generated (74 errors): ui.txt => ui.html
generated (87 errors): undo.txt => undo.html
generated (17 errors): userfunc.txt => userfunc.html
generated (1 errors): usr_01.txt => usr_01.html
generated (89 errors): usr_02.txt => usr_02.html
generated (293 errors): usr_03.txt => usr_03.html
generated (46 errors): usr_04.txt => usr_04.html
generated (96 errors): usr_05.txt => usr_05.html
generated (54 errors): usr_06.txt => usr_06.html
generated (20 errors): usr_07.txt => usr_07.html
generated (241 errors): usr_08.txt => usr_08.html
generated (130 errors): usr_09.txt => usr_09.html
generated (50 errors): usr_10.txt => usr_10.html
generated (33 errors): usr_11.txt => usr_11.html
generated (32 errors): usr_12.txt => usr_12.html
generated (22 errors): usr_20.txt => usr_20.html
generated (75 errors): usr_21.txt => usr_21.html
generated (8 errors): usr_22.txt => usr_22.html
generated (3 errors): usr_23.txt => usr_23.html
generated (163 errors): usr_25.txt => usr_25.html
generated (13 errors): usr_26.txt => usr_26.html
generated (84 errors): usr_27.txt => usr_27.html
generated (173 errors): usr_28.txt => usr_28.html
generated (285 errors): usr_29.txt => usr_29.html
generated (280 errors): usr_30.txt => usr_30.html
generated (11 errors): usr_31.txt => usr_31.html
generated (13 errors): usr_32.txt => usr_32.html
generated (156 errors): usr_40.txt => usr_40.html
generated (134 errors): usr_41.txt => usr_41.html
generated (35 errors): usr_42.txt => usr_42.html
generated (19 errors): usr_43.txt => usr_43.html
generated (60 errors): usr_44.txt => usr_44.html
generated (13 errors): usr_45.txt => usr_45.html
generated (1 errors): usr_toc.txt => usr_toc.html
generated (69 errors): various.txt => various.html
generated (68 errors): vi_diff.txt => vi_diff.html
generated (437 errors): vim_diff.txt => vim_diff.html
generated (296 errors): visual.txt => visual.html
generated (181 errors): windows.txt => windows.html
generated 119 html pages
total errors: 23862
invalid tags: 537
2022-09-22 15:36:27 +02:00
Justin M. Keyes
40f0851bd8
docs: deprecate :checkhealth vimscript interface
2022-09-22 15:36:27 +02:00
Lewis Russell
5c1b8d7bf8
docs(lua): correct docs for option accessor metatables ( #20256 )
2022-09-22 14:17:49 +01:00
Jonas Strittmatter
b4b05f160d
feat(filetype): expand environment variables in filetype patterns ( #20145 )
2022-09-21 15:58:57 -06:00
Lewis Russell
e762158305
docs(lua): opts in vim.keymap.{set,del}
can be optional ( #20255 )
2022-09-20 10:42:45 +01:00
Christian Clason
67df3347fd
vim-patch:9712ff1288f9 ( #20240 )
...
Update runtime files
9712ff1288
2022-09-18 15:20:20 +02:00
bfredl
0b7a3c173c
Merge pull request #20188 from bfredl/zerocmdline
...
feat(ui): use msg_grid based implementation for cmdheight=0
2022-09-16 10:07:50 +02:00
kylo252
0f93aa12fd
docs(autocmds): re-add buffer param to docstring ( #20204 )
2022-09-16 09:18:42 +02:00
Christian Clason
9ec4b20be6
fix(treesitter): return full metadata for get_captures_at_position ( #20203 )
...
fix(treesitter): get_captures_at_position returns metadata
Return the full `metadata` table for the capture instead of just the
priority.
Further cleanup of related docs.
2022-09-16 09:05:05 +02:00
bfredl
708bd68651
feat(ui): use msg_grid based implementation for cmdheight=0
2022-09-15 12:13:43 +02:00
Christian Clason
ddb762f401
docs(treesitter): clean up and update treesitter.txt ( #20142 )
...
* add type annotations to code
* clean up and expand static documentation
* consistent use of tags for static and generated docs
2022-09-14 11:08:31 +02:00
Mathias Fußenegger
a8c9e721d9
feat(fs): extend fs.find to accept predicate ( #20193 )
...
Makes it possible to use `vim.fs.find` to find files where only a
substring is known.
This is useful for `vim.lsp.start` to get the `root_dir` for languages
where the project-file is only known by its extension, not by the full
name.
For example in .NET projects there is usually a `<projectname>.csproj`
file in the project root.
Example:
vim.fs.find(function(x) return vim.endswith(x, '.csproj') end, { upward = true })
2022-09-13 14:16:20 -06:00
Gregory Anders
1970d2ac43
feat(diagnostic): pass diagnostics as data to DiagnosticChanged autocmd ( #20173 )
2022-09-13 08:33:39 -06:00
zeertzjq
907fc8ac37
vim-patch:9.0.0449: there is no easy way to translate a key code into a string ( #20168 )
...
Problem: There is no easy way to translate a string with a key code into a
readable string.
Solution: Add the keytrans() function. (closes vim/vim#11114 )
cdc839353f
vim-patch:7b2d87220c6c
Add missing part of patch
7b2d87220c
2022-09-13 06:23:33 +08:00
Christian Clason
fd70e2bff2
Merge pull request #20141 from vigoux/ts-self-inherits
...
fix(treesitter): prevent endless loop on self-inheritence
docs(treesitter): suggest using extends to extend queries
2022-09-12 17:35:49 +02:00
Thomas Vigouroux
a3272cf452
docs(treesitter): suggest using extends
to extend queries
2022-09-12 17:14:27 +02:00
zeertzjq
245ac6f263
vim-patch:8.2.5034: there is no way to get the byte index from a virtual column
...
Problem: There is no way to get the byte index from a virtual column.
Solution: Add virtcol2col(). (Yegappan Lakshmanan, closes vim/vim#10477 ,
closes vim/vim#10098 )
5a6ec10cc8
Cherry-pick tv_check_for_number_arg() from Vim.
Cherry-pick pathshorten() doc change.
2022-09-12 17:28:07 +08:00
Christian Clason
91a2e7a571
vim-patch:71b6d3397649 ( #20144 )
...
Update runtime files
71b6d33976
2022-09-10 14:54:13 +02:00
Mathias Fußenegger
19a3b2c26e
docs(lsp): update rpc.start stdio limitations ( #20120 )
2022-09-08 10:25:16 -07:00
Mathias Fußenegger
11167ab6d5
feat(lsp): add range option to lsp.buf.format ( #19998 )
2022-09-08 11:33:04 +02:00
Christian Clason
8c59d7e6a7
Merge pull request #20093 from neovim/upstream-ts-util
...
* feat(treesitter): upstream get_{node,captures} utility functions
* refactor(treesitter): get_{nodes,captures}_at_{position,cursor}
2022-09-08 11:23:26 +02:00
bfredl
893b659e88
fix(treesitter): use the right loading order for base queries ( #20117 )
...
Use the first, not last, query for a language on runtimepath. Typically,
this implies that a user query will override a site plugin query, which
will override a bundled runtime query.
2022-09-08 11:17:29 +02:00
Thomas Vigouroux
0405594399
feat(treesitter)!: do not merge queries by default ( #20105 )
...
Problem: Treesitter queries for a given language in runtime were merged together,
leading to errors if they targeted different parser versions (e.g., bundled viml queries
and those shipped by nvim-treesitter).
Solution: Runtime queries now work as follows:
* The last query in the rtp without `; extends` in the header will be used as the base query
* All queries (without a specific order) with `; extends` are concatenated with the base query
BREAKING CHANGE: queries need to be updated if they are meant to extend other queries
2022-09-08 09:47:36 +02:00
Raphael
4af04df844
fix(docs): remove duplicate word
2022-09-08 14:33:17 +08:00
zeertzjq
99e6e0f221
docs(treesitter): fix doxygen
2022-09-08 12:54:41 +08:00
Thomas Vigouroux
fd1595514b
Use weak tables in tree-sitter code ( #17117 )
...
feat(treesitter): use weak tables when possible
Also add the defaulttable function to create a table whose values are created when a key is missing.
2022-09-07 08:39:56 +02:00
Christian Clason
d01cadd82f
fix(treesitter): don't support legacy syntax in start()
2022-09-06 17:33:44 +02:00
Thomas Vigouroux
75adfefc85
feat(extmarks,ts,spell): full support for spelling
...
- Added 'spell' option to extmarks:
Extmarks with this set will have the region spellchecked.
- Added 'noplainbuffer' option to 'spelloptions':
This is used to tell Neovim not to spellcheck the buffer. The old
behaviour was to spell check the whole buffer unless :syntax was set.
- Added spelling support to the treesitter highlighter:
@spell captures in highlights.scm are used to define regions which
should be spell checked.
- Added support for navigating spell errors for extmarks:
Works for both ephemeral and static extmarks
- Added '_on_spell_nav' callback for decoration providers:
Since ephemeral callbacks are only drawn for the visible screen,
providers must implement this callback to instruct Neovim which
regions in the buffer need can be spell checked.
The callback takes a start position and an end position.
Note: this callback is subject to change hence the _ prefix.
- Added spell captures for built-in support languages
Co-authored-by: Lewis Russell <lewis6991@gmail.com >
Co-authored-by: Björn Linse <bjorn.linse@gmail.com >
2022-09-06 10:14:11 +01:00
bfredl
05893aea39
Merge pull request #20039 from zeertzjq/cmod-tab
...
fix(api)!: correctly deal with number before :tab
2022-09-06 10:32:23 +02:00
Christian Clason
95fd1ad83e
refactor(treesitter): get_{nodes,captures}_at_{position,cursor}
2022-09-06 10:15:23 +02:00
bfredl
5b8d6e0b32
Merge pull request #15391 from vigoux/ts-lua-builtin
...
feat(treesitter): highlighting for core languages, enabled for Lua
2022-09-06 10:10:01 +02:00
Christian Clason
4bf005e9fd
vim-patch:partial 0daafaa7d99e ( #20083 )
...
Update runtime files
0daafaa7d9
skip vim9script ftplugin
create userfunc.txt from Neovim content (skip section 3, needs 9.0.0379)
2022-09-06 08:57:53 +02:00
Christian Clason
0822896efc
feat(treesitter): add vim.treesitter.start(), enable for Lua
...
* Add vim.treesitter.start() for starting treesitter highlighting via
ftplugin or autocommand (can be extended later for fold, indent,
matchpairs, ...)
* Add vim.treesitter.stop() for manually stopping treesitter
highlighting
* Enable treesitter highlighting for Lua if
`vim.g.ts_highlight_lua = true` is set in `init.lua`
2022-09-06 08:08:29 +02:00
zeertzjq
ceb09701f2
feat(api): add "move" to nvim_input_mouse
2022-09-04 21:18:23 +08:00
zeertzjq
04bd700ac3
feat(tui): support 'mousemoveevent'
2022-09-04 21:18:22 +08:00
zeertzjq
a5fe7940c8
feat(ui-ext): make 'mousemoveevent' a ui_option
2022-09-04 21:18:22 +08:00
zeertzjq
00b49dd8dd
vim-patch:8.2.4674: cannot force getting MouseMove events
...
Problem: Cannot force getting MouseMove events.
Solution: Add the 'mousemoveevent' option with implementaiton for the GUI.
(Ernie Rael, closes vim/vim#10044 )
c4cb544cd5
This only ports the docs and the option variable.
The following commits will actually implement it as a UI option.
2022-09-04 21:18:08 +08:00
zeertzjq
21dad0dcf3
vim-patch:088e8e344352
...
Update runtime files.
088e8e3443
Also cherry-pick "partial" tag from a later runtime update.
2022-09-04 18:39:55 +08:00
zeertzjq
6f7d55d3d9
vim-patch:7.4.{1578,1624}
...
975b5271ee
03602ec28e
2022-09-04 18:39:55 +08:00
zeertzjq
1ef7720567
fix(api)!: correctly deal with number before :tab
...
Now nvim_parse_cmd and nvim_create_user_command use a "tab" value which
is the same as the number passed before :tab modifier instead of the
number plus 1, and "tab" value is -1 if :tab modifier is not used.
2022-09-02 22:28:57 +08:00