| Commit message (Collapse) | Author | Age |
... | |
| |
| |
| |
| | |
N-Jim does not sounds like "Ninja", and the joke doesn't really land.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem
---
If a highlighter query returns a significant number of predicate
non-matches, the highlighter will scan well past the end of the window.
Solution
---
In the iterator returned from `iter_captures`, accept an optional
parameter `end_line`. If no parameter provided, the behavior is
unchanged, hence this is a non-invasive tweak.
Fixes: #25113 nvim-treesitter/nvim-treesitter#5057
|
| |
| |
| |
| |
| |
| | |
"Edit" more closely describes the generic application than "Preview", though
the buffer contents don't (yet) map to an actual file on disk.
https://github.com/neovim/neovim/pull/24703#discussion_r1321719133
|
| | |
|
|/
|
|
|
|
|
| |
The name for_each_child is misleading and caused bugs.
After #25111, #25115, there are no more usages of `for_each_child` in Nvim.
In the future if we want to restore this functionality we can consider a
generalized vim.traverse(node, key, visitor) function.
|
|
|
|
|
|
|
| |
Co-authored-by: nuid64 <lvkuzvesov@proton.me>
Co-authored-by: Mike Smith <10135646+mikesmithgh@users.noreply.github.com>
Co-authored-by: XTY <xty@xty.io>
Co-authored-by: Empa <emanuel@empa.xyz>
Co-authored-by: kyu08 <49891479+kyu08@users.noreply.github.com>
|
|
|
|
|
|
|
|
| |
runtime(rust): sync rust runtime files with upstream (vim/vim#13075)
https://github.com/vim/vim/commit/fc93594d562dbbd9da03c89754538f91efd0c7ca
Co-authored-by: Gregory Anders <8965202+gpanders@users.noreply.github.com>
|
|
|
|
|
|
| |
Support Markdown code blocks in addition to <pre> blocks in Doxygen doc
comments.
Update doc comments in iter.lua as a test.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The removes the previous restriction that nvim_buf_set_extmark()
could not be used to highlight arbitrary multi-line regions
The problem can be summarized as follows: let's assume an extmark with a
hl_group is placed covering the region (5,0) to (50,0) Now, consider
what happens if nvim needs to redraw a window covering the lines 20-30.
It needs to be able to ask the marktree what extmarks cover this region,
even if they don't begin or end here.
Therefore the marktree needs to be augmented with the information covers
a point, not just what marks begin or end there. To do this, we augment
each node with a field "intersect" which is a set the ids of the
marks which overlap this node, but only if it is not part of the set of
any parent. This ensures the number of nodes that need to be explicitly
marked grows only logarithmically with the total number of explicitly
nodes (and thus the number of of overlapping marks).
Thus we can quickly iterate all marks which overlaps any query position
by looking up what leaf node contains that position. Then we only need
to consider all "start" marks within that leaf node, and the "intersect"
set of that node and all its parents.
Now, and the major source of complexity is that the tree restructuring
operations (to ensure that each node has T-1 <= size <= 2*T-1) also need
to update these sets. If a full inner node is split in two, one of the
new parents might start to completely overlap some ranges and its ids
will need to be moved from its children's sets to its own set.
Similarly, if two undersized nodes gets joined into one, it might no
longer completely overlap some ranges, and now the children which do
needs to have the have the ids in its set instead. And then there are
the pivots! Yes the pivot operations when a child gets moved from one
parent to another.
|
|
|
|
|
|
|
|
|
| |
runtime(doc): Add g:c_syntax_for_h to filetype-overrule docs
closes: vim/vim#13074
https://github.com/vim/vim/commit/f787ee8451a1f24de4ef3de48b78d5aa77d09829
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
runtime(doc): documentation updates
This is a collection of various improvements to the help pages
closes vim/vim#12790
https://github.com/vim/vim/commit/596ad66d1ddb742ef349e98eb06b8e4052f68f51
Co-authored-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Houl <anwoku@yahoo.de>
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
Co-authored-by: Adri Verhoef <a3@a3.xs4all.nl>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
* The guessed botline might be smaller than the actual botline e.g. when
there are folds and the user is typing in insert mode. This may result
in incorrect treesitter highlights for injections.
* botline can be larger than the last line number of the buffer, which
results in errors when placing extmarks.
Solution:
* Take a more conservative approximation. I am not sure if it is
sufficient to guarantee correctness, but it seems to be good enough
for the case mentioned above.
* Clamp it to the last line number.
Co-authored-by: Lewis Russell <me@lewisr.dev>
|
|
|
|
| |
Fixes #22526
|
| |
|
|\
| |
| | |
fix(highlight): add create param in nvim_get_hl api function
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Various Typos
Solution: Fix Typos
This is a collection of typo related commits.
closes: vim/vim#12753
closes: vim/vim#13016
https://github.com/vim/vim/commit/ee17b6f70d382ec6c5d8d27b56c4e84106ac8c55
Co-authored-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Adri Verhoef <a3@a3.xs4all.nl>
Co-authored-by: Viktor Szépe <viktor@szepe.net>
Co-authored-by: nuid64 <lvkuzvesov@proton.me>
Co-authored-by: Meng Xiangzhuo <aumo@foxmail.com>
Co-authored-by: Dominique Pellé <dominique.pelle@gmail.com>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
runtime(tohtml): Update TOhtml to version 9.0v2 (vim/vim#13050)
Modified behavior:
- Change default value of g:html_use_input_for_pc from "fallback" to
"none". This means with default settings, only the standards-based
method to make special text unselectable is used. The old method
relying on unspecified browser behavior for <input> tags is now only
used if a user specifically enables it.
- Officially deprecate g:use_xhtml option (in favor of
g:html_use_xhtml) by issuing a warning message when used.
Bugfixes:
- Fix issue vim/vim#8547: LineNr and other special highlight groups did not
get proper style rules defined when using "hi link".
- Fix that diff filler was not properly added for deleted lines at the
end of a buffer.
Other:
- Refactored function definitions from long lists of strings to use
:let-heredoc variable assignment instead.
- Corrected deprecated "." string concatenation operator to ".."
operator in more places.
https://github.com/vim/vim/commit/86cfb39030eb557e1a1c7804f9c147556ca5dbf1
Co-authored-by: fritzophrenic <fritzophrenic@gmail.com>
|
|
|
|
| |
locations_to_items (#23743)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
runtime: don't execute external commands when loading ftplugins
This is a followup to 816fbcc262687b81fc46f82f7bbeb1453addfe0c (patch
9.0.1833: [security] runtime file fixes)
It basically disables that external commands are run on loading of the
filetype plugin, **unless** the user has set the `g:plugin_exec = 1`
global variable in their configuration or for a specific filetype the
variable g:<filetype>_exec=1.
There are a few more plugins, that may execute system commands like
debchangelog, gitcommit, sh, racket, zsh, ps1 but those do at least
do not run those commands by default during loading of the filetype plugin
(there the command is mostly run as convenience for auto-completion or
to provide documentation lookup).
closes: vim/vim#13034
https://github.com/vim/vim/commit/f7ac0ef5098856bedca26e7073594a407c05636f
Co-authored-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Tim Pope <vim@tpope.org>
|
| |
|
| |
|
|
|
|
| |
Mimic the behaviour of timeout(1) from coreutils.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: issues with formatting positional arguments
Solution: fix them, add tests and documentation
closes: vim/vim#12140
closes: vim/vim#12985
Tentatively fix message_test. Check NULL ptr.
https://github.com/vim/vim/commit/aa90d4f031f73a34aaef5746931ea746849a2231
Co-authored-by: Christ van Willegen <cvwillegen@gmail.com>
|
|
|
|
| |
https://github.com/luvit/luv/commit/045bf29b6f54f9b511f8b76088250d2a90dbdf4f
|
| |
|
|
|
|
|
|
|
|
|
|
| |
runtime(doc): mention special case of i_CTRL-R_-
closes: vim/vim#12947
https://github.com/vim/vim/commit/a5eb6785efcc36a97e071722408acc20d6c6e606
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
|
|
|
|
|
|
|
|
|
| |
The following modifiers are all now supported:
:tab term
:vertical term
:horizontal term
:botright term
:topleft term
Fixes: https://github.com/neovim/neovim/issues/11385
|
|
|
|
| |
fixup: #24874
|
|
|
|
|
| |
* fix(types): add some return/parameter type annotations
* fix(types): narrow stdpath parameter further
|
| |
|
|
|
|
|
|
| |
Problem: No clear separation of floating title and footer highlighting.
Solution: Add new `FloatFooter` highlight group.
|
|
|
|
|
|
|
|
| |
Problem: Now way to show text at the bottom part of floating window
border (a.k.a. "footer").
Solution: Allows `footer` and `footer_pos` config fields similar to
`title` and `title_pos`.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
runtime(termdebug): more termdebug fixes and improvements (vim/vim#12892)
- Fix and attempt to simplify :Frame/:Up/:Down documentation.
- Accept a count instead for :Up/:Down/+/-.
- Update the "Last Change" dates.
- Fix a missing :let (caused an error if gdb fails to start).
- Wipe the prompt buffer when ending prompt mode (if it exists and wasn't wiped
by the user first). Avoids issues with stale prompt buffers (such as E95 when
starting a new prompt mode session).
- Kill the gdb job if the prompt buffer is unloaded (similar to what's done for
a terminal buffer). Fixes not being able to start a new termdebug session if
the buffer was wiped by the user, for example.
https://github.com/vim/vim/commit/3d3a9152fa6de7038fdfd6d6de25230ed825552a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
runtime(termdebug): add frame related commands (vim/vim#12511)
implementing `:Frame`, `:Up` and `:Down'
https://github.com/vim/vim/commit/2ae7ffe0bc3c3ed9fcae35ef23a2b78908580201
Use maparg() for saving K as it's since been ported (and supports Lua callbacks
and the other API fields).
Use the 3 argument variant of mapset(), as the single argument one isn't ported
yet (v8.2.4861).
Co-authored-by: Simon Sobisch <simonsobisch@web.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Runtime(termdebug): Add support to view local and argument variables
closes: 12403
https://github.com/vim/vim/commit/9f29621415146abc046471440515e9e34f3e57a1
Rename the existing "s:running" (#16790) to "s:gdb_running" to not clash with
the "s:running" introduced in this patch (which instead relates to whether the
debugged program is currently running in gdb).
Keep the file `:retab`bed as before.
Co-authored-by: laburnumT <flo.striker@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The on_detect functions returned by filetype.lua set buffer local
variables which are often used by filetype plugins. For example, the
on_detect function for shell buffers sets variables such as b:is_bash or
b:is_sh, which are used by the sh ftplugin.
When called after setting the buffer's filetype, these variables cannot
be used by the ftplugin (because they are not yet defined). Instead,
call on_detect before setting the buffer filetype so that any buffer
variables set by on_detect can be used in the ftplugin.
|
|
|
|
| |
Also make gen_eval_files.lua render vimdoc helpExamples properly if the line
begins with the `>` marker.
|
|
|
|
| |
Co-authored-by: ObserverOfTime <chronobserver@disroot.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: cannot distinguish Forth and Fortran *.f files
Solution: Add Filetype detection Code
Also add *.4th as a Forth filetype
closes: vim/vim#12251
https://github.com/vim/vim/commit/19a3bc3addf9b4aa8150a01b11b4249c67d15d3b
Don't remove filetype files from Vim patches:
- filetype.vim, script.vim, ft.vim usually contain useful changes
- script.vim and ft.vim don't even have their paths spelled correctly
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: sidescrolloff and scrolloff options work slightly
different than other global-local options
Solution: Make it behave consistent for all global-local options
It was noticed, that sidescrolloff and scrolloff options behave
differently in comparison to other global-local window options like
'listchars'
So make those two behave like other global-local options. Also add some
extra documentation for a few special local-window options.
Add a few tests to make sure all global-local window options behave
similar
closes: vim/vim#12956
closes: vim/vim#12643
https://github.com/vim/vim/commit/4a8eb6e7a9df10f79bf95301ced012f0d6a13088
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
|
|
|
|
|
|
|
| |
Problem: append() reports failure when not appending anything.
Solution: Only report failure when appending something. (closes vim/vim#11498)
https://github.com/vim/vim/commit/cd9c8d400c1eb9cbb4ff6a33be02f91a30ab13b2
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|
|
|
|
|
|
|
| |
Runtime file updates
https://github.com/vim/vim/commit/e46a4405056276b4cbdacee76b11f85c8ea1830b
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|
|
|
|
|
|
|
| |
Updte runtime files
https://github.com/vim/vim/commit/589edb340454e7f1b19358f129287a636d53d0e1
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: SafeStateAgain not triggered if callback uses feedkeys().
Solution: Check for safe state in the input loop. Make log messages easier
to find. Add 'S' flag to state().
https://github.com/vim/vim/commit/d103ee78432f9036d243b18dd5aac1263d3b7dc9
Include misc1.c change from patch 8.1.2062.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|