aboutsummaryrefslogtreecommitdiff
path: root/runtime
Commit message (Collapse)AuthorAge
* 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.
* docs(lpeg): merge upstream changesMaria José Solano2024-02-28
|
* vim-patch:b1427b46f5fe (#27652)zeertzjq2024-02-28
| | | | | | | | | | | | | runtime(vim): Update base-syntax, improve :echo highlighting (vim/vim#14103) - Normalise behaviour of :echo commands and improve expression matching. - Allow continued argument lines. - Refine string interpolation groups. - Remove duplicated :menu and :map generated commands that are handled specially later in the file. https://github.com/vim/vim/commit/b1427b46f5fe50a1daba102c4017d0ef2624b3ba Co-authored-by: dkearns <dougkearns@gmail.com>
* feat(lsp): support completion itemDefaultsMaria José Solano2024-02-27
|
* refactor(lsp): alias for CompletionResultMaria José Solano2024-02-27
|
* feat(docs): replace lua2dox.luaLewis Russell2024-02-27
| | | | | | | | | | | | | | | | | | | | | | | | | | Problem: The documentation flow (`gen_vimdoc.py`) has several issues: - it's not very versatile - depends on doxygen - doesn't work well with Lua code as it requires an awkward filter script to convert it into pseudo-C. - The intermediate XML files and filters makes it too much like a rube goldberg machine. Solution: Re-implement the flow using Lua, LPEG and treesitter. - `gen_vimdoc.py` is now replaced with `gen_vimdoc.lua` and replicates a portion of the logic. - `lua2dox.lua` is gone! - No more XML files. - Doxygen is now longer used and instead we now use: - LPEG for comment parsing (see `scripts/luacats_grammar.lua` and `scripts/cdoc_grammar.lua`). - LPEG for C parsing (see `scripts/cdoc_parser.lua`) - Lua patterns for Lua parsing (see `scripts/luacats_parser.lua`). - Treesitter for Markdown parsing (see `scripts/text_utils.lua`). - The generated `runtime/doc/*.mpack` files have been removed. - `scripts/gen_eval_files.lua` now instead uses `scripts/cdoc_parser.lua` directly. - Text wrapping is implemented in `scripts/text_utils.lua` and appears to produce more consistent results (the main contributer to the diff of this change).
* docs: fix type of setreg() argument {options} (#27631)Maria José Solano2024-02-27
|
* vim-patch:c7ddc9b73543Christian Clason2024-02-27
| | | | | | | | | | | | runtime(debian): update Debian syntax files (#14098) * debversions.vim: Move lunar to unsupported release * debsources: Add word boundaries around keyword match patterns https://github.com/vim/vim/commit/c7ddc9b73543d4b3b906b56948dc9a6861150e12 Co-authored-by: James McCoy <jamessan@jamessan.com> Co-authored-by: James Addison <jay@jp-hosting.net>
* vim-patch:2c51e15b66a4 (#27637)zeertzjq2024-02-27
| | | | | | | | | | | runtime(vim): Update syntax file, improve :substitute matching (vim/vim#14093) - Differentiate between :substitute and substitute(), fixes vim/vim#13883. - Match all allowed :substitute delimiters. - Remove leading context from :substitute matches. https://github.com/vim/vim/commit/2c51e15b66a4be9b5134c495ef546479aaa89ce9 Co-authored-by: dkearns <dougkearns@gmail.com>
* vim-patch:9.1.0137: <Del> in cmdline mode doesn't delete composing chars ↵zeertzjq2024-02-27
| | | | | | | | | | (#27636) Problem: <Del> in cmdline mode doesn't delete composing chars Solution: Use mb_head_off() and mb_ptr2len() (zeertzjq) closes: vim/vim#14095 https://github.com/vim/vim/commit/ff2b79d23956263ab0120623c37e0b4498be01db
* fix(defaults): validate 'channel' before responding to OSC request (#27594)Gregory Anders2024-02-26
| | | | | Validate the channel number before responding to an OSC 10/11 request. When used with nvim_open_term, the channel number is unset (since there is no process on the other side of the PTY).
* fix(mbyte): fix bugs in utf_cp_*_off() functionsVanaIgr2024-02-26
| | | | | | Problems: - Illegal bytes after valid UTF-8 char cause utf_cp_*_off() to fail. - When stream isn't NUL-terminated, utf_cp_*_off() may go over the end. Solution: Don't go over end of the char of end of the string.
* refactor(types): fix miscellaneous type warningsMaria José Solano2024-02-25
|
* vim-patch:partial:d086b8f646a6 (#27623)zeertzjq2024-02-25
| | | | | runtime(doc): fix inconsistent indent (vim/vim#14089) https://github.com/vim/vim/commit/d086b8f646a67f6b16c46061ce773de1011b8ec7
* fix(lsp): add assertion for explicit bufnr in apply_text_edits (#27614)Gregory Anders2024-02-24
| | | | | Assert that the buffer number passed to apply_text_edits is fully resolved (not 0 or null). Pass the known buffer number to apply_text_edits from lsp.formatexpr().
* docs: fix several misleading and superfluous wordings (#27609)Evgeni Chasnovski2024-02-25
|
* vim-patch:374e26aba2e5 (#27617)zeertzjq2024-02-25
| | | | | | | | | runtime(doc): clarify ':set[l] {option}<' behaviour closes: vim/vim#14062 https://github.com/vim/vim/commit/374e26aba2e5e0a220b1a7ce1934b0eb5f493e6c Co-authored-by: Matt Ellis <m.t.ellis@gmail.com>
* fix(lsp): when renaming directory, check path prefix of buffer names (#27603)Jaehwang Jung2024-02-24
| | | | | For example, when renaming /path/to/dir, buffers like fern://drawer/file:///path/to/dir, /path/to/dir123 should not be matched.
* docs(lsp): mark `ClientConfig.init_options` as optionalChristian Clason2024-02-24
| | | | Followup to neovim/neovim#27443
* refactor(lsp): remove redundant code (#27601)Jaehwang Jung2024-02-24
| | | | * use builtin function * buffer:// was removed in 236c20795eb9f11e21e0719b735ea741711acc08.
* vim-patch:a35235e824bb (#27598)zeertzjq2024-02-24
| | | | | | | | | runtime(doc) Update help text for matchbufline() and matchstrlist() closes: vim/vim#14080 https://github.com/vim/vim/commit/a35235e824bb77df0cebdb2bd290e13f1201b292 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* docs(lsp): remove obsolete didChangeConfiguration explanation (#27595)Tim Pope2024-02-24
| | | Rendered obsolete by c6d747e6a5227e17556c62e16ed054398eb1a89a.
* vim-patch:315cd1fbcbbaChristian Clason2024-02-23
| | | | | | | | | | | | | | | | runtime(spec): Recognize SourceLicense tag name in RPM spec syntax (#14046) rpm-4.19.0 added a new SourceLicense tag. It is used at the same place as License tag. This patch adds the new tag name into a Vim syntax file to be highligted the same way as the License tag. Note that it has to be defined in the syntax file before Source\d* regexp. Otherwise it's not recognized by Vim. https://github.com/vim/vim/commit/315cd1fbcbba7c44ec8743f03645bfcaef58bd55 Co-authored-by: Petr Pisar <ppisar@redhat.com>
* refactor(defaults): use getregion() for default * and # mappingszeertzjq2024-02-23
|
* vim-patch:1624970d321c (#27582)zeertzjq2024-02-23
| | | | | | | | | runtime(vim): Update base-syntax, fix :unabbrev highlighting (vim/vim#14077) Fixes issue vim/vim#7876 https://github.com/vim/vim/commit/1624970d321cfb637ac76232df9c9b3f2fae904c Co-authored-by: dkearns <dougkearns@gmail.com>
* vim-patch:9.1.0126: Internal error when using upper-case mark in getregion()zeertzjq2024-02-23
| | | | | | | | | | | | Problem: Internal error when passing mark in another buffer to getregion(). Solution: Don't allow marks in another buffer (zeertzjq) closes: vim/vim#14076 Internal error when passing mark in another buffer to getregion() https://github.com/vim/vim/commit/421b597470c118871c7081de00dd065e0e000b7e
* vim-patch:9.1.0120: hard to get visual region using Vim scriptzeertzjq2024-02-23
| | | | | | | | | | | | | | | | Problem: hard to get visual region using Vim script Solution: Add getregion() Vim script function (Shougo Matsushita, Jakub Łuczyński) closes: vim/vim#13998 closes: vim/vim#11579 https://github.com/vim/vim/commit/3f905ab3c4f66562f4a224bf00f49d98a0b0da91 Cherry-pick changes from patch 9.1.0122, with :echom instead of :echow. Co-authored-by: Shougo Matsushita <Shougo.Matsu@gmail.com> Co-authored-by: Jakub Łuczyński <doubleloop@o2.pl>
* feat(treesitter): add folding for `InspectTree` (#27518)再生花2024-02-22
| | | | As the InspectTree buffer is now a valid tree-sitter query tree, we can use the bundled fold queries to have folding for the tree.
* fix(defaults): make terminal autoclose not block other events (#27581)Evgeni Chasnovski2024-02-22
| | | | | | Problem: When terminal is autocloses, it blocks other events, like `BufEnter`. Solution: Use `nested = true`.
* vim-patch:20d61e1b94e5Christian Clason2024-02-22
| | | | | | | | runtime(java): add syntax support for Java switch expressions (#9124) https://github.com/vim/vim/commit/20d61e1b94e5ac571b3a313765517582f86616f3 Co-authored-by: Nick Hanley <nicholasjhanley@gmail.com>
* fix(defaults): remove tmux background detection passthrough (#27571)zeertzjq2024-02-22
| | | | | | There is now a new tmux 3.4 release that queries background color from the parent terminal if background is not set in tmux, so removing the passthrough still works when background is not set in tmux, and fixes the incorrect detection when background is set in tmux.
* docs(builtin): show tag at first line with multiple signatures (#27577)zeertzjq2024-02-22
| | | | | | | | Problem: When a function has multiple signatures, putting its tag at the last one may make one think that's its only signature. Solution: When a function has multiple signatures, put its tag at the first one.
* build(deps): bump luv to v1.48.0-0Christian Clason2024-02-22
| | | | | | | | | * fix: Use os_uname() to check for Linux by @cryptomilk in #686 * docs: typo in a table field name by @Bilal2453 in #689 * docs: most new_handle methods won't return fail by @Bilal2453 in #683 * test-tty: Don't depend on stdin/stdout handle type by @squeek502 in #688 * Bump/libuv by @zhaozg in #690 * Annotate .gitmodules with branch and tag by @creationix in #693
* vim-patch:e8f6af609178Christian Clason2024-02-22
| | | | | | | | runtime(tmux): Update tmux syntax (#14065) https://github.com/vim/vim/commit/e8f6af60917862d04a82efb9e900200fd36f798d Co-authored-by: Eric Pruitt <eric.pruitt@gmail.com>