aboutsummaryrefslogtreecommitdiff
path: root/runtime
Commit message (Collapse)AuthorAge
* Merge remote-tracking branch 'origin/colorcolchar' into 20231130_mixJosh Rahm2023-11-30
|\
| * Merge remote-tracking branch 'upstream/master' into colorcolcharcolorcolcharJosh Rahm2023-11-29
| |\
| * \ Merge remote-tracking branch 'upstream/master' into colorcolcharJosh Rahm2023-01-25
| |\ \
| * \ \ Merge remote-tracking branch 'upstream/master' into colorcolcharJosh Rahm2022-10-11
| |\ \ \
| * | | | feat(colorcolchar): update runtime/doc/options.txtJoshua Rahm2022-08-28
| | | | | | | | | | | | | | | | | | | | Co-authored-by: zeertzjq <zeertzjq@outlook.com>
| * | | | feat(colorcolchar): revert "feat: rename colorcol in fillchars to colorc"Josh Rahm2022-08-27
| | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 234959abbfcf075cb09304b00fc391780580056d and renames the option 'colorc' -> 'colorcol' again.
| * | | | feat(colorcolchar): rename colorcol in fillchars to colorcJosh Rahm2022-08-27
| | | | | | | | | | | | | | | | | | | | Rename the colorcol option in fillchars to the more terse colorc.
| * | | | feat(colorcolchar): fix typo for colorcolchar documentationJosh Rahm2022-08-27
| | | | |
| * | | | feat(colorcolchar): add the option "colorcol" to the fillchars settingJosh Rahm2022-08-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This option will let neovim draw a character in the colorcolumn when there is no other character occupying that spot. For example, I'm someone who likes the elegance of seeing a 1px wide line at the 80 character mark, rather than a rectangle the width of a cell at that mark. To accomplish this, I run :set colorcol=80 :set fillchars=colorcol:│ of course ':' and '.' are good ASCII alteratives.
* | | | | Merge branch 'userreg' into 20231130_mixJosh Rahm2023-11-30
|\ \ \ \ \
| * \ \ \ \ Merge remote-tracking branch 'origin/usermarks' into HEADJosh Rahm2023-11-30
| |\ \ \ \ \
| | * \ \ \ \ Merge remote-tracking branch 'upstream/master' into usermarksusermarksJosh Rahm2023-01-25
| | |\ \ \ \ \ | | | | |_|/ / | | | |/| | |
| | * | | | | feat(usermarks) remove echo statement from usermark.vimJosh Rahm2022-08-22
| | | | | | |
| | * | | | | feat(usermarks) fix bugs with usermarks runtimeJosh Rahm2022-08-22
| | | | | | |
| | * | | | | feat(usermarks): add runtime files for usermarksJosh Rahm2022-08-21
| | | | | | |
| * | | | | | Merge remote-tracking branch 'upstream/master' into userreguserregJosh Rahm2023-11-29
| |\ \ \ \ \ \ | | | |_|_|_|/ | | |/| | | |
| * | | | | | Merge remote-tracking branch 'upstream/master' into userregJosh Rahm2023-01-25
| |\ \ \ \ \ \ | | | |_|/ / / | | |/| | | |
| * | | | | | Merge remote-tracking branch 'upstream/master' into userregJosh Rahm2022-10-11
| |\ \ \ \ \ \ | | | |_|_|_|/ | | |/| | | |
| * | | | | | feat(userreg): add runtime files for userregJosh Rahm2022-08-21
| | | | | | |
| * | | | | | feat(userreg): fix typos userregfun -> userregfuncJosh Rahm2022-08-21
| | | | | | |
| * | | | | | feat(userreg): Add user-defined registers to Neovim.Josh Rahm2022-08-21
| | |_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change unlocks additional registers for Neovim by allowing a user to define their own behavior for non-builtin registers. This is accopmlished through a new option 'userregfunc' The 'userregfunc' defines the function to call when handling a register for which there is no builtin functionality. The 'userregfunc' function should take 3 arguments: action - Either "yank" or "put" register - The character corresponding to the register content - In the case of action == "yank", the dictionary describing the yanked content, with the following keys: {type} - Either "char", "line" or "block" {lines} - The lines being yanked as a list {width} - The width in case of "block" mode. {additional_data} - Additional data (can be returned in "put" mode) In case of "put" this function should return the content to put. This content can be either: * A dictionary in the same template as content above. * A list of strings. This will be assumed to be "line" mode. * A string. This will be assumed to be "char" mode. An example of a "null" 'userregfunc' that provides an implementation identical to traditional vim registers would be: let s:contents = {} function! MyUserregFunction(action, register, content) abort if a:action == "put" return get(s:contents, a:register, "") else let s:contents[a:register] = a:content endif endfunction set userregfun=MyUserregFunction It is important to note that any valid unicode character can now be a register, including something like @☺. This change also addresses the multibyte parsing issues surrounding let @a = 'xyz' let @🔨 = 'hammer'
* | | | | | vim-patch:9.0.2137: Can't detect angular & mustache filetypesObserverOfTime2023-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Can't detect angular & mustache filetypes Solution: Detect *.mustache as Mustache filetype; detect *.component.html as html.angular filetype closes: vim/vim#13594 https://github.com/vim/vim/commit/7bed263c343c62129c5d8f51796895a28db1b312
* | | | | | fix: Remove nested for_each_tree in TSTreeView (#26328)Pham Huy Hoang2023-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: `LanguageTree:for_each_tree` calls itself for child nodes, so when we calls `for_each_tree` inside `for_each_tree`, this quickly leads to exponential tree calls. Solution: Use `pairs(child:trees())` directly in this case, as we don't need the extra callback for each children, this is already handled from the outer `for_each_tree` call
* | | | | | fix(treesitter): fix parens stacking in inspector display (#26304)Gregory Anders2023-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When first opened, the tree-sitter inspector traverses all of the nodes in the buffer to calculate an array of nodes. This traversal is done only once, and _all_ nodes (both named and anonymous) are included. Toggling anonymous nodes in the inspector only changes how the tree is drawn in the buffer, but does not affect the underlying data structure at all. When the buffer is traversed and the list of nodes is calculated, we don't know whether or not anonymous nodes will be displayed in the inspector or not. Thus, we cannot determine during traversal where to put closing parentheses. Instead, this must be done when drawing. When we draw, the tree structure has been flatted into a single array, so we lose parent-child relationships that would otherwise make determining the number of closing parentheses straightforward. However, we can instead rely on the fact that a delta between the depth of a node and the depth of the successive node _must_ mean that more closing parentheses are required: (foo (bar) (baz) ↑ │ └ (bar) and (baz) have different depths, so (bar) must have an extra closing parenthesis This does not depend on whether or not anonymous nodes are displayed and so works in both cases.
* | | | | | build: don't define FUNC_ATTR_* as empty in headers (#26317)zeertzjq2023-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FUNC_ATTR_* should only be used in .c files with generated headers. Defining FUNC_ATTR_* as empty in headers causes misuses of them to be silently ignored. Instead don't define them by default, and only define them as empty after a .c file has included its generated header.
* | | | | | vim-patch:a9058440b7b9Christian Clason2023-11-29
| |_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(html): Update syntax file (vim/vim#13591) Add missing search element and update ARIA attribute list. Add a very basic test file to check all elements are matched. https://github.com/vim/vim/commit/a9058440b7b9d7f5d0027c8cd44366e9200ca241 Co-authored-by: dkearns <dougkearns@gmail.com>
* | | | | fix(treesitter): adjust indentation in inspector highlights (#26302)Gregory Anders2023-11-29
| | | | |
* | | | | fix(termcap): escape escapes in passthrough sequence (#26301)Gregory Anders2023-11-29
| | | | | | | | | | | | | | | | | | | | When using the tmux passthrough sequence any escape characters in the inner sequence must be escaped by adding another escape character.
* | | | | fix(defaults): wait until VimEnter to set background (#26284)Gregory Anders2023-11-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The OptionSet autocommand does not fire until Vim has finished starting, so setting 'background' before the VimEnter event would not fire the OptionSet event. The prior implementation also waited until VimEnter to set 'background', so this was a regression introduced when moving background detection into Lua.
* | | | | docs: document TSNode:byte_length() (#26287)Gregory Anders2023-11-29
| | | | | | | | | | | | | | | | | | | | Also update the type annotation of TSNode:id(), which returns a string, not an integer.
* | | | | fix(treesitter): make InspectTree correctly handle nested injections (#26085)Pham Huy Hoang2023-11-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Only injections under the top level tree are found. Solution: Iterate through all trees to find injections. When two injections are contained within the same node in the parent tree, prefer the injection with the larger byte length.
* | | | | fix(treesitter): use proper query syntax for inspector (#26274)Gregory Anders2023-11-29
| | | | |
* | | | | refactor: move some constants out of vim_defs.h (#26298)zeertzjq2023-11-29
| | | | |
* | | | | fix(man): set the nested flag for the BufReadCmd autocommand (#26285)Gregory Anders2023-11-28
| | | | | | | | | | | | | | | | | | | | The nested flag must be set so that other autocommands can fire while the BufReadCmd is still executing.
* | | | | vim-patch:9.0.2135: No test for mode() when executing Ex commands (#26282)zeertzjq2023-11-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: No test for mode() when executing Ex commands Solution: Add some test cases and simplify several other test cases. Also add a few more test cases for ModeChanged. closes: vim/vim#13588 https://github.com/vim/vim/commit/fcaeb3d42b228e73c669b2fce78f1d3fe112769f
* | | | | fix(termcap): use tmux passthrough sequence when running in tmux (#26281)Gregory Anders2023-11-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tmux intercepts and ignores XTGETTCAP so wrap the query in the tmux passthrough sequence to make sure the query arrives at the "host" terminal. Users must still set the 'allow-passthrough' option in their tmux.conf.
* | | | | fix(rplugin): dont create data dir if it's a broken symlink #25726Samuel (ThinLinc team)2023-11-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Checking if it's non-empty and not a directory gets us quite far, but not all the way. While a working symlink would trigger the earlier checks, a broken symlink does not. This commit fixes the special case where ~/.local/share/nvim already exists but is a broken symlink. Thus, it fixes the following error on startup: E739: Cannot create directory /home/samuel/.local/share/nvim: file already exists
* | | | | Merge pull request #26249 from bfredl/concealcharbfredl2023-11-28
|\ \ \ \ \ | | | | | | | | | | | | feat(decoration): allow conceal_char to be a composing char
| * | | | | feat(decoration): allow conceal_char to be a composing charbfredl2023-11-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | decor->text.str pointer must go. This removes it for conceal char, in preparation for a larger PR which will also handle the sign case. By actually allowing composing chars for a conceal chars, this becomes a feature and not just a refactor, as a bonus.
* | | | | | docs(lua): don't include remote-only API functions (#26266)zeertzjq2023-11-28
| | | | | |
* | | | | | vim-patch:9.0.2133: Cannot detect overstrike mode in Cmdline mode (#26263)zeertzjq2023-11-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Cannot detect overstrike mode in Cmdline mode Solution: Make mode() return "cr" for overstrike closes: vim/vim#13569 https://github.com/vim/vim/commit/d1c3ef1f47c87d1da056c56564e1985fe6f2931d
* | | | | | vim-patch:9.0.2131: not all nushell files detected (#26260)Christian Clason2023-11-28
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: not all nushell files detected Solution: use *.nu to detect nushell files closes: vim/vim#13586 https://github.com/vim/vim/commit/b9efc72c2432f2d2a633c12d3a5b9fc3efb7b6e7 Co-authored-by: Daniel Buch Hansen <boogiewasthere@gmail.com>
* | | | | docs: support @since for api level #25574LW2023-11-27
| | | | | | | | | | | | | | | close #25416
* | | | | fix(treesitter): don't invalidate parser when discovering injectionsDmytro Soltys2023-11-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When parsing with a range, languagetree looks up injections and adds them if needed. This explicitly invalidates parser, making `is_valid` report `false` both when including and excluding children. This is an attempt to describe desired behaviour of `is_valid` in tests, with what ended up being a single line change to satisfy them.
* | | | | docs: small fixes (#26154)dundargoc2023-11-27
| | | | |
* | | | | fix(lua): disallow vim.wait() in fast contextsLewis Russell2023-11-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `vim.wait()` cannot be called in a fast callback since the main loop cannot be run in that context as it is not reentrant Fixes #26122
* | | | | vim-patch:cf40409e7d17Christian Clason2023-11-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(nginx): add additional nginx keywords (vim/vim#13581) * Add support for missing keywords to the nginx syntax plugin This adds support for several keywords from - the built-in HTTP/2 module, - the built-in SSL module, - the built-in uWSGI module, - the experimental QUIC branch, - the third-party SSL CT module, - the third-party dynamic TLS records patch. Co-Author: ObserverOfTime <chronobserver@disroot.org> * Add missing http2/ http3 keywords to nginx plugin https://github.com/vim/vim/commit/cf40409e7d17ddadaa697188788753c761479ef8 Co-authored-by: Chris Aumann <me@chr4.org> Co-authored-by: Christian Brabandt <cb@256bit.org>
* | | | | vim-patch:9.0.2128: runtime(swig): add syntax and filetype pluginsChristian Clason2023-11-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add syntax and filetype plugins for SWIG (Simplified Wrapper Interface Generator) description files. The default syntax for .i files highlights comments in a reverse color scheme which doesn't look well. This syntax builds on vim's c++ syntax by adding highlighting for common swig directives and user defined directives. For an alternative syntax, see vimscript vim/vim#1247 (which I found after writing this). closes: vim/vim#13562 https://github.com/vim/vim/commit/2e31065a650015892179e520038bf2083a9519b6 Co-authored-by: Julien Marrec <julien.marrec@gmail.com> Co-authored-by: Matěj Cepl <mcepl@cepl.eu>
* | | | | fix(health): malformed call to warn() #26217Itamar Lencovsky2023-11-25
| | | | |
* | | | | vim-patch:813a538bb3ceChristian Clason2023-11-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(tsx): add indentation plugin (fixes vim/vim#13574) (vim/vim#13576) for now, let's just use the typescript indent file. https://github.com/vim/vim/commit/813a538bb3cec2eee4bf43e16b44fe40666529ef Co-authored-by: Jōshin <mrdomino@gmail.com>