aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* | revert: "build: remove ENABLE_COMPILER_SUGGESTIONS option" (#22265)dundargoc2023-02-15
| | | | | | | | | | This reverts commit 1d6bb0892b58e5a4183e74c0fbd2dc20204e33a4. See: https://github.com/neovim/neovim/pull/22249#issuecomment-1430548550
* | Merge #22214 move init_default_autocmds to luaJustin M. Keyes2023-02-14
|\ \
| * | refactor: move init_default_autocmds to luaglacambre2023-02-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | fix(helpers): restore channel id after a call to WITH_SCRIPT_CONTEXTglacambre2023-02-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In https://github.com/neovim/neovim/pull/22214, init_default_autocmds has been turned into a lua function call to nvim_create_augroup and nvim_create_autocmd. This introduced a strange regression: a test in vim_spec.lua started failing with its last_set_chan value switching from 0 to -9223372036854775808. It turns out that -9223372036854775808 is the value of LUA_INTERNAL_CALL and would be inherited as last_set_chan by options set from the command line due to the WITH_SCRIPT_CONTEXT macro not restoring the channel id (WITH_SCRIPT_CONTEXT is used by nvim_create_augroup).
* | | test: make expect_unchanged() less confusing (#22255)zeertzjq2023-02-15
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | refactor(api): consistent VALIDATE messages #22262Justin M. Keyes2023-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | fix: uv_tty_set_mode failed in Windows #22264Enan Ajmain2023-02-14
| | | | | | | | | | | | | | | | | | | | | | | | 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
* | | ci: print DLL copy messages only in CI environment (#22260)Enan Ajmain2023-02-14
| | | | | | | | | In Windows, library DLL's are copied in the building process, and a message for each copy is printed. This is useful to have in the log of CI, but annoying to see when you're building and rebuilding nvim constantly. Work around this issue by only enabling the messages on CI.
* | | Merge pull request #11756 from bfredl/crashfixbfredl2023-02-14
|\ \ \ | | | | | | | | custom statusline crash containing unprintable unicode
| * | | fix(status): handle unprintable chars in the statuslineBjörn Linse2023-02-14
| | | |
* | | | Merge pull request #22113 from luukvbaal/nrwidthLewis Russell2023-02-14
|\ \ \ \ | | | | | | | | | | fix(column): no longer reset nrwidth_line_count for 'statuscolumn'
| * | | | refactor(column): remove unused build_statuscol_str() argumentsLuuk van Baal2023-02-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | fix(column): no longer reset nrwidth_line_count for 'statuscolumn'Luuk van Baal2023-02-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | Merge pull request #22108 from luukvbaal/statuscolumnLewis Russell2023-02-14
|\ \ \ \ \ | | | | | | | | | | | | perf(column): only build fold/sign column when present in 'statuscolumn'
| * | | | | refactor(statusline): move statusline defs to statusline_defs.hLuuk van Baal2023-02-04
| | | | | |
| * | | | | perf(column): only build fold/sign column when present in 'statuscolumn'Luuk van Baal2023-02-04
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | refactor(api): VALIDATE macros #22256Justin M. Keyes2023-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - VALIDATE() takes a format string - deduplicate check_string_array - VALIDATE_RANGE - validate UI args
* | | | | test: remove unused field ext_float (#22243)zeertzjq2023-02-14
| | | | |
* | | | | 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.