aboutsummaryrefslogtreecommitdiff
path: root/runtime
Commit message (Collapse)AuthorAge
* vim-patch:5036e69: runtime(systemd): allow for overriding systemd ftplugin ↵Enno2024-09-18
| | | | | | | settings (vim/vim#13373) (#30414) closes: vim/vim#13357 https://github.com/vim/vim/commit/5036e698520b2c39e4df5738f026a68ba2e76fef
* feat(tui): builtin UI (TUI) sets client info #30397Justin M. Keyes2024-09-18
| | | | | | | | | | | | Problem: The default builtin UI client does not declare its client info. This reduces discoverability and makes it difficult for plugins to identify the UI. Solution: - Call nvim_set_client_info after attaching, as recommended by `:help dev-ui`. - Also set the "pid" field. - Also change `ui_active()` to return a count. Not directly relevant to this commit, but will be useful later.
* docs: graduate tui.txt to "flow layout" #30413Justin M. Keyes2024-09-18
|
* docs(tui): rename term.txt, nvim_terminal_emulator.txt #30398Justin M. Keyes2024-09-18
| | | | | | | | | | | | Problem: It has long been a convention that references to the builtin terminal UI should mention "tui", not "term", in order to avoid ambiguity vs the builtin `:terminal` feature. The final step was to rename term.txt; let's that step. Solution: - rename term.txt => tui.txt - rename nvim_terminal_emulator.txt => terminal.txt - `gen_help_html.lua`: generate redirects for renamed pages.
* vim-patch:f21d28a: runtime(zathurarc): add double-click-follow to syntax scriptChristian Clason2024-09-18
| | | | | | | | closes: vim/vim#15688 https://github.com/vim/vim/commit/f21d28a5c72987d42d540290e5a77500ab1a4d7c Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* vim-patch:9.1.0735: filetype: salt files are not recognizedGregory Anders2024-09-17
| | | | | | | | | | | | Problem: filetype: salt files are not recognized Solution: Detect '*.sls' files as filetype salt, include a syntax script (Gregory Anders) closes: vim/vim#15689 https://github.com/vim/vim/commit/89b9bb4ac8ceb701ebecb8c02aca3d047dff9991 Co-authored-by: Gregory Anders <greg@gpanders.com>
* vim-patch:9.1.0734: filetype: jinja files are not recognizedGregory Anders2024-09-17
| | | | | | | | | | | | Problem: filetype: jinja files are not recognized Solution: detect '*.jinja' files a jinja filetype, include jinja syntax script (Gregory Anders) related: vim/vim#15689 https://github.com/vim/vim/commit/202c467bb37b894ada6377d3f2621c103f324757 Co-authored-by: Gregory Anders <greg@gpanders.com>
* docs(eval): update param types of prompt-buffer functions (#30392)glepnir2024-09-16
|
* feat(vim.ui): configurable "gx" / vim.ui.open() toolMatěj Cepl2024-09-16
| | | | | | | | | | | | | | Problem: User cannot configure the tool used by `vim.ui.open` (or `gx`). With netrw this was supported by `g:netrw_browsex_viewer`. Solution: Introduce `opts.cmd`. Users that want to set this globally can monkey-patch `vim.ui.open` in the same way described at `:help vim.paste()`. Fixes https://github.com/neovim/neovim/issues/29488 Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
* vim-patch:5e95c8f: runtime(java): Highlight javaConceptKind modifiers with ↵Christian Clason2024-09-16
| | | | | | | | | | | | | | | | | | StorageClass Stop assigning by default the NonText highlighting group for javaConceptKind modifiers since its colour is hardly distinguishable from a background colour for a range of colour schemes. fixes vim/vim#15237 related vim/vim#15238 closes: vim/vim#15664 https://github.com/vim/vim/commit/5e95c8f637ac8de625270fc2d371f4ebe304fac8 Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com> Co-authored-by: Dexter Gaon-Shatford <dexter@gaonshatford.ca>
* vim-patch:0f5effb: runtime(netrw): delete confirmation not strict enoughChristian Clason2024-09-16
| | | | | | | | fixes: vim/vim#15680 https://github.com/vim/vim/commit/0f5effbd1fb58128be677aa577d3d0ab2fc9527a Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:9.1.0731: inconsistent case sensitive extension matchingChristian Clason2024-09-16
| | | | | | | | | | | | | | | | | | | | | Problem: inconsistent case sensitive extension matching Solution: unify case sensitive extension matching (Evgeni Chasnovski). There are different approaches of how extensions are matched with respect to case sensitivity. In particular, '\c' flag is used in pattern whereas in most places case sensitive matching is guarded behind `has("fname_case")` condition. Replace all instances of '\c' with an explicit case sensitive pattern variants guarded by `has("fname_case")`. Strictly speaking, this is a breaking change because only two (most common and prevailingly tested) variants are now matched: upper first letter and upper all letters. closes: vim/vim#15672 https://github.com/vim/vim/commit/59b089c9df238ce940b3c593295bc511e201399a Co-authored-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com>
* vim-patch:4d427d4: runtime(vim): Update base-syntax, match Vim9 bool/null ↵zeertzjq2024-09-15
| | | | | | | | | | | | literal args to :if/:while/:return (#30391) Match Vim9 boolean and null literals in expression arguments of :if, :elseif, :while and :return. closes: vim/vim#15684 https://github.com/vim/vim/commit/4d427d4cab9c942d6871c50f714e18d7edcfe135 Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* fix(defaults): cannot remove "How-to disable mouse" menu item #30375Jaehwang Jung2024-09-14
|
* fix(lsp): handle nil bytes in stringsMathias Fussenegger2024-09-13
| | | | | | | | | | | | | | | | | | | | | Problem: The LSP omnifunc can insert nil bytes, which when read in other places (like semantic token) could cause an error: semantic_tokens.lua:304: Vim:E976: Using a Blob as a String Solution: Use `#line` instead of `vim.fn.strlen(line)`. Both return UTF-8 bytes but the latter can't handle nil bytes. Completion candidates can currently insert nil bytes, if other parts of Alternative fix to https://github.com/neovim/neovim/pull/30359 Note that https://github.com/neovim/neovim/pull/30315 will avoid the insertion of nil bytes from the LSP omnifunc, but the change of this PR can more easily be backported.
* feat(treesitter): start moving get_parser to return nil #30313Riley Bruins2024-09-13
| | | | | | | | | | | | | | | | | | | **Problem:** `vim.treesitter.get_parser` will throw an error if no parser can be found. - This means the caller is responsible for wrapping it in a `pcall`, which is easy to forget - It also makes it slightly harder to potentially memoize `get_parser` in the future - It's a bit unintuitive since many other `get_*` style functions conventionally return `nil` if no object is found (e.g. `get_node`, `get_lang`, `query.get`, etc.) **Solution:** Return `nil` if no parser can be found or created - This requires a function signature change, and some new assertions in places where the parser will always (or should always) be found. - This commit starts by making this change internally, since it is breaking. Eventually it will be rolled out to the public API.
* fix(lsp): handle empty call hierarchy items #30349James Trew2024-09-13
| | | | | Ensure that the function `pick_call_hierarchy_item` correctly handles the case where `call_hierarchy_items` is nil or an empty table. This prevents potential errors when the function is called with no items.
* fix(treesitter): sync queries from upstreamChristian Clason2024-09-12
|
* vim-patch:9.1.0725: filetype: swiftinterface files are not recognized (#30350)zeertzjq2024-09-12
| | | | | | | | | | | Problem: filetype: swiftinterface files are not recognized Solution: Detect '*.swiftinterface' files as swift filetype (LosFarmosCTL) closes: vim/vim#15658 https://github.com/vim/vim/commit/03cac4b70d819148f4b4404701b8f331a3af0fb6 Co-authored-by: LosFarmosCTL <80157503+LosFarmosCTL@users.noreply.github.com>
* feat(log): use "ui" as default name for TUI client #30345Justin M. Keyes2024-09-11
| | | | | | | | | | | | | The default "session name" for the builtin TUI is "ui". before: INF 2024-09-10T14:57:35.385 hello.sock os_exit:692: Nvim exit: 1 INF 2024-09-10T14:57:35.388 ?.4543 os_exit:692: Nvim exit: 1 after: INF 2024-09-10T14:59:19.919 hello.sock os_exit:692: Nvim exit: 1 INF 2024-09-10T14:59:19.922 ui.5684 os_exit:692: Nvim exit: 1
* fix: replace NVIM with Nvim in default titlestring (#30348)Gregory Anders2024-09-11
|
* fix(lsp): check buffer is loaded and valid #30330glepnir2024-09-11
| | | | | Problem: buffer mabye not valid when callback handler invoke. Soliton: check buffer is valid and loaded in handler.
* Merge #30342 :checkhealth completionJustin M. Keyes2024-09-11
|\
| * fix(health): return correct name from 'path2name()'monkoose2024-09-11
| | | | | | `path2name()` function doesn't process `'pluginname/health/init.lua'` correctly. Instead of retruning `'pluginname'` it returns `'pluginname.health'`
* | vim-patch:fc72a2f: runtime(idlang): update syntax scriptChristian Clason2024-09-11
| | | | | | | | | | | | | | | | closes: vim/vim#15419 https://github.com/vim/vim/commit/fc72a2fa4898d6d2f60695339d597672a4c0b7c5 Co-authored-by: Joe Sapp <992873+sappjw@users.noreply.github.com>
* | vim-patch:e401576: runtime(spec): Recognize epoch when making spec changelog ↵Christian Clason2024-09-11
| | | | | | | | | | | | | | | | | | | | in ftplugin closes: vim/vim#15537 https://github.com/vim/vim/commit/e40157641c1ddb9cc805c04ca23fb80a6382a349 Co-authored-by: fundawang <fundawang@yeah.net>
* | vim-patch:2241f08: runtime(spec): add file triggers to syntax scriptChristian Clason2024-09-11
| | | | | | | | | | | | | | | | closes: vim/vim#15569 https://github.com/vim/vim/commit/2241f0845fcb2ff362f34abd756cedf239e50b55 Co-authored-by: fundawang <fundawang@yeah.net>
* | vim-patch:077d1d2: runtime(make): add compiler/make.vim to reset compiler ↵Christian Clason2024-09-11
| | | | | | | | | | | | | | | | | | | | | | plugin settings closes: vim/vim#15645 https://github.com/vim/vim/commit/077d1d2cff20daec6f1efd504ef27fc09b927799 Co-authored-by: Konfekt <Konfekt@users.noreply.github.com> Co-authored-by: K.Takata <kentkt@csc.jp>
* | vim-patch:a9ae38d: runtime(java): Recognise all available standard doclet tagsChristian Clason2024-09-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Complement the tag set with @spec, {@systemProperty}, {@summary}, @provides, @uses, @hidden, and {@index}. * Do not hoard all tags under a single highlighting group. * Skip over nested balanced braces in inline tags. * Observe that tag names are case sensitive: both {@docRoot} and {@inheritDoc} are valid, whereas {@inheritdoc} and {@docroot} are not. * In the @see tag arguments, allow for: - module name prefixes (e.g. java.base/java.lang.String); - references to arbitrary URI fragments (e.g. ##foo); - matching any tag variation arguments on the next line. * Test directives and tags for Java module declarations. * Enforce the word end for "module-info" candidates. References: https://bugs.openjdk.org/browse/JDK-8226279 (@spec) https://bugs.openjdk.org/browse/JDK-8214559 ({@systemProperty}) https://bugs.openjdk.org/browse/JDK-8173425 ({@summary}) https://bugs.openjdk.org/browse/JDK-8160196 (@provides & @uses) https://bugs.openjdk.org/browse/JDK-8073100 (@hidden) https://bugs.openjdk.org/browse/JDK-8044243 ({@index}) https://docs.oracle.com/en/java/javase/21/docs/specs/javadoc/doc-comment-spec.html https://github.com/openjdk/jdk/blob/jdk-21-ga/src/jdk.compiler/share/classes/com/sun/source/doctree/DocTree.java closes: vim/vim#15652 https://github.com/vim/vim/commit/a9ae38dc3f42f0dd39dae1311de6e1c289697df4 Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
* | vim-patch:c0982f9: runtime(dosini): Update syntax script, spellcheck ↵Christian Clason2024-09-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | comments only By default spell checking is enabled for all text, but adding `contains=@Spell` to syntax rules restricts spell checking to those syntax rules. See `:help spell-syntax` for full details. Variable names and headers are far more likely than comments to contain spelling errors, so only enable spell checking in comments. Introduced in https://github.com/xuhdev/syntax-dosini.vim/pull/8 cc @tobinjt closes: vim/vim#15655 https://github.com/vim/vim/commit/c0982f9f794a4c5737d3d7a3129b3121ab20e458 Co-authored-by: John Tobin <johntobin@johntobin.ie>
* | vim-patch:d30ffdc: runtime(pandoc): Update compiler plugin to use actual ↵Christian Clason2024-09-11
| | | | | | | | | | | | | | | | | | | | | | | | | | 'spelllang' Previously these would be cached in buffer-local variables and would not change on :compiler pandoc closes: vim/vim#15642 https://github.com/vim/vim/commit/d30ffdca495d116da359aaea806ad0da7b4b6c75 Co-authored-by: Christian Brabandt <cb@256bit.org>
* | vim-patch:7cc0e91: runtime(groff): Add compiler plugin for groffChristian Clason2024-09-11
|/ | | | | | | | | | | | Groff MOM (Macros for Manuscripts) is a macro package for the GNU troff (groff) typesetting system, a light-weight alternative to LaTeX for professional-quality documents. closes: vim/vim#15646 https://github.com/vim/vim/commit/7cc0e9145dbd6b25de849b3c218e51fb689e6dfc Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>
* vim-patch:d657d3d: runtime(doc): clarify the effect of the timeout for ↵zeertzjq2024-09-11
| | | | | | | | | | search()-functions (#30337) related: vim/vim#15657 related: vim/vim#15404 https://github.com/vim/vim/commit/d657d3d8fd635dbd78402358788dc58a96d04117 Co-authored-by: Christian Brabandt <cb@256bit.org>
* fix(lsp): handle encoding bounds in str_utfindex_enctris2032024-09-10
| | | | | | | | | | Problem: str_utfindex_enc could return an error if the index was longer than the line length. This was handled in each of the calls to it individually Solution: * Fix the call at the source level so that if the index is higher than the line length, utf length is returned
* fix(runtime): add remaining missing commentstrings (#30252)LosFarmosCTL2024-09-10
|
* fix(lua): revert vim.tbl_extend behavior change and document itChristian Clason2024-09-08
| | | | | | | | | | | | | | Problem: vim.tbl_deep_extend had an undocumented feature where arrays (integer-indexed tables) were not merged but compared literally (used for merging default and user config, where one list should overwrite the other completely). Turns out this behavior was relied on in quite a number of plugins (even though it wasn't a robust solution even for that use case, since lists of tables (e.g., plugin specs) can be array-like as well). Solution: Revert the removal of this special feature. Check for list-like (contiguous integer indices) instead, as this is closer to the intent. Document this behavior.
* fix(lsp): handle out-of-bounds character positions #30288Tristan Knight2024-09-08
| | | | | | | | | | | Problem: str_byteindex_enc could return an error if the index was longer than the lline length. This was handled in each of the calls to it individually Solution: * Fix the call at the source level so that if the index is higher than the line length, line length is returned as per LSP specification * Remove pcalls on str_byteindex_enc calls. No longer needed now that str_byteindex_enc has a bounds check.
* fix(tohtml): enclose font-family names in quotation marksyayoyuyu2024-09-08
| | | | | | | | | | | | | Font-family names must be enclosed in quotation marks to ensure that fonts are applied correctly when there are spaces in the name. Fix an issue where multiple fonts specified in `vim.o.guifont` are inserted as a single element, treating them as a single font. Support for escaping commas with backslash and ignoring spaces after a comma. ref `:help 'guifont'`
* vim-patch:b584117: runtime(doc): buffers can be re-used (#30300)zeertzjq2024-09-08
| | | | | | | | | | while at it, also move the note about :wincmd directly to :h :wincmd, it doesn't seem to belong to the buffer section. closes: vim/vim#15636 https://github.com/vim/vim/commit/b584117b05790cc95628af79e874fb58bbcc2cb7 Co-authored-by: Christian Brabandt <cb@256bit.org>
* fix(vim.ui.open): prefer xdg-open on WSL #30302Yi Ming2024-09-07
| | | | xdg-open is usually not installed in WSL. But if the user deliberately installs it, presumably they want to prioritize it.
* vim-patch:9.1.0720: Wrong breakindentopt=list:-1 with multibyte or TABs (#30293)zeertzjq2024-09-07
| | | | | | | | | | Problem: Wrong breakindentopt=list:-1 with multibyte chars or TABs in text matched by 'formatlistpat' (John M Devin) Solution: Use the width of the match text (zeertzjq) fixes: vim/vim#15634 closes: vim/vim#15635 https://github.com/vim/vim/commit/61a6ac4d0066317131528f1b3ecc3b3a2599a75c
* feat(defaults): popupmenu "Open in browser", "Go to definition" #30261Justin M. Keyes2024-09-05
| | | | - Use the popup to expose more features such as LSP and gx. - Move the copy/paste items lower in the menu, they are lower priority.
* fix(lsp): handle locations exceeding line length #30253Tristan Knight2024-09-05
| | | | | | | | | | | Problem: LSP spec [states](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#position) that "if the character value is greater than the line length it defaults back to the line length", but `locations_to_items` fails in that case. Solution: Adjust locations_to_items to follow the spec. closes #28281
* vim-patch:315b6f7: runtime(tmux): Update syntax script (#30265)Gregory Anders2024-09-04
| | | | | | | | closes: ericpruitt/tmux.vim#25 closes: vim/vim#15622 https://github.com/vim/vim/commit/315b6f7b73edfffe4c6e4b0a4d620707489f7315 Co-authored-by: Eric Pruitt <eric.pruitt@gmail.com>
* vim-patch:150b507: runtime(hcl,terraform): Add runtime files for HCL and ↵Gregory Anders2024-09-04
| | | | | | | Terraform (#30266) closes: vim/vim#15618 https://github.com/vim/vim/commit/150b5078ac886519083576124090489c3a21bd3b
* 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
|
* vim-patch:3c07eb0: runtime(vim): Update syntax, improve user-command ↵zeertzjq2024-09-02
| | | | | | | | | | | | | | | matching (#30231) - Match -addr and -keepscript attributes and generate -addr values. - Match attribute errors where = is specified. - Highlight attributes with Special like other Ex command options. - Don't highlight user-specified completion function args. - Match :delcommand -buffer attribute. closes: vim/vim#15586 https://github.com/vim/vim/commit/3c07eb0c6730c258c6955ce8458cf911245c1617 Co-authored-by: Doug Kearns <dougkearns@gmail.com>