aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
| * | | | | | | Merge pull request #26813 from VanaIgr/screen-pos-speedupzeertzjq2024-01-22
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | perf: make screen size and position calculations more efficient N/A patches for version.c: vim-patch:9.1.0037: Calling get_breakindent_win() repeatedly when computing virtcol vim-patch:9.1.0038: Unnecessary loop in getvcol()
| | * | | | | | | docs(news): expand the list of performance improvementsVanaIgr2024-01-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When computing on-screen size or position, the size 'breakindent' and 'showbreak' is now cached, and checks for whether a faster character size function can be used are performed only once at the start. Multibyte characters are not decodes multiple times anymore, and character decoding functions are more efficient. Additionally, the amount of trailing spaces for pasted blockwise text is now calculated correctly for multibyte characters. Internal lisp formatting now doesn't erroneously use inline virtual text from a different line.
| | * | | | | | | perf: reuse fast character size calculation algorithm from getvcol()VanaIgr2024-01-22
| | | | | | | | |
| | * | | | | | | perf: don't decode utf8 character multiple times in getvcol()VanaIgr2024-01-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The optimized virtual column calculation loop in getvcol() was decoding the current character twice: once in ptr2cells() and the second time in utfc_ptr2len(). For combining charcters, they were decoded up to 2 times in utfc_ptr2len(). Additionally, the function used to decode the character could be further optimised.
| | * | | | | | | perf: remove loop for computing last position in getvcol()VanaIgr2024-01-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The function computed the start of the multibyte character and iterated until the current character reached this position. The loop at the start of the function handed the case where the index passed to the function was past the end of the line. This loop can be removed if the function instead compares the next position against the end position end exits the loop if it is greater than the end position.
| | * | | | | | | perf: cache breakindent/showbreak width in win_lbr_chartabsizeVanaIgr2024-01-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | breakindent was recomputed on every call to win_lbr_charbabsize() when the character is past the end of the first row of a wrapped line. Even though the function for computing breakindent cached the last result, reusing the cached value required strcmp of the cached line with the given line.
| | * | | | | | | test: add screenpos() benchmarksVanaIgr2024-01-18
| | |/ / / / / /
| * | | | | | | test(core/channel_spec): fix lint failurezeertzjq2024-01-22
| | | | | | | |
| * | | | | | | test(core/channels_spec): fix variable namezeertzjq2024-01-22
| | | | | | | |
| * | | | | | | fix(rpc): assertion failure due to invalid msgpack inputnwounkn2024-01-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: rbuffer_consumed assertion fails if Unpacker fails to parse msgpack, because it doesn't consume bytes on errors Solution: Call rbuffer_consumed_compact only if Unpacker isn't closed
| * | | | | | | build: create BINARY_LIB_DIR directory before adding parserdundargoc2024-01-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cmake -E copy_directory behaves differently depending on if the directory in question exists or not. Always create it to ensure it behaves consistently.
| * | | | | | | fix(extmarks): missing "spell" and "conceal" in details (#27116)zeertzjq2024-01-22
| | | | | | | |
| * | | | | | | build: fix parser installation locationdundargoc2024-01-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cmake's `install()` functions like rsync where a trailing slash changes whether the directory or its contents will be copies.
| * | | | | | | feat(vim.version): add `vim.version.le` and `vim.version.ge`Jongwook Choi2024-01-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Problem: One cannot easily write something like, for example: `version_current >= {0, 10, 0}`; writing like `not vim.version.lt(version_current, {0, 10, 0})` is verbose. - Solution: add {`le`,`ge`} in addition to {`lt`,`gt`}. - Also improve typing on the operator methods: allow `string` as well. - Update the example in `vim.version.range()` docs: `ge` in place of `gt` better matches the semantics of `range:has`.
| * | | | | | | vim-patch:9.1.0042: Missing test for Chuck FiletypeChristian Clason2024-01-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Missing test for Chuck filetype after commit 27a4632af6753 (Christian Clason) Solution: Add a filetype test https://github.com/vim/vim/commit/c1884c94c5d7246e53a83b03a35a66ce81b49f83 Co-authored-by: Christian Brabandt <cb@256bit.org>
| * | | | | | | vim-patch:27a4632af675Christian Clason2024-01-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(filetype): detect *.ck files as Chuck filetype (vim/vim#13888) closes vim/vim#13886 https://github.com/vim/vim/commit/27a4632af675345f9d3b4f3d66a63756835df8cc Co-authored-by: Christian Brabandt <cb@256bit.org>
| * | | | | | | feat(treesitter)!: new standard capture namesChristian Clason2024-01-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Sharing queries with upstream and Helix is difficult due to different capture names. Solution: Define and document a new set of standard captures that matches tree-sitter "standard captures" (where defined) and is closer to Helix' Atom-style nested groups. This is a breaking change for colorschemes that defined highlights based on the old captures. On the other hand, the default colorscheme now defines links for all standard captures (not just those used in bundled queries), improving the out-of-the-box experience.
| * | | | | | | fix(lsp): clean up duplicate and unused meta type annotationsJongwook Choi2024-01-20
| | | | | | | |
| * | | | | | | build: create separate targets for nvim with and without runtime filesdundargoc2024-01-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This distinction is important for correct dependency management, as the nvim binary is used to create some runtime files. The nvim binary (and the target to build it) is thus called `nvim_bin` and the target to build all of nvim (binary+runtime) is called `nvim`.
| * | | | | | | ci: bump cache action to version 4dundargoc2024-01-20
| | | | | | | |
| * | | | | | | feat(api): support getting abbreviations (#26868)Raphael2024-01-20
| | | | | | | |
| * | | | | | | feat(ui): add chdir UI event (#27093)Gregory Anders2024-01-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When an embedded Nvim instance changes its current directory a "chdir" UI event is emitted. Attached UIs can use this information however they wish. In the TUI it is used to synchronize the cwd of the TUI process with the cwd of the embedded Nvim process.
| * | | | | | | fix(vim.deprecate): show deprecation warning in devel versions as wellJongwook Choi2024-01-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: On devel(nightly) versions, deprecation warnings for hard-deprecated features are not being displayed. E.g., - to be removed in: 0.11 - hard-deprecation since 0.10 - soft-deprecation since 0.9 then 0.10-nightly (0.10.0-dev) versions as well as 0.10.0 (stable) should display the deprecation warning message. Solution: Improve the code and logic on `vim.deprecate()`, and improve test cases with mocked `vim.version()`.
| * | | | | | | refactor(lua): refactored globaltermo2024-01-19
| | | | | | | |
| * | | | | | | Merge pull request #27061 from luukvbaal/extmarkbfredl2024-01-19
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | fix(extmarks): do not remove invalid marks from decor upon deletion
| | * | | | | | | refactor(extmarks): remove unused new pos from ExtmarkSavePosLuuk van Baal2024-01-18
| | | | | | | | |
| | * | | | | | | docs(extmarks): add undocumented "details" array fieldsLuuk van Baal2024-01-18
| | | | | | | | |
| | * | | | | | | fix(extmarks): do not remove invalid marks from decor upon deletionLuuk van Baal2024-01-17
| | | | | | | | |
| * | | | | | | | docs(INSTALL.md): remove update-alternatives instructions (#27060)Junghyeon Park2024-01-19
| | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are various other ways people can mimic the old commands, and plenty of people that have never heard of the old commands. This increases the consistency of the whole document by restricting it to the scope to installation of Nvim and its CLI commands.
| * | | | | | | fix(inccommand): improve preview buffer number handling (#27087)zeertzjq2024-01-19
| | | | | | | |
| * | | | | | | Merge pull request #27079 from lewis6991/winline_rfcLewis Russell2024-01-18
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | refactor(drawline): more win_line() improvements
| | * | | | | | | refactor(drawline): get_rightmost_vcol()Lewis Russell2024-01-18
| | | | | | | | |
| | * | | | | | | refactor(drawline): add more constsLewis Russell2024-01-18
| | | | | | | | |
| | * | | | | | | refactor(drawline): localise more variables in win_line()Lewis Russell2024-01-18
| | | | | | | | |
| | * | | | | | | refactor(drawline): more win_line() improvementsLewis Russell2024-01-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `win_line()` previously used a conspicuous `ptrdiff_t v` variable in many different places for different reasons. The change encapsulates those uses and introduces local variables in each with a reduced scope. Also add `const` to some fields in winlinevars_T.
| * | | | | | | | fix(treesitter): validate language alias for injectionsChristian Clason2024-01-18
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Parsed language annotations can be random garbage so `nvim_get_runtime_file` throws an error. Solution: Validate that `alias` is a valid language name before trying to find a parser for it.
| * | | | | | | docs(vim.iter): correct `bool` to `boolean` (#27018)notomo2024-01-18
| | | | | | | |
| * | | | | | | docs: various #25289Justin M. Keyes2024-01-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-authored-by: Jongwook Choi <wookayin@gmail.com> Co-authored-by: Oliver Marriott <hello@omarriott.com> Co-authored-by: Benoit de Chezelles <bew@users.noreply.github.com> Co-authored-by: Jongwook Choi <wookayin@gmail.com>
| * | | | | | | vim-patch:46d67d22b9baChristian Clason2024-01-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(swayconfig): add focus_follows_mouse and smart_qaps syntax keywords See: https://github.com/swaywm/sway/blob/0aceff74696f03d306dc9de5473d9ed7afb73f67/sway/sway.5.scd?plain=1#L680 `focus_follows_mouse yes|no|always` https://github.com/swaywm/sway/blob/0aceff74696f03d306dc9de5473d9ed7afb73f67/sway/sway.5.scd?plain=1#L770 closes: vim/vim#13797 https://github.com/vim/vim/commit/46d67d22b9baa575de3ef2fb7ff430b11dfa1e26 Co-authored-by: James Eapen <james.eapen@vai.org>
| * | | | | | | vim-patch:a39af0290496Christian Clason2024-01-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(i3config): remove always from `focus_follows_mouse` The always option does not exist in i3, only sway. From https://i3wm.org/docs/userguide.html: `focus_follows_mouse yes|no` Version number incremented by 2 because the last commit did not increment the version. https://github.com/vim/vim/commit/a39af02904966087b2af2372fa8233c4dfe149e3 Co-authored-by: James Eapen <james.eapen@vai.org>
| * | | | | | | vim-patch:6e5a6c9965f6Christian Clason2024-01-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(netrw): minor changes to fix move cmd on windows (vim/vim#13823) https://github.com/vim/vim/commit/6e5a6c9965f667712494ae0a9df8a407267cc72f Co-authored-by: MiguelBarro <45819833+MiguelBarro@users.noreply.github.com>
| * | | | | | | vim-patch:9.0.1437: test fails with different error number (#27074)zeertzjq2024-01-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Test fails with different error number. Solution: Adjust the expected error. https://github.com/vim/vim/commit/3cdd799951b4d08f987a8346a8de544e41fab3d7 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * | | | | | | fix(drawline): update prev_ptr after getting syntax attrs (#27072)zeertzjq2024-01-18
| | | | | | | |
| * | | | | | | vim-patch:9.1.0040: issue with prompt buffer and hidden buffer (#27071)zeertzjq2024-01-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Modifying a hidden buffer still interferes with prompt buffer mode changes. Solution: Save and restore b_prompt_insert. (zeertzjq) closes: vim/vim#13875 Modifying hidden buffer still interferes with prompt buffer mode changes https://github.com/vim/vim/commit/f267847017976ab85117bdf75b45e769836f8d69
| * | | | | | | vim-patch:9.1.0039: too vague errors for 'listchars'/'fillchars' (#27070)zeertzjq2024-01-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: too vague errors for 'listchars'/'fillchars' Solution: Include the field name in error message. (zeertzjq) related: #27050 closes: vim/vim#13877 https://github.com/vim/vim/commit/6a8d2e1634f8f0d7463a2786dbcbe0f38dd287a7 Co-authored-by: Cole Frankenhoff <cole.nhf@gmail.com>
| * | | | | | | fix(lua): return after assert returns assert message (#27064)altermo2024-01-17
| | | | | | | |
| * | | | | | | vim-patch:9b03d3e75b42 (#27059)Sean Dewar2024-01-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Translate the Vim9 script Godot files to legacy. `<scriptcmd>` is not ported yet, so replace it with `<Cmd>` and `<SID>`. If it's ported, `<scriptcmd>call s:` can be used instead. Includes changes from: vim-patch:0daafaa7d99e (was partial, but is now pretty much fully ported) vim-patch:9712ff1288f9 Co-authored-by: Maxim Kim <habamax@gmail.com>
| * | | | | | | Merge pull request #27024 from lewis6991/test_followupLewis Russell2024-01-17
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | test: big cleanup followup + typing
| | * | | | | | | feat: add __call typing for vim.inspect()Lewis Russell2024-01-17
| | | | | | | | |
| | * | | | | | | test: fix mkdir()Lewis Russell2024-01-17
| | | | | | | | |