| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
highlighting (#29850)
- Match bang, "all" and "termcap" options, and trailing command
separator "|".
- Highlight set assignment operators.
- Match multiline :set and multiline option values.
- Mention the newer "0o" octal prefix at :help :set=.
closes: vim/vim#15329
https://github.com/vim/vim/commit/ddbb6fe2d0344e93436c5602b7a06169f49a9b52
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
|
|
|
|
|
|
|
|
|
| |
The id parameter is used to communicate to the terminal that two URLs
are the same. Without an id, the terminal must rely on heuristics to
determine which cells belong together to make a single hyperlink.
See the relevant section in the spec [1] for more details.
[1]: https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda#hover-underlining-and-the-id-parameter
|
|
|
| |
Co-authored-by: marvim <marvim@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
libtermkey does not know how to parse CSI subparameters (parameters
separated by ':', ASCII 0x3A) and currently just ignores them. However,
many important CSI sequences sent by the terminal make use of
subparameters, most notably key events when using the kitty keyboard
protocol [1]. Enabling subparameters is a prerequisite for expanding
kitty keyboard protocol support in Neovim.
Concretely, we do this by returning pointers into the internal termkey
buffer for each CSI parameter rather than parsing them into integers
directly. When a caller wants to actually use the parameter as an
integer, they must call termkey_interpret_csi_param, which parses the
full parameter string into an integer parameter and zero or more
subparameters.
The pointers into the internal buffer will become invalidated when new
input arrives from the terminal so it is important that the individual
params are used and parsed right away. All of our code (and libtermkey's
code) does this, so this is fine for now, but is something to keep in
mind moving forward.
[1]: https://sw.kovidgoyal.net/kitty/keyboard-protocol/
|
|\
| |
| | |
fix: assert failure in VimL expression parser
|
| | |
|
|\ \
| | |
| | | |
fix(api): alloc and draw cursor window in nvim__redraw
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Unable to move cursor to recently opened window.
Solution: Make sure uninitialized window is drawn before trying to move
the cursor to it.
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
Problem: Marks whose position did not change with the action that
invalidated them (right_gravity = false) are not revalidated
upon undo.
Solution: Remove early return when restoring a marks saved position so
that it is still revalidated. Add "move" guards instead.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
DEC mode 2048 is a newly proposed private mode for sending resize events
in band to applications from the terminal emulator, instead of relying
on SIGWINCH.
Full text of the specification is here:
https://gist.github.com/rockorager/e695fb2924d36b2bcf1fff4a3704bd83
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
docs (#29796)
related: https://github.com/vim/vim/pull/15280#issuecomment-2233771449
closes: vim/vim#15285
https://github.com/vim/vim/commit/eb6d733bef312a0634770e023e8a41f0347f1503
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
doesn't fit (#29793)
Problem: Wrong cursor position with 'breakindent' when a double-width
character doesn't fit in a screen line (mikoto2000)
Solution: Include the width of the 'breakindent' properly.
(zeertzjq)
fixes: vim/vim#15289
closes: vim/vim#15290
https://github.com/vim/vim/commit/b5d6b5caac752fe15856e37fd3abc5459292d4b8
|
|
|
|
|
|
|
| |
closes: vim/vim#15280
https://github.com/vim/vim/commit/c1b3984a7b3cd6adcd1f43e558cb04fad1af3182
Co-authored-by: Shane Harper <shane@shaneharper.net>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Functions are global while they could be local.
Solution: Add "static". Add a few tests. (Yegappan Lakshmanan,
closes vim/vim#10612)
https://github.com/vim/vim/commit/ee47eaceaa148e07b566ff420f9a3c2edde2fa34
Omit script_name_after_autoload(), untrans_function_name(): Vim9 script
only.
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
|
|
|
|
|
|
|
|
| |
Problem: Unnecessary redraw when setting 'winfixbuf'.
Solution: Remove P_RWIN flag. (zeertzjq)
closes: vim/vim#15283
https://github.com/vim/vim/commit/ac4ce9e15b7ee0fccfa72aecf98b696d880e53c3
|
|
|
|
| |
Problem: Missing error handling in win_float_create() function.
Solution: Add an inline function for error handling.
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: matchstr() still does not match column offset when done after a
text search.
Solution: Only use the line number for a multi-line search. Fix the test.
(closes vim/vim#10938)
https://github.com/vim/vim/commit/753aead960f163d0d3f8ce523ea523f2e0cec06d
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|
|
|
|
|
|
|
|
| |
Problem: matchstr() does match column offset. (Yasuhiro Matsumoto)
Solution: Accept line number zero. (closes vim/vim#10938)
https://github.com/vim/vim/commit/75a115e8d632e96b4f45dc5145ba261876a83dcf
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Crash when pattern looks below the last line.
Solution: Consider invalid lines to be empty. (closes vim/vim#10938)
https://github.com/vim/vim/commit/13ed494bb5edc5a02d0ed0feabddb68920f88570
Comment out the test as it uses Vim9 script and text properties.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|
|
|
|
|
| |
Problem: Modifying a sign no longer updates already placed signs.
Solution: Loop over (newly-exposed) placed decorations when modifying a
sign definition. Update placed decor if it belongs to the sign
that is modified.
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Spellfile code not completely tested.
Solution: Add a few more test cases. (Yegappan Lakshmanan, closes vim/vim#6918)
https://github.com/vim/vim/commit/64e2db6dc6d7a013ff94ce302af8958cbd2704af
Fix incorrect spellfile message.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|
|
|
|
|
|
| |
closes: vim/vim#15265
https://github.com/vim/vim/commit/df62c62177bd4dffce880b7a5711594865090953
Co-authored-by: Dominique Pellé <dominique.pelle@gmail.com>
|
|
|
|
| |
And also check in .c files, as the attributes may be silently missing
there as well.
|
| |
|
|
|
|
| |
Co-authored-by: Christian Clason <c.clason@uni-graz.at>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in Ex mode
Problem: Printed line no longer overwrites colon when pressing Enter in
Ex mode (after 9.1.0573).
Solution: Restore the behavior of pressing Enter in Ex mode.
(zeertzjq)
closes: vim/vim#15258
https://github.com/vim/vim/commit/7d664bf0eb2cb25cb77933c8b7f11ca09929e7b8
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: ex: wrong handling of commands after bar
Solution: for :append, :insert and :change use the text after the bar
as input for those commands. This is what POSIX requests.
(Mohamed Akram)
See the POSIX Spec:
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/ex.html#tag_20_40_13_03
Section 12.c
closes: vim/vim#15229
https://github.com/vim/vim/commit/8c446da34998f6350911e07fbfd7932412c83185
Co-authored-by: Mohamed Akram <mohd.akram@outlook.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: ex: no implicit print for single addresses
Solution: explicitly print even during single addresses,
as requested by POSIX (Mohamed Akram)
See the POSIX behaviour here:
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/ex.html#tag_20_40_13_03
Section 6b
closes: vim/vim#15230
https://github.com/vim/vim/commit/c25a7084e9ae1f78c28ddcbe1fa23374cfdf1e03
Co-authored-by: Mohamed Akram <mohd.akram@outlook.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Select mode (#29693)
Problem: An :lmap mapping for a printable keypad key is not applied
when typing it in Select mode.
Solution: Change keypad key to ASCII after setting vgetc_char.
(zeertzjq)
closes: vim/vim#15245
https://github.com/vim/vim/commit/90a800274ded86d5d79dbea7ba647cd69b029b4e
|
|
|
|
|
|
|
|
|
| |
Problem: Wrong comments in alt_tabpage()
(after v9.1.0572)
Solution: Correct the comments (zeertzjq).
closes: vim/vim#15235
https://github.com/vim/vim/commit/1a3dd7dc7847a3568fe96192a21e478f46c07929
|
|
|
|
|
|
|
|
|
| |
Problem: Vim9: range without a command is not compiled.
Solution: Add the ISN_EXECRANGE byte code.
https://github.com/vim/vim/commit/e4eed8c6db693a9183b776032570ce2f89dcffb6
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|
|
|
|
|
|
|
|
|
| |
Problem: Ex command is still executed after giving E1247.
Solution: Indicate the error properly and set cmd to NULL.
(zeertzjq)
closes: vim/vim#15241
https://github.com/vim/vim/commit/d1b5ea984d41102d253ecdd9a76124cd4c58b97d
|
|
|
|
|
|
|
|
|
| |
Problem: Computation overflow with large cound for :yank.
Solution: Avoid an overflow.
https://github.com/vim/vim/commit/3cf21b305104e91a28e4ce3a473672b2e88a9469
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|\
| |
| | |
refactor(declarations): also generate prototypes for functions in headers
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Before this change, "static inline" functions in headers needed to have
their function attributes specified in a completely different way. The
prototype had to be duplicated, and REAL_FATTR_ had to be used instead
of the public FUNC_ATTR_ names.
TODO: need a check that a "header.h.inline.generated.h" file is not
forgotten when the first "static inline" function with attributes
is added to a header (they would just be silently missing).
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
Empty dictionaries are converted into typed tables of the form `{ [true]
= 6}` instead of an empty dictionary representation `{}`. This leads to
incorrect table representation, along with failure in JSON encoding of
such tables as currently tables with only string and number type keys
can be encoded.
Solution:
The typed table logic has been removed from `nlua_push_Dictionary`. The
typed table logic is required only for float value conversions which is
already handled in `nlua_push_Float`. So, it is(was) no longer required
here.
Fixes neovim/neovim#29218
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: cannot specify tab page closing behaviour
(Gianluca Pacchiella)
Solution: Add the 'tabclose' option (LemonBoy).
fixes: vim/vim#5967
closes: vim/vim#15204
https://github.com/vim/vim/commit/5247b0b92e191a046b034171a3b34031e317735f
Co-authored-by: LemonBoy <thatlemon@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
Problem: fnamemodify() treats ".." and "../" differently.
Solution: Expand ".." properly like how "/.." is treated in 8.2.3388.
(zeertzjq)
closes: vim/vim#15218
https://github.com/vim/vim/commit/1ee7420460768df67ea4bc73467f2d4f8b1555bd
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Cannot expand paths from 'cdpath' setting
(Daniel Hahler)
Solution: Implement 'cdpath' completion, add the new 'dir_in_path'
completion type (LemonBoy)
fixes vim/vim#374
closes: vim/vim#15205
https://github.com/vim/vim/commit/a20bf69a3b32024cb7809be87af33bf9dc490a19
Co-authored-by: LemonBoy <thatlemon@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Cannot use relative paths as findfile() stop directories.
Solution: Change a relative path to an absolute path.
(zeertzjq)
related: vim/vim#15200
closes: vim/vim#15202
https://github.com/vim/vim/commit/764526e2799fbed040fc867858ee2eb0677afe98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
trailing slash
Problem: Stop directory in findfile() doesn't work properly without a
trailing slash.
Solution: Always use fnamencmp(), not fnamecmp().
related: vim/vim#15200
related: vim/vim#15202
https://github.com/vim/vim/commit/e6ab23bd4a41840860ae2904956c4d255a9dd528
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Stop directory doesn't work properly in 'tags'.
(Jesse Pavel)
Solution: Also move the stop directory forward by one byte.
(zeertzjq)
This doesn't support relative stop directories yet, as they are not
supported in other places like findfile() either.
fixes: vim/vim#15200
related: vim/vim#15202
https://github.com/vim/vim/commit/68819afb2cdd0f44baa080db589e1d8f77099e5f
|
|
|
|
|
|
|
|
|
|
| |
'path/../' (#29667)
Problem: fnamemodify('path/..', ':p') differs from using 'path/../'.
Solution: Include the "/.." in the directory name. (closes vim/vim#8808)
https://github.com/vim/vim/commit/4eaef9979fc5032606897963f1af37674ee0d422
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#29653)
Problem: moving in the buffer list doesn't work as documented
(SenileFelineS)
Solution: Skip non-help buffers, when run from normal buffers, else
only move from help buffers to the next help buffer (LemonBoy)
As explained in the help section for :bnext and :bprev the commands
should jump from help buffers to help buffers (and from regular ones to
regular ones).
fixes: vim/vim#4478
closes: vim/vim#15198
https://github.com/vim/vim/commit/893eeeb44583ca33276e263165b2a6e50fd297d0
Co-authored-by: LemonBoy <thatlemon@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
tabpages (#29651)
Problem: :bwipe doesn't remove file from jumplist and tagstack of other
tabpages. Time complexity of mark_forget_file() is O(n^2) when
removing all entries (after v9.1.0554)
Solution: Use FOR_ALL_TAB_WINDOWS(). Start the loops over the arrays
from the end instead of the start (zeertzjq)
closes: vim/vim#15199
https://github.com/vim/vim/commit/2e7d89b39883b0cfd3e615b02bd55186e00fb7ce
|
|
|
|
| |
It should not be needed as utf_fold should already work on its own.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
vim-patch:9.1.0503: cannot use fuzzy keyword completion
Problem: cannot use fuzzy keyword completion
(Maxim Kim)
Solution: add the "fuzzycollect" value for the 'completeopt'
setting, to gather matches using fuzzy logic (glepnir)
fixes: vim/vim#14912
closes: vim/vim#14976
https://github.com/vim/vim/commit/43eef882ff42e673af1e753892801ba20c5d002a
vim-patch:9.1.0549: fuzzycollect regex based completion not working as expected
Problem: fuzzycollect regex based completion not working as expected
Solution: Revert Patch v9.1.0503 (glepnir)
closes: vim/vim#15192
https://github.com/vim/vim/commit/600a12d08e7aeb95a6b02382bfee310aef9801dd
Co-authored-by: glepnir <glephunter@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: :bw leaves jumplist and tagstack data around
(Paul "Joey" Clark)
Solution: Wipe jumplist and tagstack references to the wiped buffer
(LemonBoy)
As documented the :bwipeout command brutally deletes all the references
to the buffer, so let's make it delete all the entries in the jump list
and tag stack referring to the wiped-out buffer.
fixes: vim/vim#8201
closes: vim/vim#15185
https://github.com/vim/vim/commit/4ff3a9b1e3ba45f9dbd0ea8c721f27d9315c4d93
Co-authored-by: LemonBoy <thatlemon@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: No way to get the arity of a Vim function
(Austin Ziegler)
Solution: Enhance get() Vim script function to return the function
argument info using get(func, "arity") (LemonBoy)
fixes: vim/vim#15097
closes: vim/vim#15109
https://github.com/vim/vim/commit/48b7d05a4f88c4326bd5d7a73a523f2d953b3e51
Co-authored-by: LemonBoy <thatlemon@gmail.com>
|