aboutsummaryrefslogtreecommitdiff
path: root/runtime
Commit message (Collapse)AuthorAge
...
| * | fix(fs): use generics for better typingaltermo2024-03-06
| | |
| * | docs(lsp): nits and typos in client.luaMaria José Solano2024-03-06
| | |
| * | fix(types): move type annotation for `IterMod`Will Hopkins2024-03-06
| | |
| * | refactor(types): more fixes (2)Lewis Russell2024-03-06
| | |
| * | docs(treesitter): fix ambiguous parameter description about `lang`Yi Ming2024-03-06
| | |
| * | fix(lsp): actually send diagnostic-tags back to the serverLewis Russell2024-03-06
| | | | | | | | | | | | Fixes #27318
| * | feat(lsp): report fswatch errorsLewis Russell2024-03-06
| | | | | | | | | | | | | | | | | | Resolves #27713 Co-authored-by: Tomasz N <przepompownia@users.noreply.github.com>
| * | refactor(lua): more efficient vim.tbl_islistLewis Russell2024-03-06
| | | | | | | | | | | | | | | No need to run a full iteration of the table. Simply return false when the next key isn't what we expect.
| * | refactor(types): more fixesLewis Russell2024-03-06
| | |
| * | vim-patch:63c39e4ef749Christian Clason2024-03-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(c): Recognize "__inline" (vim/vim#14145) `__inline` is recognized by GCC, and may even be preferred, as MSVC does not recognize `__inline__`. https://github.com/vim/vim/commit/63c39e4ef749883e96a83b9f647ac91516c0d1be Co-authored-by: Wu Yongwei <wuyongwei@gmail.com>
| * | docs(lua): improvements for LSP and DiagnosticLewis Russell2024-03-05
| | |
| * | vim-patch:e5c9ba601573 (#27737)zeertzjq2024-03-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(vim): Update base-syntax, fix escaping :syn and :hi sub-groups (vim/vim#14137) * runtime(vim): Update base-syntax, fix escaping :syn and :hi sub-groups - Remove contained :syntax and :highlight sub-groups from the function body cluster. These should only match in the respective commands. - Remove vimSynLine syntax group from several clusters. The definition of vimSynLine was removed in Vim 5.3. * runtime(vim): Update syntax generator, use standard Last Change date format The de facto standard date format is YYYY MMM DD. https://github.com/vim/vim/commit/e5c9ba6015735b8b12e35dc5873bfc957dcbb600 Co-authored-by: dkearns <dougkearns@gmail.com>
| * | vim-patch:d9ebd46bd090Christian Clason2024-03-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(mswin): Use unnamed register when clipboard not working (vim/vim#13813) * Use unnamed register while clipboard not exist * Do not need to specify the unnamed register explicitly fixes: vim/vim#13809 https://github.com/vim/vim/commit/d9ebd46bd090c598adc82e683b4462909f2d4ea5 Co-authored-by: Shixian Li <34830785+znsoooo@users.noreply.github.com>
| * | vim-patch:1bdc9435c1a1Christian Clason2024-03-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(sh): Update syntax file, fix issue vim/vim#962 (vim/vim#14138) Allow the opening parenthesis of a multiline array assignment, within an if statement, to appear at EOL. Fixes issue vim/vim#962. https://github.com/vim/vim/commit/1bdc9435c1a14ca1a30e5b5927ab63f603ec4409 Co-authored-by: dkearns <dougkearns@gmail.com>
| * | vim-patch:e84490311ba3Christian Clason2024-03-04
| | | | | | | | | | | | | | | | | | | | | | | | runtime(css): update syntax script https://github.com/vim/vim/commit/e84490311ba32cb258cc738bc3caa8b448c84c8b Co-authored-by: Jay Sitter <jay@jaysitter.com>
| * | fix(tohtml): replace hex escape with digit escape (#27728)altermo2024-03-04
| | |
| * | docs(lua): clarify when `vim.bo`/`vim.wo` acts like `:setlocal` (#27708)Luna Saphie Mittelbach2024-03-04
| | |
| * | vim-patch:691aee8b0705zeertzjq2024-03-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(vim): Update base-syntax, fix issue vim/vim#14135 (vim/vim#14136) Fix incorrect error highlighting for function calls in :command definitions. vimFunctionError should be restricted to :function header lines. fixes: vim/vim#14135 https://github.com/vim/vim/commit/691aee8b070506e6eea8ec166bf69d9a03002790 Co-authored-by: dkearns <dougkearns@gmail.com>
| * | vim-patch:c4aef9a97b36zeertzjq2024-03-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(vim): Update base-syntax, improve :augroup highlighting (vim/vim#14125) - Explicitly match the bang and group name in :aug! {name}. - Allow any characters in a group name. - Match default group switch marker, END. - Match :aug without arguments (list command). https://github.com/vim/vim/commit/c4aef9a97b3673a12de7a131d239e7f49d11f630 Co-authored-by: dkearns <dougkearns@gmail.com>
| * | vim-patch:b3030b653bbdChristian Clason2024-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(java): Recognise text blocks (vim/vim#14128) Also, accept as valid the space escape sequence `\s`. Also, consistently use the claimed `javaDebug` prefix for syntax group definitions kept under `g:java_highlight_debug`. Since `javaStringError` is commented out for its generality, let's comment out `javaDebugStringError`, its copy, as well. References: https://openjdk.org/jeps/378 https://docs.oracle.com/javase/specs/jls/se17/html/jls-3.html#jls-3.10.7 Closes vim/vim#10910. https://github.com/vim/vim/commit/b3030b653bbdc08c91138001d1987d804f6ebf46 Co-authored-by: Aliaksei Budavei <32549825+zzzyxwvut@users.noreply.github.com>
| * | vim-patch:e93afc2e6126Christian Clason2024-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(r,rhelp,rmd,rnoweb,rrst): Update ftplugin, browsefilter labels (vim/vim#14126) Use the standard format for browsefilter labels: "File Description (*.ext1, *.ext2, *.ext3)" https://github.com/vim/vim/commit/e93afc2e612647e79e1082096ffd6c61e01ac691 Co-authored-by: dkearns <dougkearns@gmail.com>
| * | fix(lsp): directly rename the existing buffers when renaming (#27690)Jaehwang Jung2024-03-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: `vim.lsp.util.rename()` deletes the buffers that are affected by renaming. This has undesireable side effects. For example, when renaming a directory, all buffers under that directory are deleted and windows displaying those buffers are closed. Also, buffer options may change after renaming. Solution: Rename the buffers with :saveas. An alternative approach is to record all the relevant states and restore it after renaming, but that seems to be more complex. In fact, the older version was attempting to restore the states but only partially and incorrectly.
| * | fix(lsp): defer writing error msgs (#27688)Jaehwang Jung2024-03-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Context: Nvim catches errors from the user's `on_exit` and rpc handler callbacks and prints the error message. Problem: Printing the error message uses Nvim api functions. But callbacks mentioned above run in `:h lua-loop-callbacks` where most of `vim.api` is not allowed, so Nvim itself raises error. Solution: `vim.schedule()` the error reporting when necessary.
| * | vim-patch:100a665634a0Christian Clason2024-03-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(java): Improve the recognition of literals (vim/vim#14120) * Emend the Unicode and octal escape sequence patterns; * Accept the (repeated) underscore separators in all numerical literals; * Recognise hexadecimal floating-point literals. (The space escape sequence '\s' will be introduced along with text blocks in another PR.) References: https://docs.oracle.com/javase/specs/jls/se17/html/jls-3.html#jls-3.3 https://docs.oracle.com/javase/specs/jls/se17/html/jls-3.html#jls-3.10.1 https://docs.oracle.com/javase/specs/jls/se17/html/jls-3.html#jls-3.10.2 https://docs.oracle.com/javase/specs/jls/se17/html/jls-3.html#jls-3.10.7 https://github.com/vim/vim/commit/100a665634a0a2edbc755daf453c4915800684dd Co-authored-by: Aliaksei Budavei <32549825+zzzyxwvut@users.noreply.github.com>
| * | Merge pull request #27347 from lewis6991/fswatchLewis Russell2024-03-01
| |\ \ | | | | | | | | feat(lsp): add fswatch watchfunc backend
| | * | feat(lsp): add fswatch watchfunc backendLewis Russell2024-03-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: vim._watch.watchdirs has terrible performance. Solution: - On linux use fswatch as a watcher backend if available. - Add File watcher section to health:vim.lsp. Warn if watchfunc is libuv-poll.
| | * | fix(lsp): cancel watchers when closing a clientLewis Russell2024-03-01
| | | |
| | * | refactor(watch): simplify filechanges processingLewis Russell2024-03-01
| | | |
| | * | refactor(watch): general tidy upLewis Russell2024-03-01
| | | | | | | | | | | | | | | | | | | | | | | | - Rename watch.poll to watch.watchdirs - Unify how include and exclude is applied - Improve type hints
| * | | docs: improve/add documentation of Lua typesLewis Russell2024-03-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Added `@inlinedoc` so single use Lua types can be inlined into the functions docs. E.g. ```lua --- @class myopts --- @inlinedoc --- --- Documentation for some field --- @field somefield integer --- @param opts myOpts function foo(opts) end ``` Will be rendered as ``` foo(opts) Parameters: - {opts} (table) Object with the fields: - somefield (integer) Documentation for some field ``` - Marked many classes with with `@nodoc` or `(private)`. We can eventually introduce these when we want to.
| * | | fix(types): rename win_get_config return type to win_configWill Hopkins2024-03-02
| | | | | | | | | | | | Follow-up to #27397
| * | | vim-patch:87410ab3f556 (#27696)zeertzjq2024-03-02
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | runtime(doc): some improvements to getregion() docs (vim/vim#14122) - Mention the default selection behavior - Remove useless sentence - Correct description about space padding https://github.com/vim/vim/commit/87410ab3f556121dfb3b30515f40c5f079edd004
| * | fix(lsp): rename undofile when renaming (#27684)Jaehwang Jung2024-03-01
| | | | | | | | | | | | | | | | | | | | | Problem: After `rename()`, the undo information for the renamed file(s) are lost. Solution: Rename the undofile as well.
| * | vim-patch:8fad5d58874eChristian Clason2024-02-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(doc,netrw): update "Last Change header", remove trailing whitespace Update Last-Change Header for netrw and doc/indent.txt, fix a trailing whitespace in indent.txt and make CI happy. https://github.com/vim/vim/commit/8fad5d58874ed724f673ac8a83739164cead3961 Co-authored-by: Christian Brabandt <cb@256bit.org>
| * | vim-patch:b4eb3f1e4489Christian Clason2024-02-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(yaml): disable multiline_scalar detection by default There have been many complaints about Yaml indenting too much, because it considers values to be multi-line by default, which leads to unintended indenting for (apparently most) users. So let's hide this feature behind the new feature flag, keep it simple and prefer single line value key pairs by default. If you want the old behaviour, set the following value: > :let g:yaml_indent_multiline_scalar = 1 If not set, it will indent the same as the previous line. closes vim/vim#13845 https://github.com/vim/vim/commit/b4eb3f1e44896b12fdfa3885a78c6eaa181eaeff Co-authored-by: Christian Brabandt <cb@256bit.org>
| * | vim-patch:56b7da3c051fChristian Clason2024-02-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(netrw): handle file/dir symlinks specifically in tree mode fixes: vim/vim#2386 related: vim/vim#3609 https://github.com/vim/vim/commit/56b7da3c051fe1a5fd76534998c17b22d83c0899 Co-authored-by: Christian Brabandt <cb@256bit.org>
| * | docs(eval): getline and indent function support string typeglepnir2024-02-29
| | | | | | | | | | | | | | | | | | Problem: getline and indent function missing string type in param. Solution: add string type in eval gen.
| * | fix(lsp): use plain loop for non-list-like table of protocol valuesChristian Clason2024-02-29
| | | | | | | | | | | | | | | | | | Fixup for #27628 Closes #27669
| * | vim-patch:9ecf02cd5f5fChristian Clason2024-02-29
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(java): Recognise _when_ clauses in _switch_ blocks Also: - distinguish _yield_ when used as a contextual keyword from when used qualified as a method or a method reference (as can be seen in testdir/input/java_switch.java, variables and method declarations named _yield_ will be recognised as the namesake keyword--consider picking other names for variables, and defining g:java_highlight_functions to have method names painted; since _yield_ statements can have trailing parens, they must be recognised as statements, for only qualified _yield_ method calls are supported); - recognise grouped _default_ _case_ labels; - describe primitive types for _case_ labels (JLS, §14.11, §3.10.1); - recognise some non-ASCII identifiers (see javaLambdaDef, javaUserLabel) (further improvement for better recognition of identifiers will be arranged in a separate PR). Because the arrow '->' is used in two kinds of expressions, lambda (abstractions) and _switch_, necessary changes were made for the recognition of either (and further improvement touching lambda expressions will be separately arranged). Because 'default' is used for instance method declarations in interfaces and in _switch_ labels, necessary changes were made for the recognition of either (and further improvement touching method declarations will be separately arranged). Finally, it deemed appropriate to put 'yield' in the syntax group of javaOperator rather than javaStatement, for its member 'var' is also another contextual keyword (e.g., this is valid syntax: "var var = var(test.var);"). References: https://openjdk.org/jeps/361 (Switch Expressions) https://openjdk.org/jeps/440 (Record Patterns) https://openjdk.org/jeps/441 (Pattern Matching for switch) Also, add a Java specific filetype plugin for the syntax test, so that no soft-wrapping of long indented lines occur. Otherwise the syntax scripts would miss a few lines during scrolling and verification of the screen dumps. closes: vim/vim#14105 https://github.com/vim/vim/commit/9ecf02cd5f5feabe096f66cd5f503a822c78793f Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
| * refactor(defaults): use getregion() for Visual mode gx (#27663)zeertzjq2024-02-29
| | | | | | Also make it work better on a multiline selection.
| * vim-patch:9.1.0142: getregion() can be improved (#27662)zeertzjq2024-02-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: getregion() can be improved (after v9.1.120) Solution: change getregion() implementation to use pos as lists and one optional {opt} dictionary (Shougo Matsushita) Note: The following is a breaking change! Currently, the getregion() function (included as of patch v9.1.120) takes 3 arguments: the first 2 arguments are strings, describing a position, arg3 is the type string. However, that is slightly inflexible, there is no way to specify additional arguments. So let's instead change the function signature to: getregion(pos1, pos2 [, {Dict}]) where both pos1 and pos2 are lists. This is slightly cleaner, and gives us the flexibility to specify additional arguments as key/value pairs to the optional Dict arg. Now it supports the "type" key to specify the selection type (characterwise, blockwise or linewise) and now in addition one can also define the selection type, independently of what the 'selection' option actually is. Technically, this is a breaking change, but since the getregion() Vimscript function is still quite new, this should be fine. closes: vim/vim#14090 https://github.com/vim/vim/commit/19b718828d8d5fab52d94c6cdba694641879ab38 Co-authored-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
| * docs(lpeg): remove double backticks from meta (#27659)Maria José Solano2024-02-29
| |
| * fix(lsp): handle reverse lookup in capabilitiesMaria José Solano2024-02-28
| |
| * refactor(lsp): remove outdated commentMaria José Solano2024-02-28
| |
| * fix(tohtml): set filetype of generated HTML to `html`Christian Clason2024-02-28
| | | | | | | | | | | | | | Problem: `:TOhtml` opens the generated HTML code in a split, meaning it inherits the `help` filetype if a help buffer is to be converted. Solution: Explicitly set the filetype to `html`.
| * fix(lsp): correct the error message's cmd on spawning (#27632)notomo2024-02-28
| |
| * fix(lsp): remove unnecessary file load/write when renaming (#27621)Jaehwang Jung2024-02-28
| | | | | | | | | | | | | | | | | | Previously rename would unconditionally read the to-be-renamed file from the disk and write it to the disk. This is redundant in some cases If the file is not already loaded, it's not attached to lsp client, so nvim doesn't need to care about this file. If the file is loaded but has no change, it doesn't need to be written.
| * feat!: rewrite TOhtml in luaaltermo2024-02-28
| | | | | | | | | | | | Co-authored-by: wookayin <wookayin@gmail.com> Co-authored-by: clason <c.clason@uni-graz.at> Co-authored-by: Lewis Russell <me@lewisr.dev>
| * vim-patch:e84d2d4432cdChristian Clason2024-02-28
| | | | | | | | | | | | | | | | | | | | | | | | runtime(sh): Update ftplugin, fix vim/vim#14101 (vim/vim#14102) Add the 'b' flag to 'comments', so that the shebang line is not detected as comment. Fixes vim/vim#14101. https://github.com/vim/vim/commit/e84d2d4432cd6e43f2bb300d02abc90d551bcf4a Co-authored-by: dkearns <dougkearns@gmail.com>
| * fix(lua): remove uri fragment from file paths (#27647)Ilia Choly2024-02-28
| | | | | | | | | | | | | | Problem: Some LSP servers return `textDocument/documentLink` responses containing file URIs with line/column numbers in the fragment. `vim.uri_to_fname` returns invalid file names for these URIs. Solution: Remove the URI fragment from file URIs.