aboutsummaryrefslogtreecommitdiff
path: root/runtime/doc
Commit message (Collapse)AuthorAge
...
| * fix(lua): allows tables with integer keys to be merged in tbl_deep_extendLewis Russell2024-09-04
| | | | | | | | | | | | | | | | | | - The exclusion of lists was never justified in the commit history and is the wrong thing to do for a function that deals with tables. - Move the error checks out of the recursive path. Fixes #23654
| * feat(lsp): support hostname in rpc.connect #30238Tristan Knight2024-09-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Updated the `rpc.connect` function to support connecting to LSP servers using hostnames, not just IP addresses. This change includes updates to the documentation and additional test cases to verify the new functionality. - Modified `connect` function to resolve hostnames. - Updated documentation to reflect the change. - Added test case for connecting using hostname. Added a TCP echo server utility function to the LSP test suite. This server echoes the first message it receives and is used in tests to verify LSP server connections via both IP address and hostname. Refactored existing tests to use the new utility function.
| * feat(startup): validate --listen addressJustin M. Keyes2024-09-02
| | | | | | | | | | | | | | | | | | | | | | | | | | Problem: `nvim --listen` does not error on EADDRINUSE. #30123 Solution: Now that `$NVIM_LISTEN_ADDRESS` is deprecated and input *only* (instead of the old, ambiguous situation where it was both an input *and* an output), we can be fail fast instead of trying to "recover". This reverts the "recovery" behavior of 704ba4151e7f67999510ee0ac19fdabb595d530c, but that was basically a workaround for the fragility of `$NVIM_LISTEN_ADDRESS`.
| * feat(clipboard): try cygutils, clip on Windows #30215wzy2024-09-02
| |
| * docs: vim.lsp.rpc.connect() TCP requires IP address #30219Tristan Knight2024-09-01
| | | | | | | | | | | | "localhost" would work if we used [tcp_connect](https://github.com/luvit/luv/blob/ae0387742b460bc89ebddce33214ad65fffddba2/examples/echo-server-client.lua#L42), but that will require changes to [vim.lsp.rpc.connect](https://github.com/neovim/neovim/blob/318c0415d5b10b44fee4afa06994734f1beb7e71/runtime/lua/vim/lsp/rpc.lua#L638).
| * docs: misc #28970Justin M. Keyes2024-09-01
| |
| * feat(treesitter)!: default to correct behavior for quantified captures (#30193)Gregory Anders2024-09-01
| | | | | | | | | | | | | | | | | | | | | | | | For context, see https://github.com/neovim/neovim/pull/24738. Before that PR, Nvim did not correctly handle captures with quantifiers. That PR made the correct behavior opt-in to minimize breaking changes, with the intention that the correct behavior would eventually become the default. Users can still opt-in to the old (incorrect) behavior for now, but this option will eventually be removed completely. BREAKING CHANGE: Any plugin which uses `Query:iter_matches()` must update their call sites to expect an array of nodes in the `match` table, rather than a single node.
| * docs(treesitter): annotate some tables as `TSMetadata`Yi Ming2024-09-01
| |
| * vim-patch:e2c4e07: runtime(doc): Update :help :command-complete listzeertzjq2024-09-01
| | | | | | | | | | | | | | | | closes: vim/vim#15602 https://github.com/vim/vim/commit/e2c4e07795e3080d3fe2792f1db21ad7925eef58 Co-authored-by: Doug Kearns <dougkearns@gmail.com>
| * vim-patch:7c8bbc6: runtime(doc): use mkdir -p to save a commandzeertzjq2024-09-01
| | | | | | | | | | | | | | | | closes: vim/vim#15599 https://github.com/vim/vim/commit/7c8bbc6d28387e5c73f049663ace0c3829f9e128 Co-authored-by: Ughur Alakbarov <58857108+ugur-a@users.noreply.github.com>
| * feat(mbyte): support extended grapheme clusters including more emojibfredl2024-08-30
| | | | | | | | | | | | | | | | | | Use the grapheme break algorithm from utf8proc to support grapheme clusters from recent unicode versions. Handle variant selector VS16 turning some codepoints into double-width emoji. This means we need to use ptr2cells rather than char2cells when possible.
| * vim-patch:9.1.0699: "dvgo" is not always an inclusive motion (#30173)zeertzjq2024-08-29
| | | | | | | | | | | | | | | | | | | | | | | | Problem: "dvgo" is not always an inclusive motion (Iain King-Speir) Solution: initialize the inclusive flag to false fixes: vim/vim#15580 closes: vim/vim#15582 https://github.com/vim/vim/commit/f8702aeb8ff85554d909901ae45b50c3d532bf70 Co-authored-by: Christian Brabandt <cb@256bit.org>
| * docs: misc (#29719)dundargoc2024-08-29
| | | | | | | | | | | | | | | | | | Co-authored-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com> Co-authored-by: Lauri Heiskanen <lauri.heiskanen@nimble.fi> Co-authored-by: Piotr Doroszewski <5605596+Doroszewski@users.noreply.github.com> Co-authored-by: Tobiasz Laskowski <tobil4sk@outlook.com> Co-authored-by: ariel-lindemann <41641978+ariel-lindemann@users.noreply.github.com> Co-authored-by: glepnir <glephunter@gmail.com> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
| * vim-patch:8556e23: runtime(java): Provide support for syntax preview featuresChristian Clason2024-08-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce a new API variable "g:java_syntax_previews" whose value must be a list of syntax preview feature numbers. Enumerate the currently supported numbers in a table at the end of the documentation entry for "ft-java-syntax". Also, disable the recognition of String Templates. Despite the withdrawal of this preview feature in its proposed form from the upcoming JDK 23 release and the fact that the JDK 22 release is coming to EOL this September, an earlier iteration of this preview feature was included in JDK 21 (LTS) whose EOL is projected to fall due in late 2028 and, therefore, retain the current implementation. Define "g:java_syntax_previews" and include number 430 in its list to enable the recognition of String Templates: ------------------------------------------------------------ let g:java_syntax_previews = [430] ------------------------------------------------------------ References: https://openjdk.org/jeps/430 (Preview) https://openjdk.org/jeps/459 (Second Preview) https://openjdk.org/jeps/465 (Third Preview) https://mail.openjdk.org/pipermail/amber-spec-experts/2024-April/004106.html closes: vim/vim#15579 https://github.com/vim/vim/commit/8556e23ee90448f01b612d337599f6e8f86679ea Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
| * feat(lsp): export diagnostic conversion functions (#30064)Maria José Solano2024-08-27
| |
| * feat(treesitter): add support for wasm parsersLewis Russell2024-08-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Installing treesitter parser is hard (harder than climbing to heaven). Solution: Add optional support for wasm parsers with `wasmtime`. Notes: * Needs to be enabled by setting `ENABLE_WASMTIME` for tree-sitter and Neovim. Build with `make CMAKE_EXTRA_FLAGS=-DENABLE_WASMTIME=ON DEPS_CMAKE_FLAGS=-DENABLE_WASMTIME=ON` * Adds optional Rust (obviously) and C11 dependencies. * Wasmtime comes with a lot of features that can negatively affect Neovim performance due to library and symbol table size. Make sure to build with minimal features and full LTO. * To reduce re-compilation times, install `sccache` and build with `RUSTC_WRAPPER=<path/to/sccache> make ...`
| * vim-patch:88a6dd0: runtime(doc): fix typo (#30140)zeertzjq2024-08-26
| | | | | | | | | | | | | | closes: vim/vim#15572 https://github.com/vim/vim/commit/88a6dd036a673b310c467bf43a872a4210e19e21 Co-authored-by: glepnir <glephunter@gmail.com>
| * vim-patch:9.1.0690: cannot set special highlight kind in popupmenu (#30128)zeertzjq2024-08-24
| | | | | | | | | | | | | | | | | | | | | | Problem: cannot set special highlight kind in popupmenu Solution: add kind_hlgroup item to complete function (glepnir) closes: vim/vim#15561 https://github.com/vim/vim/commit/38f99a1f0d61e9bde3f4a3d0cbe2d06185c4a57f Co-authored-by: glepnir <glephunter@gmail.com>
| * vim-patch:2750b83: runtime(java): Make the bundled &foldtext function optionalChristian Clason2024-08-22
| | | | | | | | | | | | | | | | | | | | | | | | | | - Obtain and pass through translated messages with this function. - If "g:java_foldtext_show_first_or_second_line" is defined, assign this function to &foldtext. closes: vim/vim#15549 https://github.com/vim/vim/commit/2750b83fa1a917c13d0cae3e791493720dcaadaa Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
| * feat(lsp): completion opts support custom item conversion (#30060)glepnir2024-08-22
| | | | | | | | | | | | | | Problem: Some items of completion results include function signatures that can cause the pum to be very long when a function has many params, because pum scales with the longest word/abbr. Solution: add custom covert function that can customise abbr to remove params.
| * vim-patch:d55e698: runtime(pandoc): refine pandoc compiler settingsChristian Clason2024-08-21
| | | | | | | | | | | | | | | | closes: vim/vim#15529 https://github.com/vim/vim/commit/d55e698fa02195bf451b072eb2fb20cfbf7bddf5 Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>
| * vim-patch:e44e644: runtime(doc): fix grammar in :h :keeppatternszeertzjq2024-08-21
| | | | | | | | | | | | | | | | | | | | - It's clear that :s and :& are Ex commands, so remove "command" along with the duplicate "the". - Use "or" instead of "and" following "without". closes: vim/vim#15527 https://github.com/vim/vim/commit/e44e64492cf0a99191826b05ea5ee80b3a5fb3f5
| * vim-patch:3840d2f: runtime(doc): remove trailing whitespace in cmdline.txtzeertzjq2024-08-21
| | | | | | | | | | | | https://github.com/vim/vim/commit/3840d2feaf1454c934f71a97aae7a56a5ceccef9 Co-authored-by: Christian Brabandt <cb@256bit.org>
| * vim-patch:175a87c: runtime(doc): more clarification for the :keeppatterns neededzeertzjq2024-08-21
| | | | | | | | | | | | https://github.com/vim/vim/commit/175a87c7f163e34876c6848f829970fec61fc9d7 Co-authored-by: Christian Brabandt <cb@256bit.org>
| * vim-patch:dd36d6c: runtime(mediawiki): fix typo in doc, test for ↵Christian Clason2024-08-17
| | | | | | | | | | | | | | | | | | | | b:did_ftplugin var closes: vim/vim#15479 https://github.com/vim/vim/commit/dd36d6cc7c39f3cfb29818f89f4f9dec2c7c22e4 Co-authored-by: Stanislav Asunkin <1353637+stasjok@users.noreply.github.com>
| * vim-patch:cba93ca: runtime(doc): clarify the effect of :keeppatterns after ↵zeertzjq2024-08-17
| | | | | | | | | | | | v9.1.0677 https://github.com/vim/vim/commit/cba93cab533b5da26b9e4a4338c1dc6e8aa3d409
| * vim-patch:9.1.0677: :keepp does not retain the substitute patternzeertzjq2024-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | Problem: :keeppatterns does not retain the substitute pattern for a :s command Solution: preserve the last substitute pattern when used with the :keeppatterns command modifier (Gregory Anders) closes: vim/vim#15497 https://github.com/vim/vim/commit/3b59be4ed8a145d3188934f1a5cd85432bd2433d Co-authored-by: Gregory Anders <greg@gpanders.com>
| * feat(term): support OSC 8 hyperlinks in :terminal (#30050)Gregory Anders2024-08-15
| |
| * vim-patch:dc831db: runtime(doc): add help tags for json + markdown global ↵zeertzjq2024-08-13
| | | | | | | | | | | | | | | | | | | | | | | | variables (#30037) I added help tags for them in the syntax.txt file since this is the only place they are mentioned. closes: vim/vim#15486 https://github.com/vim/vim/commit/dc831db6ea3b550e3acb60a0859fcd07fd3f86e6 Co-authored-by: JJCUBER <34446698+JJCUBER@users.noreply.github.com>
| * test(lsp): refactor and tidyLewis Russell2024-08-11
| | | | | | | | | | | | | | - Merge all the top level 'LSP' describe blocks - Refactor text edit tests - Fix typing errors - Add linebreaks between tests
| * feat(term): enable reflow by default (#21124)Christian Clason2024-08-10
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Contents of terminal buffer are not reflown when Nvim is resized. Solution: Enable reflow in libvterm by default. Now that libvterm is vendored, also fix "TUI rapid resize" test failures there. Note: Neovim's scrollback buffer does not support reflow (yet), so lines vanishing into the buffer due to a too small window will be restored without reflow.
| * build(deps): vendor libvterm at v0.3.3Christian Clason2024-08-10
| | | | | | | | | | | | | | | | Problem: Adding support for modern Nvim features (reflow, OSC 8, full utf8/emoji support) requires coupling libvterm to Nvim internals (e.g., utf8proc). Solution: Vendor libvterm at v0.3.3.
| * vim-patch:0cc5dce: runtime(doc): clarify directory of Vim's executable vs CWDzeertzjq2024-08-09
| | | | | | | | | | | | | | | | | | | | According to :h win32-PATH, "the same directory as Vim" means the same directory as the Vim executable, not Vim's current directory. In patch 8.2.4860 these two concepts were mixed up. closes: vim/vim#15451 https://github.com/vim/vim/commit/0cc5dce5780d39fe621f6146d4fb862318918125
| * docs(treesitter): generate inline docs for `Range`sYi Ming2024-08-06
| | | | | | | | | | | | | | | | docs(treesitter): in-place parameter description docs(treesitter): remove internal type names docs(treesitter): add missing private annotation
| * vim-patch:8.2.4838: checking for absolute path is not trivial (#29990)zeertzjq2024-08-06
| | | | | | | | | | | | | | | | | | | | Problem: Checking for absolute path is not trivial. Solution: Add isabsolutepath(). (closes vim/vim#10303) https://github.com/vim/vim/commit/dca1d40cd0f2af0755519e7028378bd3c8fefd31 vim-patch:8a3b805c6c9c Co-authored-by: LemonBoy <thatlemon@gmail.com>
| * vim-patch:9.1.0465: missing filecopy() function (#29989)zeertzjq2024-08-06
| | | | | | | | | | | | | | | | | | | | | | Problem: missing filecopy() function Solution: implement filecopy() Vim script function (Shougo Matsushita) closes: vim/vim#12346 https://github.com/vim/vim/commit/60c8743ab6c90e402e6ed49d27455ef7e5698abe Co-authored-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
| * vim-patch:217d3c1: runtime(doc): capitalize correctlyzeertzjq2024-08-06
| | | | | | | | | | | | | | | | | | | | | | * do not capitalize after a double colon when introducing a list * Capitalize a header line closes: vim/vim#15433 https://github.com/vim/vim/commit/217d3c17c6fa8d1223fa8dd39efd8c32897f9441 Co-authored-by: Christian Brabandt <cb@256bit.org>
| * vim-patch:947f752: runtime(doc): fix typo in syntax.txt (#29974)zeertzjq2024-08-04
| | | | | | | | | | | | | | closes: vim/vim#15425 https://github.com/vim/vim/commit/947f752a47b107529b5d591e4e24b51237c20497 Co-authored-by: Jon Parise <jon@indelible.org>
| * docs(filetype): consolidate comments in dev_vimpatch.txtChristian Clason2024-08-03
| |
| * docs(filetype): add note about prefering explicit lists over patternEvgeni Chasnovski2024-08-03
| |
| * refactor(eval): treat v:lua call as simple functionzeertzjq2024-08-02
| |
| * vim-patch:9.0.0634: evaluating "expr" options has more overhead than neededzeertzjq2024-08-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Evaluating "expr" options has more overhead than needed. Solution: Use call_simple_func() for 'foldtext', 'includeexpr', 'printexpr', "expr" of 'spellsuggest', 'diffexpr', 'patchexpr', 'balloonexpr', 'formatexpr', 'indentexpr' and 'charconvert'. https://github.com/vim/vim/commit/a4e0b9785e409e9e660171cea76dfcc5fdafad9b vim-patch:9.0.0635: build error and compiler warnings Problem: Build error and compiler warnings. Solution: Add missing change. Add type casts. https://github.com/vim/vim/commit/3292a229402c9892f5ab90645fbfe2b1db342f5b Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:9.0.0632: calling a function from an "expr" option has overheadzeertzjq2024-08-02
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Calling a function from an "expr" option has too much overhead. Solution: Add call_simple_func() and use it for 'foldexpr' https://github.com/vim/vim/commit/87b4e5c5db9d1cfd6f2e79656e1a6cff3c69d15f Cherry-pick a call_func() change from patch 8.2.1343. Add expr-option-function docs to options.txt. Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.2.4416: Vim9: using a script-local function requires using "s:" ↵zeertzjq2024-08-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#29950) Problem: Vim9: using a script-local function requires using "s:" when setting 'completefunc'. Solution: Do not require "s:" in Vim9 script. (closes vim/vim#9796) https://github.com/vim/vim/commit/1fca5f3e86f08e696058fc7e86dfe41b415a78e6 vim-patch:8.2.4417: using NULL pointer Problem: Using NULL pointer. Solution: Set offset after checking for NULL pointer. https://github.com/vim/vim/commit/e89bfd212b21c227f026e467f882c62cdd6e642d Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:30a8ad6: runtime(java): Document "g:java_space_errors" and ↵Christian Clason2024-08-01
| | | | | | | | | | | | | | | | | | | | "g:java_comment_strings" closes: vim/vim#15399 https://github.com/vim/vim/commit/30a8ad675d183c15c47b42e37199e98e2f924d69 Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
| * vim-patch:3749dff: runtime(java): Tidy up the documentation for "ft-java-syntax"Christian Clason2024-08-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Reword a few sentences and reformat a few paragraphs. - Supply absent capitalisation and punctuation. - Make listed highlighting groups and code stand out. - Prefix all Java-related global variables with "g:". - Add spaces around each variable assignment operator. - Acknowledge that some Javadoc variables are maintained in the HTML syntax file. Also, move the overridable _default_ HTML group links before the HTML syntax file inclusion in order to implement the documented diverged settings. related: vim/vim#15399 https://github.com/vim/vim/commit/3749dff093d8c3ba0cd34cebf42bd4d3d93afe26 Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
| * vim-patch:5b07213: runtime(doc): re-format tag example lines, mention ctags ↵zeertzjq2024-08-01
| | | | | | | | | | | | | | --list-kinds (#29938) https://github.com/vim/vim/commit/5b07213c0b365f2a7fcdd10c7e7cd00aae3560a5 Co-authored-by: Christian Brabandt <cb@256bit.org>
| * vim-patch:partial:f10911e: Update runtime files (#29936)zeertzjq2024-08-01
| | | | | | | | | | | | | | https://github.com/vim/vim/commit/f10911e5db16f1fe6ab519c5d091ad0c1df0d063 Also cherry-pick E1142 and E1156 tags from Vim. Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * fix(scrollbind): properly take filler/virtual lines into accountLewis Russell2024-07-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: `'scrollbind'` does not work properly if the window being scrolled automatically contains any filler/virtual lines (except for diff filler lines). This is because when the scrollbind check is done, the logic only considers changes to topline which are represented as line numbers. Solution: Write the logic for determine the scroll amount to take into account filler/virtual lines. Fixes #29751
| * vim-patch:9.1.0645: regex: wrong match when searching multi-byte char ↵zeertzjq2024-07-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | case-insensitive Problem: regex: wrong match when searching multi-byte char case-insensitive (diffsetter) Solution: Apply proper case-folding for characters and search-string This patch does the following 4 things: 1) When the regexp engine compares two utf-8 codepoints case insensitive it may match an adjacent character, because it assumes it can step over as many bytes as the pattern contains. This however is not necessarily true because of case-folding, a multi-byte UTF-8 character can be considered equal to some single-byte value. Let's consider the pattern 'ſ' and the string 's'. When comparing and ignoring case, the single character 's' matches, and since it matches Vim will try to step over the match (by the amount of bytes of the pattern), assuming that since it matches, the length of both strings is the same. However in that case, it should only step over the single byte value 's' by 1 byte and try to start matching after it again. So for the backtracking engine we need to ensure: * we try to match the correct length for the pattern and the text * in case of a match, we step over it correctly There is one tricky thing for the backtracing engine. We also need to calculate correctly the number of bytes to compare the 2 different utf-8 strings s1 and s2. So we will count the number of characters in s1 that the byte len specified. Then we count the number of bytes to step over the same number of characters in string s2 and then we can correctly compare the 2 utf-8 strings. 2) A similar thing can happen for the NFA engine, when skipping to the next character to test for a match. We are skipping over the regstart pointer, however we do not consider the case that because of case-folding we may need to adjust the number of bytes to skip over. So this needs to be adjusted in find_match_text() as well. 3) A related issue turned out, when prog->match_text is actually empty. In that case we should try to find the next match and skip this condition. 4) When comparing characters using collections, we must also apply case folding to each character in the collection and not just to the current character from the search string. This doesn't apply to the NFA engine, because internally it converts collections to branches [abc] -> a\|b\|c fixes: vim/vim#14294 closes: vim/vim#14756 https://github.com/vim/vim/commit/22e8e12d9f5034e1984db0c567b281fda4de8dd7 N/A patches: vim-patch:9.0.1771: regex: combining chars in collections not handled vim-patch:9.0.1777: patch 9.0.1771 causes problems Co-authored-by: Christian Brabandt <cb@256bit.org>