| Commit message (Collapse) | Author | Age |
... | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem:
Validation messages are not consistently formatted.
- Parameter names sometimes are NOT quoted.
- Descriptive names (non-parameters) sometimes ARE quoted.
Solution:
Always quote the `name` value passed to a VALIDATE macro _unless_ the
value has whitespace.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: uv_tty_set_mode on stdout in Windows exits with error.
Cause: Windows cannot set the properties of the output of a tty.
Solution: Remove call to uv_tty_set_mode.
Ref: #21445
Ref: https://github.com/libuv/libuv/commit/88634c1405097c19582e870d278dd0e29dc55455#r100598822
|
| |\ \ \
| | | | |
| | | | | |
custom statusline crash containing unprintable unicode
|
| | | | | |
|
| |\ \ \ \
| | | | | |
| | | | | | |
fix(column): no longer reset nrwidth_line_count for 'statuscolumn'
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Problem: `build_statuscol_str()` still has arguments that were
necessary for building a status column string in
`number_width()`, which was abandoned in #22094.
Solution: Remove unused arguments.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Problem: We still explicitly reset `nrwidth_line_count` when changing
`'number'` or `'relativenumber'` but this is no longer
needed since the introduction of a `statuscol_line_count`.
Solution: Remove reset of `nrwidth_line_count`. Resolve
https://github.com/neovim/neovim/pull/22094#issuecomment-1416168926.
|
| |\ \ \ \ \
| | | | | | |
| | | | | | | |
perf(column): only build fold/sign column when present in 'statuscolumn'
|
| | | | | | | |
|
| | |/ / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Problem: The fold and sign column is built and stored regardless of
whether the corresponding item is present in 'statuscolumn'.
Solution: Since the 'statuscolumn' parses itself, we can defer
building the columns until the corresponding item is
actually encountered.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
- VALIDATE() takes a format string
- deduplicate check_string_array
- VALIDATE_RANGE
- validate UI args
|
| | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem:
- API validation involves too much boilerplate.
- API validation errors are not consistently worded.
Solution:
Introduce some macros. Currently these are clumsy, but they at least
help with consistency and avoid some nesting.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: The cursorline highlight logic checks for `w_cursor.lnum`
which may be different from the line number passed to
`win_line()` even when the cursor is actually on that line.
Solution: Update cursor line highlight logic to check for the line
number of the start of a closed fold if necessary.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
errors (#22252)
Problem: Setting 'formatoptions' with :let doesn't check for errors.
Solution: Pass "errbuf" to set_string_option(). (Yegappan Lakshmanan,
closes vim/vim#11974, closes vim/vim#11972)
https://github.com/vim/vim/commit/32ff96ef018eb1a5bea0953648b4892a6ee71658
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We need higher level and more meaningful cmake options. Having a cmake
option for only controlling compiler flags is probably not worth it as
the same can be achieved with:
cmake -B build -D CMAKE_C_FLAGS=<compiler option>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Detect if on CI by checking that the CI environment variable is set to "true".
This is a common pattern among CI providers, including github actions and
cirrus.
|
| | | | |
| | | | |
| | | | |
| | | | | |
Neither ui/screen.lua nor Neovim Qt keep cursor position after resizing.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem:
When not inside an Ex command, screen_resize() calls update_screen(),
which calls screenclear() and set the screen as valid. However, when
inside an Ex command, redrawing is postponed so update_screen() screen
doesn't do anything, and the screen is still invalid after the resize,
causing ui_comp_raw_line() to be no-op until update_screen() is called
on the main loop.
Solution:
Restore the call to screenclear() inside screen_resize() so that the
screen is invalid after screen_resize(). Since screenclear() changes
redraw type from UPD_CLEAR to UPD_NOT_VALID, it is called at most once
for each resize, so this shouldn't change how much code is run in the
common (not inside an Ex command) case.
|
| | | | |
| | | | |
| | | | | |
refactor: reduce scope of locals as per the style guide
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: The option initialization function is too long.
Solution: Move code to separate functions. (Yegappan Lakshmanan,
closes vim/vim#11966)
https://github.com/vim/vim/commit/6c41bedeed2a1f98fb9c55ff85634138782ad92a
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: 'statusline' only supports one "%=" item.
Solution: Add support for multiple "%=" items. (TJ DeVries, Yegappan
Lakshmanan, closes vim/vim#11970, closes vim/vim#11965)
https://github.com/vim/vim/commit/3ec78f973fdaec2cea8e036ed38037b2fe40670b
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: Change for triggering incsearch not sufficiently tested.
Solution: Add a test case. Simplify the code. (closes vim/vim#11971)
https://github.com/vim/vim/commit/412e0e4ed903682f352d8ea58ded480930cc664f
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: Inserting a register on the command line does not trigger
incsearch or update hlsearch.
Solution: Have cmdline_insert_reg() return CMDLINE_CHANGED when appropriate
and handle it correctly. (Ken Takata, closes vim/vim#11960)
https://github.com/vim/vim/commit/c4b7dec38292fe1cfad7aa5f244031fc6f7c7a09
Co-authored-by: K.Takata <kentkt@csc.jp>
|
| | | | |
| | | | |
| | | | |
| | | | | |
BREAKING CHANGE: Unsaved changes are now preserved rather than discarded
when stdio channel is closed.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
refactor: replace char_u with char
Work on https://github.com/neovim/neovim/issues/459
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
MSVC has 4 different warning levels: 1 (severe), 2 (significant), 3
(production quality) and 4 (informational). Enabling level 3 warnings
mostly revealed conversion problems, similar to GCC/clang -Wconversion
flag.
|
| | |/ /
| |/| | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
(#22210)
Problem: Wrong value for $LC_CTYPE makes the environ test fail.
Solution: Unset $LC_CTYPE when running tests. (closes vim/vim#11963)
https://github.com/vim/vim/commit/962d91643520ec3748fcf5af3263d89ccfcdda92
Co-authored-by: WuerfelDev <dev@wuerfeldev.de>
|
| | | | |
|
| |\ \ \
| | | | |
| | | | | |
refactor(tests): integrate lua-client into core and use core for functionaltests
|
| | | | | |
|
| | | | |
| | | | |
| | | | | |
Only the most important variables should be shown by default.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
- <expr> mapping has no business saving and restoring the
low-level UI cursor. The cursor will be put in a reasonable
position after input is processed, chill out.
- TUI handles output needed for suspend
- vgetc() family of function does flushing
|
| |/ / /
| | | |
| | | |
| | | |
| | | | |
These are just ordinary boring events now. Modes already redraw events
themselves.
|
| | | |
| | | |
| | | |
| | | | |
When a TUI client has already stopped, handling UI events will cause a
heap-use-after-free, so ignore them.
|
| | | |
| | | |
| | | | |
Otherwise it will crash.
|
| | | |
| | | |
| | | | |
This will minimize duplication by only needing to specify required files for nvim and libnvim once.
|
| |\ \ \
| | | | |
| | | | | |
perf(ui): mitigate redraw latency regression from TUI refactor
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
While the new RPC encoder/decoder implementation in general should have
less overhead than the deleted UIBridge serializer previously used for
the TUI, it regresses on redraw latency in one important aspect.
The old bridge implementation allowed the TUI to process a
previous screen line internally in parallel with the main thread
rendering the next one in win_line etc. As printing the escape
sequences in highlighted cells has a considerable hit in profiles,
this has a substantial effect on redraw latency. The RPC implementation,
however, waits with sending any data until either a flush, or the buffer is full.
This change lowers the granularity of communication again, using an
adjustable threshold counted in number of cell events (discounting
long repeats and clearing as maximum a single extra event).
The current value is guesstimated to something simple on a reasonable
scale, which should be bigger than a single line, but multiple events
for a big multi-window screen.
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
The tests already have a summary at the end, there's no need for an
additional fail summary wrapper.
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Clang-tidy already does what check-single-includes does automatically on
top of its regular linting. It is also generator independent, so it
doesn't take an eternity to run on slower generators such as Visual
Studio.
|
| | | | |
| | | | |
| | | | |
| | | | | |
This will allow MSVC to use newer features not available in Vista and
Windows 7.
|
| | | | |
| | | | |
| | | | |
| | | | | |
Having separate copies makes it easier to not accidentally break
something when modifying the scripts.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This makes it easier to see that -D is referring to the entire
"<variable>=<value>", rather than only <variable>. It also help syntax
highlighters highlight built-in variables.
|
| |/ / /
| | | |
| | | | |
Closes https://github.com/neovim/neovim/issues/14552.
|