| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
|
|
|
|
| |
Problem: Scrolling two lines with even line count and 'scrolloff' set.
Solution: Adjust how the topline is computed. (closes vim/vim#10545)
https://github.com/vim/vim/commit/1d6539cf36a7b6d1afe76fb6316fe662f543bf60
Cherry-pick test_scroll_opt.vim changes from patch 8.2.1432.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The original motivation for this change came from developping
https://github.com/neovim/neovim/pull/22159, which will require adding
more autocommand creation to Neovim's startup sequence.
This change requires lightly editing a test that expected no autocommand
to have been created from lua.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem:
The sleep before collecting the initial screen state is confusing and
may lead to unexpected success if it comes after a blocking RPC call.
Solution:
Remove that sleep and add an "intermediate" argument.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | | |
custom statusline crash containing unprintable unicode
|
| | | |
|
|\ \ \
| | | |
| | | | |
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.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
If nothing matched in match_from_hashbang, also check the file extension table.
For a hashbang like '#!/bin/env foo', this will set the filetype to 'fooscript'
assuming the filetype for the 'foo' extension is 'fooscript' in the extension
table.
|
|\ \ \
| | | |
| | | | |
feat(treesitter): playground improvements
|
| | | |
| | | |
| | | |
| | | |
| | | | |
This allows vim.treesitter.show_tree() to work on buffers where the
filetype does not match the parser language name e.g, bash/sh.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | |
| | | |
| | | |
| | | | |
Instead use the cmake option, which should act as the definitive source
to determine whether we use CI or not.
|
| | | |
| | | |
| | | | |
Co-authored-by: Gregory Anders <greg@gpanders.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | | |
This replicates the old native.pid_wait(self._pid)
call, except using the proper libuv pattern (run loop unitil exit
callback)
|
| | | |
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
Eliminates lua-client and non-static libluv as test time dependencies
Note: the API for a public lua-client is not yet finished.
The interface needs to be adjusted to work in the embedded loop
of a nvim instance (to use it to talk between instances)
|
| |
| |
| |
| |
| | |
Previously, if the autocommands are not triggered, the tests may still
pass because no assertion is done. Add an assertion so that the tests
will fail if the autocommands aren't triggered.
|
| |
| |
| |
| | |
When a TUI client has already stopped, handling UI events will cause a
heap-use-after-free, so ignore them.
|
| |
| |
| | |
Otherwise it will crash.
|
| |
| |
| |
| |
| | |
Having a clear separation between build code and test code makes it
easier to get a higher-level understanding of how the neovim build
works.
|
| |
| |
| | |
Fixes: #22127
|
| | |
|
| |
| |
| |
| | |
Co-authored-by: Lewis Russell <lewis6991@gmail.com>
|
|/
|
|
|
|
|
|
| |
Problem: Display shows lines scrolled down erroneously. (Yishai Lerner)
Solution: Do not change "wl_lnum" at index zero. (closes vim/vim#11938)
https://github.com/vim/vim/commit/61fdbfa1e3c842252b701aec12f45839ca41ece5
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|\
| |
| | |
fix(extmarks): adjust extmarks when inserting prompt prefix
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: The 'statuscolumn' width is being estimated without the
proper context. In particular, this resulted in the fact
that a custom fold column could be included in the estimated
`number_width()`, and doubly added when actually drawing the
statuscolumn due to `win_col_off()` also adding the
`'foldcolumn'` width. Resulting in a status column that is
`'foldcolumn'` cells wider than necessary.
Solution: Estimate 'statuscolumn' width in `get_statuscol_str()` when
a buffer's line count has changed.
|
| |
| |
| |
| | |
This prevents the TUI from doing unexpected things when receiving a
deadly signal or running out of memory.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
fix(man): use italics for <bs>_
Even though underline is strictly what this should be. <bs>_ was used by
nroff to indicate italics which wasn't possible on old typewriters so
underline was used. Modern terminals now support italics so lets use
that now.
See:
- https://unix.stackexchange.com/questions/274658/purpose-of-ascii-text-with-overstriking-file-format/274795#274795
- https://cmd.inp.nsk.su/old/cmd2/manuals/unix/UNIX_Unleashed/ch08.htm
|
|\ \
| | |
| | | |
refactor(tests): run unittests using main nvim binary - delete separate nvim-test build
|
| | |
| | |
| | |
| | | |
This allows us to get rid of the separate "nvim-test" target
|
| | | |
|
|\ \ \
| |/ /
|/| | |
fix(treesitter): validate language name
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Some injections (like markdown) allow specifying arbitrary
language names for code blocks, which may be lead to errors when
looking for a corresponding parser in runtime path.
Solution: Validate that the language name only contains alphanumeric
characters and `_` (e.g., for `c_sharp`) and error otherwise.
|
| | |
| | |
| | |
| | |
| | | |
This fixes "fake server" from leaking memory, which makes ASAN very
upset, except on current ASAN CI for some reason.
|
|/ / |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
test(exepath): test if exepath returns correct path with multiple
Windows shells
This test covers the changes from #21175 where exepath() is set to
prefer file extensions in powershell.exe aswell as in cmd.exe.
In both shells, the file with a valid extension should be returned
instead of the extensionless file.
|
| | |
|
| | |
|
| |
| |
| |
| | |
Saves two bits for reuse for new features
|