| Commit message (Collapse) | Author | Age |
... | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem:
`validate_option_value_args()` returns `OK` even if option name is
invalid or if option doesn't have the supported scope, which leads to
Neovim still trying to erroneously get/set the option in those cases,
which can lead to an assertion failure when `option_has_scope()` is
invoked. This issue miraculously doesn't exist in release builds since
the assertion is skipped and `(get/set)_option_value_for` returns if
there is an error set, but that is not the intended location for that
error to be caught.
Solution:
Make `validate_option_value_args()` return `FAIL` if there is an error
set, which causes the API option functions to return early instead of
trying to get/set an invalid option.
|
| | |
|
| |\
| | |
| | | |
refactor(windows)!: only support UCRT, even for mingw
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The newer UCRT runtime has native support for UTF-8, including forcing
it as the active codepage even before `main()` is called. This means
the c runtime will properly convert windows WCHAR:s into UTF-8 bytes,
as early as the argv/argc params to `main()` . Whereas MSVCRT does not
support this reliably and required us to use `wmain()`.
Only MSVC supports using manifest files directly as source files.
The solution for other Windows toolchains is to use a .rc file.
|
| | |
| | |
| | | |
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem:
Unnecessary C impl of default 'titlestring'.
Solutin:
Define it using format flags.
|
| | |
| | |
| | |
| | | |
Add kinds for various commands that output a list, the 'wildmode'
list, and for number prompts.
|
| | |
| | |
| | |
| | | |
Problem: NOLINT doesn't work with header checks.
Solution: Move these checks after ProcessLine() calls.
|
| | | |
|
| | | |
|
|\| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: too many strlen() calls in eval.c
Solution: Refactor eval.c to remove calls to STRLEN()
(John Marriott)
closes: vim/vim#16066
https://github.com/vim/vim/commit/bd4614f43d0eac4aff743132bab8e53b015ac801
Co-authored-by: John Marriott <basilisk@internode.on.net>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem:
If there's an error in `FileType` autocmd, the filetype get-opt buffer
doesn't get cleaned up.
Solution:
Call `aucmd_restbuf`.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Not possible to only set a "redraw later" type with
nvim__redraw, which seems to be desired for the
treesitter highlighter.
Solution: Do not update the screen when "flush" is explicitly set to
false and only redraw later types are present. In that case,
do not call ui_flush() either.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: curswant not set on gm in folded line
(citizenmatt)
Solution: in a folded line, call update_curswant_force()
fixes: vim/vim#11596
closes: vim/vim#11994
closes: vim/vim#15398
https://github.com/vim/vim/commit/9848face747ba91282d34a96dcb966bcb410bf2b
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
**Problem:** Despite the LSP providing the option for language servers
to specify a range with a hover response (for highlighting), Neovim does
not give the option to highlight this range.
**Solution:** Add an option to `buf.hover()` which causes this range to
be highlighted.
Co-authored-by: Mathias Fußenegger <mfussenegger@users.noreply.github.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: nvim__redraw's "range" marks a buffer range for redraw, and subsequently
flushes the UI without updating the windows containing that buffer.
Solution: Implicitly update the screen, unless specified otherwise.
Only update the screen with the last call of the treesitter
on_changedtree() callback.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Separate message emitted for each newline present in Lua
print() arguments.
Solution: Make msg_multiline() handle NUL bytes. Refactor print() to use
msg_multiline(). Refactor vim.print() to use print().
|
| | |
| | |
| | | |
Fix regression from #31195
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Documentation for "hl_group" in nvim_buf_set_extmark() is
unclear. "hl_group" in nvim_echo() does not accept
highlight group id.
Solution: Move documentation for highlight group name/id to first
mention of hl_group. Update nvim_echo() to accept highlight
group id.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Floating windows with focusable set to false can reasonably be
expected to be UI elements but are listed in some outputs that
should contain only regular windows.
Solution: Hide unfocusable floating windows from the default tabline and
:tabs.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem:
The way option scopes currently work is inflexible and does not allow for nested
option scopes or easily finding the value of an option at any arbitrary scope
without having to do long handwritten switch-case statements like in
`get_varp()`. `.indir` is also confusing and redundant since option indices for
each scope can be autogenerated.
Solution:
Expand option scopes in such a way that an option can support any amount of
scopes using a set of scope flags, similarly to how it's already done for option
types. Also make options contain information about its index at each scope it
supports. This allows for massively simplifying `get_varp()` and
`get_varp_scope()` in the future by just using a struct for options at each
scope. This would be done by creating a table that stores the offset of an
option's variable at a scope by using the option's index at that scope as a key.
This PR also autogenerates enums for option indices at each scope to remove the
need for `.indir` entirely, and also to allow easily iterating over options all
options that support any scope.
Ref: #29314
|
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: too many strlen() calls in getchar.c
Solution: refactor code and reduce strlen() calls
(John Marriott)
closes: vim/vim#16017
https://github.com/vim/vim/commit/e7a1bbf2102ecd2083613ff18d7d46c45d1e568e
Co-authored-by: John Marriott <basilisk@internode.on.net>
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Problem: No longer able to show prompt messages with vim.ui_attach().
Solution: Do not execute callback in fast context for prompt message
kinds. These events must be safe to show the incoming message
so the event itself serves to indicate that the message
should be shown immediately.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: setting 'cmdheight' may cause hit-enter-prompt and echo output
to be missing
Solution: Before cleaning the cmdline, check the need_wait_return flag
(nwounkn)
closes: vim/vim#13432
https://github.com/vim/vim/commit/2e48567007f2becd484a3c3dd0706bf3a0beeae7
Co-authored-by: nwounkn <nwounkn@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: message history is fixed to 200
Solution: Add the 'msghistory' option, increase the default
value to 500 (Shougo Matsushita)
closes: vim/vim#16048
https://github.com/vim/vim/commit/4bd9b2b2467e696061104a029000e9824c6c609e
Co-authored-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Co-authored-by: Milly <milly.ca@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Lua callbacks for "msg_show" events with vim.ui_attach() are
executed when it is not safe.
Solution: Disallow non-fast API calls for "msg_show" event callbacks.
Automatically detach callback after excessive errors.
Make sure fast APIs do not modify Nvim state.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
**Problem:** Currently node names with non-alphanumeric, non
underscore/hyphen characters (only possible with anonymous nodes) are
not given a proper error message. See tree-sitter issue 3892 for more
details.
**Solution:** Apply a different scanning logic to anonymous nodes to
correctly identify the entire node name (i.e., up until the final double
quote)
|
| |
| |
| |
| |
| | |
This makes it possible to use HLF_ values directly as highlight id:s
and avoids +1 adjustments especially around messages.
|
| |
| |
| |
| |
| | |
Problem: Crash when initializing for --startuptime errors.
Solution: Report the error to stderr, as neither logging nor messages
have been initialized yet.
|
| | |
|
| |\
| | |
| | | |
feat(ext_messages): add hl_id to ext_messages chunks
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Ext_messages chunks only contain the highlight attr id, which
is not very useful for vim.ui_attach() consumers.
Solotion: Add highlight group id to message chunks, which can easily be
used to highlight text in the TUI through nvim_buf_set_extmark():
hl_group = synIDattr(id, "name").
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Highlight group id is not propagated to the end of the message call
stack, where ext_messages are emitted.
Solution: Refactor message functions to pass along highlight group id
instead of attr id.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: there are a few typos in the source.
Solution: Correct typos (zeertzjq).
closes: vim/vim#16026
https://github.com/vim/vim/commit/7c5152826f61bc968ba539ff6db3a55e75556bf2
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is needed specifically for the second signature of
add_custom_command, which appends an operation to an existing target.
This will prevent the cmake warning CMP0175.
Reference: https://cmake.org/cmake/help/latest/policy/CMP0175.html
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Co-authored-by: Ernie Rael <errael@raelity.com>
Co-authored-by: Famiu Haque <famiuhaque@proton.me>
Co-authored-by: Jade <spacey-sooty@proton.me>
Co-authored-by: glepnir <glephunter@gmail.com>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
| | |
| | |
| | |
| | | |
Fixes #31107
|
| | | |
|
| |\ \
| | | |
| | | | |
fix(inccommand): ensure cursor is where it belongs
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Inccommand preview callback may flush inaccurate cmdline cursor position.
Solution: Ensure cursor is where it belongs when doing command preview.
|
| | | |
| | | |
| | | | |
Conversely, don't use them for global options.
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem:
The `varp` argument for `set_option` is extraneous as the option's
variable pointer can be retrieved using the option's index and flags.
Solution:
Remove the `varp` argument for `set_option`
|
| | | |
|
| | |
| | |
| | |
| | | |
Problem: Can receive dozens of <MouseMove> events for same cell position. #30965
Solution: Leverage check_multiclick() to detect if cell position is unchanged.
|
| |\ \
| | | |
| | | | |
refactor(options): remove fileformat macros
|
| | | | |
|