| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
| |
For example, when renaming /path/to/dir, buffers like
fern://drawer/file:///path/to/dir, /path/to/dir123 should not be
matched.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: buffer-completion code too complicated and does not always
find all matches (irisjae)
Solution: do not try to anchor pattern to beginning of line or
directory-separator, always return all matches
Note: we are considering the non-fuzzy buffer-matching here.
Currently, the buffer-completion code makes 2 attempts to match a
pattern against the list of available patterns. First try is to match
the pattern and anchor it to either the beginning of the file name or
at a directory-separator (// or \\).
When a match is found, Vim returns the matching buffers and does not try
to find a match anywhere within a buffer name. So if you have opened two
buffers like /tmp/Foobar.c and /tmp/MyFoobar.c using `:b Foo` will only
complete to the first filename, but not the second (the same happens
with `getcompletion('Foo', 'buffer')`).
It may make sense, that completion priorities buffer names at directory
boundaries, but it inconsistent, may cause confusion why a certain
buffer name is not completed when typing `:b Foo<C-D>` which returns
only a single file name and then pressing Enter (to switch to that
buffer), Vim will error with 'E93: More than one match for Foo').
Similar things may happen when wiping the /tmp/Foobar.c pattern and
afterwards the completion starts completing other buffers.
So let's simplify the code and always match the pattern anywhere in the
buffer name, do not try to favor matches at directory boundaries. This
is also simplifies the code a bit, we do not need to run over the list
of buffers several times, but only twice.
fixes vim/vim#13894
closes: vim/vim#14082
https://github.com/vim/vim/commit/0dc0bff000fd804c6b0778ccc4554a4e4c82c8c9
Cherry-pick test_cmdline.vim from patch 9.1.0019 as it already passes.
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
|
|
| |
Followup to neovim/neovim#27443
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#27605)
Problem: using "C" and 've=all' set, doesn't include composing chars
when changing a line, keeps the composing chars for whatever
is typed afterwards.
Solution: Use mb_head_off() and mb_ptr2len() instead of mb_tail_off().
(zeertzjq)
closes: vim/vim#14083
https://github.com/vim/vim/commit/048761bcd40ec630fd3e039f0066cf4e484ceabd
|
|
|
|
|
|
|
|
|
|
| |
* Convert lua_pushlstring from a macro to a function
* strerror_r is not available on mingw
* Support getting io.popen results on file:close() on PUC-Rio Lua 5.1
* Fix missing closing parenthesis in preprocessor macro
* fix detection of LUA_USE_WINDOWS define
Also switch to new org
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
list char (#27600)
Problem: Virtual text with text_wrap 'wrap' was effectively being
truncated by a break conditional on the EOL list character
being added to the screen line. (BigPeet)
Solution: Remove the condition that was leading to the early break and
instead fix a similar but incorrectly written outer condition
that checks if there is more to add at the end of the screen
line. (Dylan Thacker-Smith)
Also, related:
- update comment in win_line()
- remove no longer necessary at_end_str variable in win_line()
fixes: vim/vim#12725
closes: vim/vim#14079
https://github.com/vim/vim/commit/f548ae7b6357c7934411df243bc987800c9b76d1
Co-authored-by: Dylan Thacker-Smith <dylan.ah.smith@gmail.com>
|
|
|
|
| |
* use builtin function
* buffer:// was removed in 236c20795eb9f11e21e0719b735ea741711acc08.
|
|
|
|
|
|
|
|
|
| |
runtime(doc) Update help text for matchbufline() and matchstrlist()
closes: vim/vim#14080
https://github.com/vim/vim/commit/a35235e824bb77df0cebdb2bd290e13f1201b292
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
|
|\
| |
| | |
perf(os/env): os_getenv() allocation when there is no env var set
|
|/
|
|
|
|
|
|
|
|
| |
os_getenv("FOO") caches the result when $FOO is set to something
non-empty. However, when $FOO was not set, every new call to
os_getenv("FOO") would allocate a temporary scratch buffer to
immediately throw away.
This has an huge impact e.g. on logging which depends on potentially
non-set env vars.
|
|
|
| |
Rendered obsolete by c6d747e6a5227e17556c62e16ed054398eb1a89a.
|
| |
|
|\
| |
| | |
fix(marktree): do not count certain marks twice when checking for overlap
|
| |
| |
| |
| | |
fixes #27046
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
runtime(spec): Recognize SourceLicense tag name in RPM spec syntax (#14046)
rpm-4.19.0 added a new SourceLicense tag. It is used at the same place
as License tag.
This patch adds the new tag name into a Vim syntax file to be
highligted the same way as the License tag. Note that it has to be
defined in the syntax file before Source\d* regexp. Otherwise it's not
recognized by Vim.
https://github.com/vim/vim/commit/315cd1fbcbba7c44ec8743f03645bfcaef58bd55
Co-authored-by: Petr Pisar <ppisar@redhat.com>
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
runtime(vim): Update base-syntax, fix :unabbrev highlighting (vim/vim#14077)
Fixes issue vim/vim#7876
https://github.com/vim/vim/commit/1624970d321cfb637ac76232df9c9b3f2fae904c
Co-authored-by: dkearns <dougkearns@gmail.com>
|
|\ \
| | |
| | | |
vim-patch:9.1.{0120,0126,0127): add getregion() function
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Naming a non-pointer variable "oap" is strange.
Solution: Rename it to "oa". Also prevent using freed memory in case of
memory allocation failure. (zeertzjq)
closes: vim/vim#14075
https://github.com/vim/vim/commit/5e3674b42da10b7e7c72d1f20f9a15379af1b60a
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Internal error when passing mark in another buffer to
getregion().
Solution: Don't allow marks in another buffer (zeertzjq)
closes: vim/vim#14076
Internal error when passing mark in another buffer to getregion()
https://github.com/vim/vim/commit/421b597470c118871c7081de00dd065e0e000b7e
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: hard to get visual region using Vim script
Solution: Add getregion() Vim script function
(Shougo Matsushita, Jakub Łuczyński)
closes: vim/vim#13998
closes: vim/vim#11579
https://github.com/vim/vim/commit/3f905ab3c4f66562f4a224bf00f49d98a0b0da91
Cherry-pick changes from patch 9.1.0122, with :echom instead of :echow.
Co-authored-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Co-authored-by: Jakub Łuczyński <doubleloop@o2.pl>
|
| |
| |
| |
| | |
As the InspectTree buffer is now a valid tree-sitter query tree, we can
use the bundled fold queries to have folding for the tree.
|
| |
| |
| |
| |
| |
| | |
Problem: When terminal is autocloses, it blocks other events, like
`BufEnter`.
Solution: Use `nested = true`.
|
| |
| |
| |
| |
| |
| |
| |
| | |
runtime(java): add syntax support for Java switch expressions (#9124)
https://github.com/vim/vim/commit/20d61e1b94e5ac571b3a313765517582f86616f3
Co-authored-by: Nick Hanley <nicholasjhanley@gmail.com>
|
| |
| |
| |
| |
| |
| | |
There is now a new tmux 3.4 release that queries background color from
the parent terminal if background is not set in tmux, so removing the
passthrough still works when background is not set in tmux, and fixes
the incorrect detection when background is set in tmux.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem:
When a function has multiple signatures, putting its tag at the last one
may make one think that's its only signature.
Solution:
When a function has multiple signatures, put its tag at the first one.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* fix: Use os_uname() to check for Linux by @cryptomilk in #686
* docs: typo in a table field name by @Bilal2453 in #689
* docs: most new_handle methods won't return fail by @Bilal2453 in #683
* test-tty: Don't depend on stdin/stdout handle type by @squeek502 in #688
* Bump/libuv by @zhaozg in #690
* Annotate .gitmodules with branch and tag by @creationix in #693
|
|/
|
|
|
|
|
|
| |
runtime(tmux): Update tmux syntax (#14065)
https://github.com/vim/vim/commit/e8f6af60917862d04a82efb9e900200fd36f798d
Co-authored-by: Eric Pruitt <eric.pruitt@gmail.com>
|
|
|
|
|
|
|
|
| |
Currently, highlight.on_yank() does buffer-local highlighting, this PR
makes it window scoped.
Also fix the problem that when yanking in a buffer, moving to another
buffer, and yanking before the original buffer highlight disappears, the
original buffer highlight won't disappear on timeout.
|
|
|
|
| |
Now that terminal_open() no longer returns a value, the variable name
"rv" is confusing, and "term" makes more sense anyway.
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
feat(extmark): window scoped namespace
|
|/
|
|
| |
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
|
|
|
|
|
|
|
|
|
| |
(#27558)
To align the output of `nvim_get_hl` with its documentation -- which
points to `nvim_set_hl`, remove mentions of the keys `foreground`,
`background` and `special`.
The long keys are are still supported (via fallback checks inside
`dict2hlattrs`), but the `fg`, `bg` and `sp` keys are preferenced.
|
| |
|
|\
| |
| | |
refactor(api): make freeing of return-value opt-in instead of opt out.
|
| | |
|
|/
|
|
|
|
|
|
|
| |
As only a few API functions make use of explicit freeing of the return
value, make it opt-in instead. The arena is always present under the
hood, so `Arena *arena` arg now doesn't mean anything other than getting
access to this arena. Also it is in principle possible to return an
allocated value while still using the arena as scratch space for other
stuff (unlikely, but there no reason to not allow it).
|
|
|
|
|
|
|
| |
runtime(misc): announce adoption of various runtime files
https://github.com/vim/vim/commit/f9ca139e3aa12dd03177ebba5eedcee4f0836f27
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
runtime(filetype): Modula-2 files with priority not detected (vim/vim#14055)
Problem: Modula-2 files with a specified priority are not detected.
Solution: Match the priority syntax in module header lines when
performing heuristic content detection.
Disable the :defcompile debug line. This was accidentally left enabled
in commit 68a8947.
https://github.com/vim/vim/commit/ef387c062bb1966187d3f307d697d80162051a0d
Co-authored-by: dkearns <dougkearns@gmail.com>
|
|
|
|
|
|
|
|
|
| |
Problem:
`vim.ui.open` uses `wslview`, which is slow and require a package from external PPA:
https://wslutiliti.es/wslu/install.html#ubuntu
Solution:
Use `explorer.exe` instead. WSL supports it by default:
https://learn.microsoft.com/en-us/windows/wsl/filesystems#view-your-current-directory-in-windows-file-explorer
|
|\
| |
| | |
refactor(api): use an arena for nvim_parse_expression
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Help outlines, invoked by `gO`, displays the help section titles in the
location list window. This feature is implemented by setting the buffer
lines after opening the window, but this implementation breaks the
assumption that the quickfix window texts are consistently constructed
by the quickfix list items. I think we can use the conceal feature here.
Using conceal here improves interoperability between quickfix plugins,
and also simplifies the outline implementation.
Originally reported at https://github.com/itchyny/vim-qfedit/issues/12
|
|/ |
|
|\
| |
| | |
refactor(api): reduce temporary allocations when replacing lines
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The way ml_replace_buf is implemented makes it unfriendly for
being used in a loop: every call allocates a scratch buffer for putting
the line into the "dirty" state. This then immediately needs to be freed
as the next ml_replace_buf and/or ml_append_buf call will flush that buffer.
It's better to later pay the price of allocating the scratch buffer only if
the line is being immediately edited (likely when using the API to only
change one line) with an extra memcpy, than allocating that buffer
multiple times every time the API is called.
Of course, a separate xmalloc/xfree cycle for each time the dirty line
changes is unwanted to begin with. But fixing that is a later refactor.
|