aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* docs(treesitter): add more examples, and improve consistencyJongwook Choi2024-01-24
| | | | | | | | | | | | | | | Docs for treesitter would benefit from including more real-world and practical examples of queries and usages, rather than hypothetical ones (e.g. names such as "foo", "bar"). Improved examples should be more user-friendly and clear to understand. In addition, align the capture names in some examples with the actual ones being used in the built-in query files or in the nvim-treesitter plugin, e.g.: - `@parameter` -> `@variable.parameter` - `@comment.doc.java` -> `@comment.documentation.java` - etc.
* fix(treesitter): prefix treesitter types with vimPhạm Huy Hoàng2024-01-24
|
* fix(options): use a union for def_val (#27169)zeertzjq2024-01-24
| | | | | | | | | Problem: APIs get wrong boolean option default values on big-endian platforms. Solution: Use a union for def_val. Cannot use OptVal or OptValData yet as it needs to have the same types as option variables.
* vim-patch:9.1.0046: :drop does not re-use empty buffer (#27165)zeertzjq2024-01-24
| | | | | | | | | | | | | Problem: :drop does not re-use empty buffer (Rocco Mao) Solution: Make :drop re-use an empty buffer (Rocco Mao) fixes: vim/vim#13851 closes: vim/vim#13881 https://github.com/vim/vim/commit/f96dc8d07f752ddd96d1447d85278a85255a1462 Co-authored-by: Rocco Mao <dapeng.mao@qq.com>
* vim-patch:e13b665a6e2a (#27163)zeertzjq2024-01-24
| | | | | | | | runtime(doc): change "VIsual mode" to "Visual mode" in :h SafeState (vim/vim#13901) "Visual mode" is used everywhere else in the help when not referring to something in the source code. https://github.com/vim/vim/commit/e13b665a6e2a32910ff5c3fec330bef4a10f8f23
* fix(sign): avoid deleting from sign map while looping over it (#27158)luukvbaal2024-01-24
|
* build(deps): bump luajit to HEAD - f2336c48fChristian Clason2024-01-23
|
* fix(colorscheme): link LSP semantic tokens to treesitter groupsJohn Drouhard2024-01-23
|
* test: typing for screen.luaLewis Russell2024-01-23
| | | | | Very rough buts resolves most diagnostic errors and should provide some useful hovers.
* fix(diagnostic): fix typing on field |diagnostic-severity|Jongwook Choi2024-01-23
| | | | | | | | Problem: vim.diagnostic.{underline,float,virtual_text...}.severity will have a type warning on list-like or table (min-max) inputs, e.g. `vim.diagnostic.config { float = { severity = { min = INFO } } }`. Solution: Correct the typing as documented in |diagnostic-severity|.
* Merge pull request #27147 from bfredl/crash2bfredl2024-01-23
|\ | | | | fix(extmark): another "step out" case
| * fix(extmark): fix crash when stepping out from internal nodebfredl2024-01-23
| |
* | fix(treesitter): update @markup default linksChristian Clason2024-01-23
|/ | | | | | | | * use `Special` as default for `@markup.*`, especially `@markup.raw` and `@markup.math` (`@markup` itself is never used) * use `Structure` for `@markup.environment` * highlight all of `@markup.link` as Underlined (otherwise concealed links are invisible)
* Merge pull request #27145 from bfredl/crash_metabfredl2024-01-23
|\ | | | | fix(extmarks): crash with sign after many marks
| * fix(extmarks): crash with sign after many marksbfredl2024-01-23
|/ | | | fixes #27137
* vim-patch:9.1.0043: ml_get: invalid lnum when :s replaces visual selection ↵zeertzjq2024-01-23
| | | | | | | | | | | | | | | | (#27140) Problem: ml_get: invalid lnum when :s replaces visual selection (@ropery) Solution: substitute may decrement the number of lines in a buffer, so validate, that the bottom lines of the visual selection stays within the max buffer line fixes: vim/vim#13890 closes: vim/vim#13892 https://github.com/vim/vim/commit/7c71db3a58f658b4329b82ab603efa928d17bdbc Co-authored-by: Christian Brabandt <cb@256bit.org>
* build(deps): bump luajit to HEAD - 3ca0a8071Christian Clason2024-01-22
|
* vim-patch:add31baedaf0Christian Clason2024-01-22
| | | | | | | | | | | | | | | | | runtime(sh): Add handling for ksh93 shared-state comsubs and mksh valsubs (vim/vim#13884) This commit adds support for ksh93 shared-state command substitutions (syntax: ${ command; }) and mksh's value substitutions (syntax: ${|command;}) in the sh syntax script. Also add a syntax test for ksh subshares with dumps included to make sure it doesn't regress. fixes: vim/vim#9514 https://github.com/vim/vim/commit/add31baedaf03b92dbd41427860c61c639ef705c Co-authored-by: Johnothan King <johnothanking@protonmail.com>
* vim-patch:3b2c27415d7dChristian Clason2024-01-22
| | | | | | | | | runtime(chuck): include ChucK syntax file (vim/vim#13895) https://github.com/vim/vim/commit/3b2c27415d7d6e97be9580b66528e8c19d19aade Co-authored-by: Andrea C from The App <3269984+gacallea@users.noreply.github.com> Co-authored-by: gacallea <gacallea@users.noreply.github.com>
* vim-patch:ea9a93e5b098Christian Clason2024-01-22
| | | | | | | | | | runtime(go): update Go syntax file (vim/vim#13896) Update the Go syntax file with some recent changes made to vim-go. https://github.com/vim/vim/commit/ea9a93e5b0989b9242a1ea1f6f2dd7c9399e6f20 Co-authored-by: Billie Cleek <bhcleek@users.noreply.github.com>
* refactor: rewrite python provider in luadundargoc2024-01-22
|
* fix(column): clear "b_signcols" when marktree is clearedLuuk van Baal2024-01-22
|
* Merge pull request #27011 from bfredl/metatreebfredl2024-01-22
|\ | | | | perf(extmarks): add metadata for efficient filtering of special decorations
| * perf(extmarks): add metadata for efficient filtering of special decorationsbfredl2024-01-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This expands on the global "don't pay for what you don't use" rules for these special extmark decorations: - inline virtual text, which needs to be processed in plines.c when we calculate the size of text on screen - virtual lines, which are needed when calculating "filler" lines - signs, with text and/or highlights, both of which needs to be processed for the entire line already at the beginning of a line. This adds a count to each node of the marktree, for how many special marks of each kind can be found in the subtree for this node. This makes it possible to quickly skip over these extra checks, when working in regions of the buffer not containing these kind of marks, instead of before where this could just be skipped if the entire _buffer_ didn't contain such marks.
* | build(deps): bump tree-sitter-c to v0.2.7Christian Clason2024-01-22
|/
* docs(options): remove misleading sentence (#27129)zeertzjq2024-01-22
| | | | Setting 'verbose' to 1 doesn't cause Nvim to produce messages. It adds more information to existing messages, which is documented above.
* build: make genappimage.sh work with existing CMAKE_INSTALL_PREFIXdundargoc2024-01-22
| | | | | | Using CMAKE_INSTALL_PREFIX is unreliable as it's a cache variable, meaning the users previous value will be used if not supplied. Instead, use the `--prefix` flag which is guaranteed to always work.
* feat(fold): transparent foldtextLewis Russell2024-01-22
| | | | | | | | | | | | | | | | | 'foldtext' can be set to an empty string to disable and render the line with: - extmark highlight - syntax highlighting - search highlighting - no line wrapping - spelling - conceal - inline virtual text - respects `fillchars:fold` Currently normal virtual text is not displayed Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* Merge pull request #27076 from glepnir/extmark_hlgroupbfredl2024-01-22
|\ | | | | refactor(api): use hl id directly in nvim_buf_set_extmark
| * refactor(api): give "hl_group" more accurate _meta typebfredl2024-01-22
| | | | | | | | | | These can either be number or string in lua, so we can specify this directly as "number|string".
| * refactor(api): use hl id directly in nvim_buf_set_extmarkglepnir2024-01-20
| |
* | fix(eval): properly support checking v:lua function in exists() (#27124)Raphael2024-01-22
| |
* | refactor: use "csarg" for CharsizeArg variables (#27123)zeertzjq2024-01-22
| |
* | Merge pull request #26813 from VanaIgr/screen-pos-speedupzeertzjq2024-01-22
|\ \ | | | | | | | | | | | | | | | | | | perf: make screen size and position calculations more efficient N/A patches for version.c: vim-patch:9.1.0037: Calling get_breakindent_win() repeatedly when computing virtcol vim-patch:9.1.0038: Unnecessary loop in getvcol()
| * | docs(news): expand the list of performance improvementsVanaIgr2024-01-22
| | | | | | | | | | | | | | | | | | | | | | | | When computing on-screen size or position, the size 'breakindent' and 'showbreak' is now cached, and checks for whether a faster character size function can be used are performed only once at the start. Multibyte characters are not decodes multiple times anymore, and character decoding functions are more efficient. Additionally, the amount of trailing spaces for pasted blockwise text is now calculated correctly for multibyte characters. Internal lisp formatting now doesn't erroneously use inline virtual text from a different line.
| * | perf: reuse fast character size calculation algorithm from getvcol()VanaIgr2024-01-22
| | |
| * | perf: don't decode utf8 character multiple times in getvcol()VanaIgr2024-01-22
| | | | | | | | | | | | | | | | | | | | | | | | The optimized virtual column calculation loop in getvcol() was decoding the current character twice: once in ptr2cells() and the second time in utfc_ptr2len(). For combining charcters, they were decoded up to 2 times in utfc_ptr2len(). Additionally, the function used to decode the character could be further optimised.
| * | perf: remove loop for computing last position in getvcol()VanaIgr2024-01-18
| | | | | | | | | | | | | | | | | | | | | | | | The function computed the start of the multibyte character and iterated until the current character reached this position. The loop at the start of the function handed the case where the index passed to the function was past the end of the line. This loop can be removed if the function instead compares the next position against the end position end exits the loop if it is greater than the end position.
| * | perf: cache breakindent/showbreak width in win_lbr_chartabsizeVanaIgr2024-01-18
| | | | | | | | | | | | | | | | | | breakindent was recomputed on every call to win_lbr_charbabsize() when the character is past the end of the first row of a wrapped line. Even though the function for computing breakindent cached the last result, reusing the cached value required strcmp of the cached line with the given line.
| * | test: add screenpos() benchmarksVanaIgr2024-01-18
| |/
* | test(core/channel_spec): fix lint failurezeertzjq2024-01-22
| |
* | test(core/channels_spec): fix variable namezeertzjq2024-01-22
| |
* | fix(rpc): assertion failure due to invalid msgpack inputnwounkn2024-01-21
| | | | | | | | | | | | | | | | | | Problem: rbuffer_consumed assertion fails if Unpacker fails to parse msgpack, because it doesn't consume bytes on errors Solution: Call rbuffer_consumed_compact only if Unpacker isn't closed
* | build: create BINARY_LIB_DIR directory before adding parserdundargoc2024-01-22
| | | | | | | | | | | | cmake -E copy_directory behaves differently depending on if the directory in question exists or not. Always create it to ensure it behaves consistently.
* | fix(extmarks): missing "spell" and "conceal" in details (#27116)zeertzjq2024-01-22
| |
* | build: fix parser installation locationdundargoc2024-01-21
| | | | | | | | | | Cmake's `install()` functions like rsync where a trailing slash changes whether the directory or its contents will be copies.
* | feat(vim.version): add `vim.version.le` and `vim.version.ge`Jongwook Choi2024-01-21
| | | | | | | | | | | | | | | | | | | | | | | | | | - Problem: One cannot easily write something like, for example: `version_current >= {0, 10, 0}`; writing like `not vim.version.lt(version_current, {0, 10, 0})` is verbose. - Solution: add {`le`,`ge`} in addition to {`lt`,`gt`}. - Also improve typing on the operator methods: allow `string` as well. - Update the example in `vim.version.range()` docs: `ge` in place of `gt` better matches the semantics of `range:has`.
* | vim-patch:9.1.0042: Missing test for Chuck FiletypeChristian Clason2024-01-21
| | | | | | | | | | | | | | | | | | | | | | Problem: Missing test for Chuck filetype after commit 27a4632af6753 (Christian Clason) Solution: Add a filetype test https://github.com/vim/vim/commit/c1884c94c5d7246e53a83b03a35a66ce81b49f83 Co-authored-by: Christian Brabandt <cb@256bit.org>
* | vim-patch:27a4632af675Christian Clason2024-01-21
| | | | | | | | | | | | | | | | | | | | runtime(filetype): detect *.ck files as Chuck filetype (vim/vim#13888) closes vim/vim#13886 https://github.com/vim/vim/commit/27a4632af675345f9d3b4f3d66a63756835df8cc Co-authored-by: Christian Brabandt <cb@256bit.org>
* | feat(treesitter)!: new standard capture namesChristian Clason2024-01-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Sharing queries with upstream and Helix is difficult due to different capture names. Solution: Define and document a new set of standard captures that matches tree-sitter "standard captures" (where defined) and is closer to Helix' Atom-style nested groups. This is a breaking change for colorschemes that defined highlights based on the old captures. On the other hand, the default colorscheme now defines links for all standard captures (not just those used in bundled queries), improving the out-of-the-box experience.