aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* | | | | refactor(api): VALIDATE macros #22187Justin M. Keyes2023-02-14
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | fix(folds): cursorline highlight is not always applied on closed folds (#22242)luukvbaal2023-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | vim-patch:9.0.1307: setting 'formatoptions' with :let doesn't check for ↵zeertzjq2023-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | Merge pull request #22244 from zeertzjq/tui-eofzeertzjq2023-02-14
|\ \ \ \ | | | | | | | | | | fix(tui): exit on input eof
| * | | | fix(tui): exit on input eofzeertzjq2023-02-14
| | | | |
| * | | | test(tui_spec): remove unnecessary arguments for remote UIzeertzjq2023-02-14
|/ / / /
* | | | feat(filetype): fall back to file extension when matching from hashbang (#22140)Jonas Strittmatter2023-02-13
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | build: remove ENABLE_COMPILER_SUGGESTIONS option (#22249)dundargoc2023-02-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | ci: automatically maximize MIN_LOG_LEVEL if CI detected (#22248)dundargoc2023-02-13
| | | | | | | | | | | | | | | | | | | | 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.
* | | | ci(lintcommit): allow UPPER_CASE first word (#22245)Justin M. Keyes2023-02-13
| | | |
* | | | ci: replace cmake script with bash script (#22246)dundargoc2023-02-13
| | | | | | | | | | | | | | | | Bash has better error handling than cmake, and seem overall slightly more suited to scripting than cmake.
* | | | Merge pull request #22191 from lewis6991/feat/playground_impLewis Russell2023-02-13
|\ \ \ \ | | | | | | | | | | feat(treesitter): playground improvements
| * | | | fix(treesitter): don't trample parsers when filetype!=langLewis Russell2023-02-10
| | | | | | | | | | | | | | | | | | | | | | | | | This allows vim.treesitter.show_tree() to work on buffers where the filetype does not match the parser language name e.g, bash/sh.
| * | | | feat(treesitter): playground improvementsLewis Russell2023-02-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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.
* | | | | Merge pull request #22233 from zeertzjq/resize-screenclearzeertzjq2023-02-13
|\ \ \ \ \ | | | | | | | | | | | | fix(ui): make sure screen is valid after resizing
| * | | | | fix(ui-ext): force cursor update after resize in char-based UIzeertzjq2023-02-13
| | | | | | | | | | | | | | | | | | | | | | | | Neither ui/screen.lua nor Neovim Qt keep cursor position after resizing.
| * | | | | fix(ui): make sure screen is valid after resizingzeertzjq2023-02-13
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | ci: install dependencies with a single script (#22241)dundargoc2023-02-12
| | | | | | | | | | | | | | | It's easier if the os-specific installations are done by the script itself
* | | | | refactor: reduce scope of locals as per the style guide 3 (#22221)dundargoc2023-02-12
| | | | | | | | | | | | | | | refactor: reduce scope of locals as per the style guide
* | | | | ci: remove unnecessary matrix from codeql workflow (#22239)dundargoc2023-02-12
| | | | |
* | | | | ci: inline external environment scripts (#22237)dundargoc2023-02-12
| | | | | | | | | | | | | | | | | | | | Scripts that define the build itself shouldn't be external as they lead to hard to find bugs.
* | | | | build: treat clang-tidy warnings as errors (#22238)dundargoc2023-02-12
| | | | |
* | | | | build: don't check environment variable to detect CI (#22234)dundargoc2023-02-12
| | | | | | | | | | | | | | | | | | | | Instead use the cmake option, which should act as the definitive source to determine whether we use CI or not.
* | | | | ci: convert environment variables to matrix variables (#22224)dundargoc2023-02-12
| | | | | | | | | | | | | | | | | | | | Having as few indirections as possible makes it easier to understand the code.
* | | | | ci: delete ci/ (#22227)dundargoc2023-02-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 (#22226)dundargoc2023-02-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | | | | fix(filetype): make vim.filetype.match() work with contents only (#22181)Jonas Strittmatter2023-02-11
| | | | | | | | | | | | | | | Co-authored-by: Gregory Anders <greg@gpanders.com>
* | | | | ci: don't delete core dumps at the start of the run (#22223)dundargoc2023-02-11
| | | | | | | | | | | | | | | There shouldn't be any core dumps before we have started testing.
* | | | | refactor: reduce scope of locals as per the style guide (#22211)dundargoc2023-02-11
| | | | |
* | | | | vim-patch:9.0.1295: the option initialization function is too long (#22222)zeertzjq2023-02-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | | ci: inline build commands and remove before_script.sh (#22202)dundargoc2023-02-11
| | | | | | | | | | | | | | | | | | | | Abstracting the build commands to a separate script makes it more difficult to reason about it and more error-prone.
* | | | | ci: run lintcommit file from PR branch (#22219)dundargoc2023-02-11
| | | | | | | | | | | | | | | | | | | | 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.
* | | | | vim-patch:9.0.1300: 'statusline' only supports one "%=" item (#22218)zeertzjq2023-02-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | | Merge pull request #22217 from zeertzjq/vim-9.0.1298zeertzjq2023-02-11
|\ \ \ \ \ | | | | | | | | | | | | vim-patch:9.0.{1298,1299}: c_CTRL-R_CTRL-R doesn't trigger incsearch
| * | | | | vim-patch:9.0.1299: change for triggering incsearch not sufficiently testedzeertzjq2023-02-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | | vim-patch:9.0.1298: inserting register on the cmdline does not trigger incsearchzeertzjq2023-02-11
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | | fix(rpc)!: preseve files when stdio channel is closed (#22137)zeertzjq2023-02-11
| | | | | | | | | | | | | | | | | | | | BREAKING CHANGE: Unsaved changes are now preserved rather than discarded when stdio channel is closed.
* | | | | refactor: replace char_u with char (#21901)dundargoc2023-02-11
| | | | | | | | | | | | | | | | | | | | | | | | | refactor: replace char_u with char Work on https://github.com/neovim/neovim/issues/459
* | | | | ci: remove reviewers from the refactor label (#22216)dundargoc2023-02-11
| | | | | | | | | | | | | | | Anyone can review a refactor depending on what's being refactored.
* | | | | docs: reword news.txt to ensure a consistent style (#22215)Sizhe Zhao2023-02-11
| | | | |
* | | | | build: enable MSVC level 3 warnings (#21934)dundargoc2023-02-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | refactor: reduce scope of locals as per the style guide (#22206)dundargoc2023-02-11
| |_|/ / |/| | |
* | | | vim-patch:9.0.1297: wrong value for $LC_CTYPE makes the environ test fail ↵zeertzjq2023-02-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#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>
* | | | Merge pull request #21887 from bfredl/asanterrorbfredl2023-02-10
|\ \ \ \ | | | | | | | | | | build(ci): let ASAN print tracebacks for more errors (SIGABORT, SIGILL)
| * | | | build(ci): let ASAN print tracebacks for more errors (SIGABORT, SIGILL)bfredl2023-02-10
|/ / / /
* | | | Merge pull request #22077 from bfredl/neolua_clientbfredl2023-02-10
|\ \ \ \ | | | | | | | | | | refactor(tests): integrate lua-client into core and use core for functionaltests
| * | | | fix(client): wait for session to exitbfredl2023-02-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This replicates the old native.pid_wait(self._pid) call, except using the proper libuv pattern (run loop unitil exit callback)
| * | | | fix(tests): fixes for using vim.mpack and more ASANbfredl2023-02-10
| | | | |
| * | | | refactor(tests): move lua-client into core and use it for functionaltestsbfredl2023-02-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* | | | | build: mark uninteresting variables as advanced (#22208)dundargoc2023-02-10
| | | | | | | | | | | | | | | Only the most important variables should be shown by default.