| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
|
|
| |
Problem: sort() fails when ignoring case.
Solution: Accept a number one argument in sort().
https://github.com/vim/vim/commit/9cd4c0fb98cb4fe6164e4e1751c21a5a5229b9cc
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|
|
|
|
|
|
|
|
| |
Problem: List sort test fails.
Solution: Pass a valid "how" argument.
https://github.com/vim/vim/commit/2afeb408310f4f0185ce5eec079b51a3fe415a33
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Functions implementing reduce and map are too long.
Solution: Use a function for each type of value. Add a few more test cases
and add to the help. (Yegappan Lakshmanan, closes vim/vim#9370)
https://github.com/vim/vim/commit/389b72196e6aaeafe3f907c73d271f2c6b931140
Partial port as this doesn't include handling for non-materialized List.
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Cannot use reduce() for a string.
Solution: Make reduce() work with a string. (Naruhiko Nishino, closes vim/vim#9366)
https://github.com/vim/vim/commit/0ccb5842f5fb103763d106c7aa364d758343c35a
Omit tv_get_first_char() as it doesn't really save much code.
Co-authored-by: rbtnn <naru123456789@gmail.com>
|
|
|
|
|
|
|
|
|
| |
Problem: Some lines of code not covered by tests.
Solution: Add a few more test cases. (Dominique Pellé, closes vim/vim#9453)
https://github.com/vim/vim/commit/8bfa0eb863357c1013024233ebb2e95a0a848002
Co-authored-by: Dominique Pelle <dominique.pelle@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Cannot use a script-local function for 'foldtext'.
Solution: Expand "s:" and "<SID>". (Yegappan Lakshmanan, closes vim/vim#9411)
https://github.com/vim/vim/commit/27708e6c7b6f444fd599f3dc5015336b002b874d
Cherry-pick test_filter_map.vim change from patch 8.2.3871.
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Leaking memory in map() and filter(), cannot use a string argument
in Vim9 script.
Solution: Fix the leak, adjust the argument check, also run the tests as
Vim9 script. (Yegappan Lakshmanan, closes vim/vim#9354)
https://github.com/vim/vim/commit/2d877599ee1cede063ef4abe3a2272e67c116238
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|
|
|
|
|
|
|
|
|
| |
Problem: Cannot filter or map characters in a string.
Solution: Make filter() and map() work on a string. (Naruhiko Nishino,
closes vim/vim#9327)
https://github.com/vim/vim/commit/c479ce032f5d4d14bab9e479acbf42d758879893
Co-authored-by: rbtnn <naru123456789@gmail.com>
|
|
|
|
|
|
|
|
| |
Update runtime files.
https://github.com/vim/vim/commit/1b884a0053982335f644eec6c71027706bf3c522
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|
|
|
|
|
|
|
|
| |
Problem: Error for const argument to mapnew().
Solution: Don't give an error. (closes vim/vim#7400)
https://github.com/vim/vim/commit/57cf4973a283941c92744554474b2c52ce892fd1
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|
|
|
|
|
|
|
|
| |
Problem: Vim9: map() may change the list or dict item type.
Solution: Add mapnew().
https://github.com/vim/vim/commit/ea696852e7abcdebaf7f17a7f23dc90df1f5e2ed
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|
|
|
| |
A command typed in the cmdwin and executed with `<CR>` is expected to be
executed in the context of the old curwin/buf, so it shouldn't be changed.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Vim9: not enough tests run with Vim9.
Solution: Run a few more tests in Vim9 script and :def function. Fix
islocked(). Fix error for locking local variable.
https://github.com/vim/vim/commit/bd77aa92744d79f3ba69aee713739ec17da474f6
Omit GLV_NO_DECL: Vim9 script only.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|
|
|
|
|
|
|
|
| |
Problem: Vim9: not enough tests run with Vim9.
Solution: Run a few more tests in Vim9 script and :def function.
https://github.com/vim/vim/commit/3e9c0b9608736e7d888f3141443f8754143364d7
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|
|
| |
Allow users to filter diagnostics by specifying severities
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: dict-completion does not respect region
Solution: respect selected region in dict completion
Set do_region to zero as we don't want a complete dump of the matching
words, we want the code to filter them according to the user's selected
region.
closes: vim/vim#12792
closes: vim/vim#7025
https://github.com/vim/vim/commit/e98fb643ec5f84f9088c8b1434a0bd6ff988dc2d
Co-authored-by: LemonBoy <thatlemon@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: virtcol2col returns last byte of a multi-byte char
Solution: Make it return the first byte for a multi-byte char
closes: vim/vim#12786
closes: vim/vim#12799
https://github.com/vim/vim/commit/b209b86e6636a16088ccacdac98213416c065bf2
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
|
|
|
|
|
|
|
|
| |
Problem: duplicate test in message_test.c
Solution: Remove duplicate test and make functions static
closes: vim/vim#12803
https://github.com/vim/vim/commit/7772c93a3ec1ce60469e9aea9899687ae1141f34
|
|
|
|
|
|
|
|
| |
Problem: getcompletion() "cmdline" fails after :autocmd
Solution: Use set_cmd_context() instead of set_one_cmd_context().
closes: vim/vim#12804
https://github.com/vim/vim/commit/e4c79d36150431ffb97cb8952ec482af2e57f228
|
|
|
| |
Fixes: https://github.com/neovim/neovim/issues/23184
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Problem: Cannot use positional arguments for printf()
Solution: Support positional arguments in string formatting
closes: vim/vim#12140
https://github.com/vim/vim/commit/0c6181fec4c362eb9682d5af583341eb20cb1af5
Co-authored-by: Christ van Willegen <cvwillegen@gmail.com>
|
|
|
|
|
|
| |
Problem: Some corners of vim_snprintf() are not tested.
Solution: Add a test in C. (Dominique Pelle, closes vim/vim#5422)
https://github.com/vim/vim/commit/d2c946bacfedf4e506a4c6771758beddb87df3af
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: getcompletion() failes for user-defined commands
Solution: set context for completion function
closes: vim/vim#12681
closes: vim/vim#12680
https://github.com/vim/vim/commit/8ef1fbc0c3ca8dca32c352f3cf30e7a4b3096a94
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
|
|
| |
Problem: Terminal scrollback test is flaky.
Solution: Use INTERACT flag so the job doesn't exit immediately.
|
| |
|
|\
| |
| | |
feat(treesitter): update C parser and queries
|
| | |
|
| |
| |
| |
| | |
Problem: The result of keytrans() sometimes can't be translated back.
Solution: Recognize <t_xx> as a key.
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| | |
The terminal buffer closes automatically when using `:terminal` and the
command exits without an error. This messes up some tests that expect
the terminal buffer to still be open. We can force the buffer not to
close by passing an argument to `:terminal`. This can be anything, since
the shell-test stub simply prints whatever argument it's given.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Test_map_restore_sid fails in GUI
Solution: Feed an unsimplified Ctrl-B
closes: vim/vim#12770
https://github.com/vim/vim/commit/7fe108990423535fa7cb804deae49d64831e25a9
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: incsearch test not sufficient (after 9.0.1691)
Solution: add an additional test
https://github.com/vim/vim/commit/73b8209266f0cd5c6d4df77b3700172d9c26df31
Co-authored-by: Christ van Willegen <cvwillegen@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem:
Treesitter highlighting is slow for large files with lots of injections.
Solution:
Only parse injections we are going to render during a redraw cycle.
---
- `LanguageTree:parse()` will no longer parse injections by default and
now requires an explicit range argument to be passed.
- `TSHighlighter` now parses injections incrementally during on_win
callbacks for the line range being rendered.
- Plugins which require certain injections to be parsed must run
`parser:parse({ start_row, end_row })` before using the tree.
|
| |
| |
| |
| |
| |
| | |
Apply linematch filler computation only if the hunk is actually
linematched.
Fixes #24580
|
| |
| |
| |
| |
| |
| | |
Problem: Temporarily changing current window in a script causes
CursorMoved to be triggerd.
Solution: Don't trigger CursorMoved if neither curwin nor cursor
changed between two checks.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: cannot store custom data in quickfix list
Solution: add `user_data` field for the quickfix list
closes: vim/vim#11818
https://github.com/vim/vim/commit/ca6ac99077d2e6d020a34267aa5e0fbc4d23dc38
Co-authored-by: Tom Praschan <13141438+tom-anders@users.noreply.github.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: wrong mapping applied when replaying a char search
Solution: Store a NOP after the ESC
closes: vim/vim#12708
closes: vim/vim#6350
https://github.com/vim/vim/commit/bacc83009bc38c9ba0247aaa22b76d1993d57993
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Ctrl-Q not handled like Ctrl-V in replace mode
Solution: Handle Ctrl-Q like Ctrl-V
closes: vim/vim#12686
closes: vim/vim#12684
https://github.com/vim/vim/commit/2d63e4b3ccc0bb34db21a3c1d024cb114f8c4071
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
(#24667)
Problem: wrong viewport restored for incsearch and smoothscroll
Solution: Save and restore skipcol as well
closes: vim/vim#12713
https://github.com/vim/vim/commit/7b7b4cb6f274e7bace127107b0d2752133c4020b
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: mapset() not properly handling script ID
Solution: replace_termcodes() may accept a script ID
closes: vim/vim#12699
closes: vim/vim#12697
https://github.com/vim/vim/commit/7e0bae024d4c1673cff31763227ad52b936fa56f
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: undotree() only works for the current buffer
Solution: Add an optional "buffer number" parameter to undotree(). If
omitted, use the current buffer for backwards compatibility.
closes: vim/vim#4001
closes: vim/vim#12292
https://github.com/vim/vim/commit/5fee11114975b7405b7ccd3ee8758e54bf559760
Co-authored-by: Devin J. Pohly <djpohly@gmail.com>
|
|/
|
|
|
|
|
|
|
|
|
|
| |
* feat(treesitter): add injection language fallback
Problem: injection languages are often specified via aliases (e.g.,
filetype or in upper case), requiring custom directives.
Solution: include lookup logic (try as parser name, then filetype, then
lowercase) in LanguageTree itself and remove `#inject-language`
directive.
Co-authored-by: Lewis Russell <me@lewisr.dev>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a collection of various PRs from github that all require a minor
patch number:
1) https://github.com/vim/vim/pull/12612
Do not conflate dictionary key with end of block
2) https://github.com/vim/vim/pull/12729:
When saving and restoring 'undolevels', the constructs `&undolevels` and
`:set undolevels` are problematic.
The construct `&undolevels` reads an unpredictable value; it will be the
local option value (if one has been set), or the global option value
(otherwise), making it unsuitable for saving a value for later
restoration.
Similarly, if a local option value has been set for 'undolevels',
temporarily modifying the option via `:set undolevels` changes the local
value as well as the global value, requiring extra work to restore both
values.
Saving and restoring the option value in one step via the construct
`:let &undolevels = &undolevels` appears to make no changes to the
'undolevels' option, but if a local option has been set to a different
value than the global option, it has the unintended effect of changing
the global 'undolevels' value to the local value.
Update the documentation to explain these issues and recommend explicit
use of global and local option values when saving and restoring. Update
some unit tests to use `g:undolevels`.
3) https://github.com/vim/vim/pull/12702:
Problem: Pip requirements files are not recognized.
Solution: Add a pattern to match pip requirements files.
4) https://github.com/vim/vim/pull/12688:
Add indent file and tests for ABB Rapid
5) https://github.com/vim/vim/pull/12668:
Use Lua 5.1 numeric escapes in tests and add to CI
Only Lua 5.2+ and LuaJIT understand hexadecimal escapes in strings. Lua
5.1 only supports decimal escapes:
> A character in a string can also be specified by its numerical value
> using the escape sequence \ddd, where ddd is a sequence of up to three
> decimal digits. (Note that if a numerical escape is to be followed by a
> digit, it must be expressed using exactly three digits.) Strings in Lua
> can contain any 8-bit value, including embedded zeros, which can be
> specified as '\0'.
To make sure this works with Lua 5.4 and Lua 5.1 change the Vim CI to
run with Lua 5.1 as well as Lua 5.4
6) https://github.com/vim/vim/pull/12631:
Add hurl filetype detection
7) https://github.com/vim/vim/pull/12573:
Problem: Files for haskell persistent library are not recognized
Solution: Add pattern persistentmodels for haskell persistent library
closes: vim/vim#12612
closes: vim/vim#12729
closes: vim/vim#12702
closes: vim/vim#12688
closes: vim/vim#12668
closes: vim/vim#12631
closes: vim/vim#12573
Already ported but wasn't marked: vim-patch:ad34abee2583
https://github.com/vim/vim/commit/6efb1980336ff324e9c57a4e282530b952fca816
Co-authored-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: lacygoill <lacygoill@lacygoill.me>
Co-authored-by: Michael Henry <drmikehenry@drmikehenry.com>
Co-authored-by: ObserverOfTime <chronobserver@disroot.org>
Co-authored-by: KnoP-01 <knosowski@graeffrobotics.de>
Co-authored-by: James McCoy <jamessan@jamessan.com>
Co-authored-by: Jacob Pfeifer <jacob@pfeifer.dev>
Co-authored-by: Borys Lykah <lykahb@fastmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
* vim-patch:2eb413f89b97
detect filetype for `*.vsh` and `*.vv` files (vim/vim#12692)
Co-authored-by: Turiiya <34311583+tobealive@users.noreply.github.com>
https://github.com/vim/vim/commit/2eb413f89b97a498679fbe68c7564b9e41c5af7f
Co-authored-by: Turiiya <34311583+ttytm@users.noreply.github.com>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
|
|
|
|
|
|
|
| |
If an iterator pipeline stage returns nil as its first return value, the
other return values are ignored and it is treated as if that stage
returned only nil (the semantics of returning nil are different between
different stages). This is consistent with how for loops work in Lua
more generally, where the for loop breaks when the first return value
from the function iterator is nil (see :h for-in for details).
|
|
|
|
|
|
|
| |
feat: recognize geojson extension as json filetype (vim/vim#12636)
https://github.com/vim/vim/commit/077ade4f67036e652b99f8f858c9ca1c1dd22245
Co-authored-by: Dominique Pellé <dominique.pelle@gmail.com>
|