| Commit message (Collapse) | Author | Age |
... | |
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
|\ \ \ \
| | | | |
| | | | | |
fix(tui): exit on input eof
|
| | | | | |
|
|/ / / / |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
Bash has better error handling than cmake, and seem overall slightly
more suited to scripting than cmake.
|
|\ \ \ \
| | | | |
| | | | | |
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.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
- Render node ranges as virtual text
- Set filettype=query. The virtual text is to avoid parsing errors.
- Make sure highlights text is always in view.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
fix(ui): make sure screen is valid after resizing
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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.
|
| | | | |
| | | | |
| | | | | |
It's easier if the os-specific installations are done by the script itself
|
| | | | |
| | | | |
| | | | | |
refactor: reduce scope of locals as per the style guide
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Scripts that define the build itself shouldn't be external as they lead
to hard to find bugs.
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Instead use the cmake option, which should act as the definitive source
to determine whether we use CI or not.
|
| | | | |
| | | | |
| | | | |
| | | | | |
Having as few indirections as possible makes it easier to understand the
code.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Having CI scripts that is separate from the build system causes
tremendous amounts of problems, headaches and bugs. Testing the validity
of the scripts locally become near impossible as time goes on as they're
only vetted if it works on whatever CI provider we happened to have at
the time, with their own quirks and behavior.
The extra indirection between "cmake <-> general CI scripts <-> GHA" is
also a frequent source of problems, as the orchestration needs to be
done with environment variables, cmake flags and github actions matrix
strategy. This combination has turned out to be exceptionally fragile.
Examples:
https://github.com/neovim/neovim/commit/15394b6855c3b17be06bf2bfbac7797d9c3ebf1d
https://github.com/neovim/neovim/commit/13aa23b62af4df3e7f10687b76fe8c04efa2a598
https://github.com/neovim/neovim/pull/22072#discussion_r1094390713
A lot of the code was inlined to .github/workflows/ci.yml without
further modifications. While this in itself doesn't integrate with our
build system any more than the current situation, it does
1. remove a level of indirection, and more importantly
2. allow us to slowly start integrating the CI into our build system now
that all the relevant code is in one place.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* ci: show all logs at the end of a run
The current CI won't show the logs on error due to early exit. This will
at least show the logs, although for all tests at once.
|
| | | | |
| | | | |
| | | | | |
Co-authored-by: Gregory Anders <greg@gpanders.com>
|
| | | | |
| | | | |
| | | | | |
There shouldn't be any core dumps before we have started testing.
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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>
|
| | | | |
| | | | |
| | | | |
| | | | | |
Abstracting the build commands to a separate script makes it more
difficult to reason about it and more error-prone.
|
| | | | |
| | | | |
| | | | |
| | | | | |
As the trigger type is no longer pull_request_target there is no longer
any risk of using the lintcommit script directly from the user PR.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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>
|
|\ \ \ \ \
| | | | | |
| | | | | | |
vim-patch:9.0.{1298,1299}: c_CTRL-R_CTRL-R doesn't trigger incsearch
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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
|
| | | | |
| | | | |
| | | | | |
Anyone can review a refactor depending on what's being refactored.
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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>
|
|\ \ \ \
| | | | |
| | | | | |
build(ci): let ASAN print tracebacks for more errors (SIGABORT, SIGILL)
|
|/ / / / |
|
|\ \ \ \
| | | | |
| | | | | |
refactor(tests): integrate lua-client into core and use core for functionaltests
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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)
|
| | | | |
| | | | |
| | | | | |
Only the most important variables should be shown by default.
|