aboutsummaryrefslogtreecommitdiff
path: root/runtime
Commit message (Collapse)AuthorAge
...
* docs(diagnostic): add return value of `vim.diagnostic.config()` (#26615)Yi Ming2023-12-17
|
* perf(treesitter): filter out trees outside the visible range earlyJaehwang Jung2023-12-17
| | | | | | | | | | | | | | | | | | Problem: Treesitter highlighter's on_line was iterating all the parsed trees, which can be quite a lot when injection is used. This may slow down scrolling and cursor movement in big files with many comment injections (e.g., lsp/_meta/protocol.lua). Solution: In on_win, collect trees inside the visible range, and use them in on_line. NOTE: This optimization depends on the correctness of on_win's botline_guess parameter (i.e., it's always greater than or equal to the line numbers passed to on_line). The documentation does not guarantee this, but I have never noticed a problem so far.
* refactor(lsp): move changetracking to separate file (#26577)Lewis Russell2023-12-17
| | | | | | | | | | | | | | | * refactor(lsp): move changetracking to separate file - Prefixed changetracking types with `vim.lsp.` * fixup!: make _reset_timer a local function * fixup!: remove @private annotations * fixup!: changetracking.lua -> _changetracking.lua * fixup! types * fixup! add send_changes_for_group
* build: cmake fixesdundargoc2023-12-16
| | | | | | | | | | | | | | - add EXTERNALPROJECT_OPTIONS variable to main build - use `REQUIRED` keyword for IWYU. - remove check_c_compiler_flag checks when `ENABLE_COMPILER_SUGGESTIONS` is `ON`. If we explicitly enable it then we probably want it to give an error if it doesn't exist, rather than silently skip it. - Move dependency interface libraries to their find module and use them as a pseudo-imported target. - Remove BUSTED_OUTPUT_TYPE. It's not used and we can reintroduce it again if something similar is needed. - Use LINK_OPTIONS intead of LINK_FLAGS when generating the `--version` output.
* refactor: only reload colorscheme if &bg changed (#26598)Gregory Anders2023-12-16
| | | | | | | | | | Currently, setting &bg at all re-initializes highlights and reloads the active colorscheme, even if the actual value of &bg has not changed. With https://github.com/neovim/neovim/pull/26595 this causes a regression since &bg is set unconditionally based on the value detected from the terminal. Instead, only reload the colorscheme if the actual value of &bg has changed.
* build: bump minimum cmake version to 3.13dundargoc2023-12-16
| | | | | | | | | | | The benefits are primarily being able to use FetchContent, which allows for a more flexible dependency handling. Other various quality-of-life features such as `-B` and `-S` flags are also included. This also removes broken `--version` generation as it does not work for version 3.10 and 3.11 due to the `JOIN` generator expression. Reference: https://github.com/neovim/neovim/issues/24004
* vim-patch:82f19734bfcbChristian Clason2023-12-16
| | | | | | | | | | | runtime(doc): remove deprecation warning for gdefault Deprecated can be misunderstood as being slated for removal; slightly change wording to be clearer. https://github.com/vim/vim/commit/82f19734bfcbddbaee8d5d837f7b7a7119366020 Co-authored-by: dundargoc <gocdundar@gmail.com>
* vim-patch:0f61943eb776Christian Clason2023-12-16
| | | | | | | | runtime(logtalk): Update Logtalk runtime files for the latest language spec (vim/vim#13697) https://github.com/vim/vim/commit/0f61943eb7769777a281e0f8b8ba4c5f46d13e84 Co-authored-by: Paulo Moura <pmoura@logtalk.org>
* vim-patch:5eb9cb53d619Christian Clason2023-12-16
| | | | | | | | | | | | | runtime(racket): update Racket runtime files (vim/vim#13693) This brings the included Racket runtime files to commit 43bfc87 (update headers, 2023-12-15) of https://github.com/benknoble/vim-racket. Note that not all files from that repository are included. (In particular, the ftdetect script is omitted for now.) https://github.com/vim/vim/commit/5eb9cb53d619f89251d22299e2cb4f21918d9d38 Co-authored-by: D. Ben Knoble <ben.knoble+github@gmail.com>
* vim-patch:0378f07fbaeeChristian Clason2023-12-16
| | | | | | | | | | | | | | runtime(colorschemes): Update colorschemes (vim/vim#13691) Minor changes: - Regenerated using colortemplate 2.2.3 - Removed reversed gui-cursor for some of the colorschemes (retrobox, wildcharm, lunaperche) - Change MatchParen for some of colorschemes. https://github.com/vim/vim/commit/0378f07fbaee9fd8773f3cf8cef146606dd7bf72 Co-authored-by: Maxim Kim <habamax@gmail.com>
* feat(highlight): tweak default color schemeEvgeni Chasnovski2023-12-16
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Updating default color scheme produced some feedback. Solution: Address the feedback. Outline of the changes: - Colors `Grey1` and `Grey2` are made a little bit more extreme (dark - darker, light - lighter) to increase overall contrast. - `gui` colors are treated as base with `cterm` colors falling back to using 0-15 colors which come from terminal emulator. - Update highlight group definition to not include attribute definition if it is intended to staty uncolored. - Tweak some specific highlight groups. - Add a list of Neovim specific highlight groups which are now defined differently in a breaking way. - Minor tweaks in several other places related to default color scheme.
* feat(ui): completeopt support popup like vimmathew2023-12-16
|
* Merge pull request #26512 from famiu/refactor/options/type_flagsbfredl2023-12-16
|\ | | | | refactor(options): remove option type macros
| * refactor(options): remove option type macrosFamiu Haque2023-12-14
| | | | | | | | | | | | | | | | Problem: We have `P_(BOOL|NUM|STRING)` macros to represent an option's type, which is redundant because `OptValType` can already do that. The current implementation of option type flags is also too limited to allow adding multitype options in the future. Solution: Remove `P_(BOOL|NUM|STRING)` and replace it with a new `type_flags` attribute in `vimoption_T`. Also do some groundwork for adding multitype options in the future. Side-effects: Attempting to set an invalid keycode option (e.g. `set t_foo=123`) no longer gives an error.
* | vim-patch:e06f2b498cccdundargoc2023-12-16
| | | | | | | | | | | | | | | | runtime(doc): fix typo in change.txt https://github.com/vim/vim/commit/e06f2b498ccca921f34a1bec4464f042a5a2cabd Co-authored-by: Christian Brabandt <cb@256bit.org>
* | refactor(defaults): always set options, even if value hasn't changed (#26595)Gregory Anders2023-12-15
| | | | | | | | | | | | | | | | Comparing against the old value before setting matched the original C implementation, but there is no reason to use this restriction. In particular, this inhibits using OptionSet to determine when the option was set. If users need to handle a case where the option _changed_, it is easy to do so in an OptionSet autocommand using v:option_new and v:option_old (and friends).
* | vim-patch:9a775b4a2ae6 (#26588)zeertzjq2023-12-16
| | | | | | | | | | | | | | | | | | runtime(netrw): escape curdir in BrowseUpDir (vim/vim#13681) fixes vim/vim#13678 https://github.com/vim/vim/commit/9a775b4a2ae658e61f9d6582de72ea7a1b241aaa Co-authored-by: Christian Brabandt <cb@256bit.org>
* | Merge pull request #26579 from gpanders/defer-set-tgcGregory Anders2023-12-15
|\ \ | | | | | | refactor(defaults): defer setting 'termguicolors' until after VimEnter
| * | refactor(defaults): defer setting 'termguicolors' until after VimEnterGregory Anders2023-12-14
| | | | | | | | | | | | | | | This ensures that any OptionSet autocommands will fire when the value is changed.
| * | fix(termcap): set 'nested' on TermResponse autocommandGregory Anders2023-12-14
| | |
* | | vim-patch:3afc9f2556faChristian Clason2023-12-15
| | | | | | | | | | | | | | | | | | | | | | | | runtime(cmake): sync runtime files with upstream (vim/vim#13597) https://github.com/vim/vim/commit/3afc9f2556faf2574d7950d879f2bf61612f3367 Co-authored-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
* | | vim-patch:1c97b5c0c0b4Christian Clason2023-12-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(vim): Update syntax file, fix missing for highlight (vim/vim#13668) Fix highlighting of :for command. Link the vimFor syntax group to the vimCommand highlight group. Error introduced in commit f686921 https://github.com/vim/vim/commit/1c97b5c0c0b4a60d652b78da4470aeb8a7509700 Co-authored-by: dkearns <dougkearns@gmail.com>
* | | vim-patch:b52e7ac7c61cChristian Clason2023-12-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(netrw): Fix `w:netrw_bannercnt` ref error with `netrw_fastbrowse=2` (vim/vim#13659) * NetRW: Fix `w:netrw_bannercnt` ref error with `netrw_fastbrowse=2` * NetRW: Fix wrong `w:netrw_bannercnt` setting closes: vim/vim#13640 https://github.com/vim/vim/commit/b52e7ac7c61cd88d04ee6b7b1808c361dd4a7640 Co-authored-by: KSR-Yasuda <31273423+KSR-Yasuda@users.noreply.github.com>
* | | vim-patch:5a68cdf14915Christian Clason2023-12-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(sbt): do not set b:did_ftplugin before sourcing scala ftplugin(vim/vim#13657) The `b:did_ftplugin` guard was set and prevented us from actually sourcing `ftplugin/scala.vim`. Since the latter script also sets the guard properly, we can simply remove the guard here. https://github.com/vim/vim/commit/5a68cdf14915f20a1a6889cd0a76d29ecd374f24 Co-authored-by: Karl Yngve Lervåg <karl.yngve@lervag.net>
* | | vim-patch:f6869212c9e1Christian Clason2023-12-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(vim): Update syntax file (vim/vim#13653) Improve variable highlighting in :let, :unlet, :const and :for commands. Match registers and local, global and terminal option variables. https://github.com/vim/vim/commit/f6869212c9e19ec8f2a4434732dd28f84f170163 Co-authored-by: dkearns <dougkearns@gmail.com>
* | | vim-patch:17dca3cb97cd (#26584)zeertzjq2023-12-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(doc): grammar & typo fixes closes: vim/vim#13654 https://github.com/vim/vim/commit/17dca3cb97cdd7835e334b990565c8c0b93b1284 Co-authored-by: Dominique Pellé <dominique.pelle@tomtom.com>
* | | vim-patch:323dda1484d9 (#26583)zeertzjq2023-12-15
|/ / | | | | | | | | | | | | | | | | runtime(termdebug): add Tbreak command closes: vim/vim#13656 https://github.com/vim/vim/commit/323dda1484d95ee5c8a1b2205f8c495446df75ee Co-authored-by: iam28th <artyom28th@gmail.com>
* | refactor(diagnostic): use named namespaces (#26568)Gregory Anders2023-12-14
| | | | | | | | | | Anonymous namespaces are more difficult to extend or hook into since they do not appear in the output of nvim_get_namespaces(). Use named namespaces instead.
* | docs: add comment for OSC 11 tmux passthrough (#26566)Gregory Anders2023-12-14
| |
* | feat(lsp): more annotationsLewis Russell2023-12-14
|/
* feat(nvim_open_term): convert LF => CRLF (#26384)Raphael2023-12-14
| | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Unlike termopen(), nvim_open_term() PTYs do not carriage-return the cursor on newline ("\n") input. nvim --clean :let chan_id = nvim_open_term(1, {}) :call chansend(chan_id, ["here", "are", "some", "lines"]) Actual behavior: here are some lines Expected behaviour: here are some lines Solution: Add `force_crlf` option, and enable it by default.
* fix(defaults): background detection in tmux (#26557)Jaehwang Jung2023-12-14
| | | Wrap the query with passthrough sequence
* docs: fix linksdundargoc2023-12-13
|
* docs: move vim-patch wiki page to runtime documentationdundargoc2023-12-13
|
* docs: add installation and build guides from wiki to repodundargoc2023-12-13
|
* Merge pull request #26555 from gpanders/diagnostic-sign-fixupGregory Anders2023-12-13
|\ | | | | Diagnostic sign fixups
| * feat(diagnostics): support numhl and linehl for diagnostic signsGregory Anders2023-12-13
| |
| * docs(diagnostic): fix typo in exampleGregory Anders2023-12-13
| |
| * fix(diagnostic): check for sign namespace instead of sign groupGregory Anders2023-12-13
| |
* | docs: add wiki FAQ to the runtime documentation (#26539)dundargoc2023-12-13
|/ | | | | | Problem: Wiki contents are not discoverable and hard to maintain. Solution: Move FAQ to runtime docs. Co-authored-by: Christian Clason <c.clason@uni-graz.at>
* refactor(diagnostic): set sign by using extmark (#26193)Raphael2023-12-13
| | | | after sign implementation refactor by using extmark, we can use `nvim_buf_set_extmark` to set diagnostic sign instead use `sign_define`
* fix(termcap): only call callback for requested capabilities (#26546)Gregory Anders2023-12-13
| | | | | | | If multiple XTGETTCAP requests are active at once (for example, for requesting the Ms capability and truecolor capabilities), then the TermResponse autocommand may fire for capabilities that were not requested. Instead, make sure that the provided callback is only called for capabilities that were actually requested.
* feat(iter): add `Iter.take` (#26525)Will Hopkins2023-12-12
|
* feat(eval): exists() function supports checking v:lua functions (#26485)Raphael2023-12-12
| | | | Problem: Vimscript function exists() can't check v:lua functions. Solution: Add support for v:lua functions to exists().
* Merge pull request #26506 from tomtomjhj/tsfoldLewis Russell2023-12-11
|\ | | | | fix(treesitter): improve vim.treesitter.foldexpr
| * fix(treesitter): improve vim.treesitter.foldexprJaehwang Jung2023-12-12
| | | | | | | | | | | | | | | | | | | | | | | | * Collect on_bytes and flush at the invocation of the scheduled callback to take account of commands that triggers multiple on_bytes. * More accurately track movement of folds so that foldexpr returns reasonable values even when the scheduled computation is not run yet. * Start computing folds from the line above (+ foldminlines) the changed lines to handle the folds that are removed due to the size limit. * Shrink folds that end at the line at which another fold starts to assign proper level to that line. * Use level '=' for lines that are not computed yet.
| * fix(treesitter): fix indexing in foldexprJaehwang Jung2023-12-12
| |
* | feat(gen_lsp.lua): validate CLI args #26514Jongwook Choi2023-12-11
| | | | | | | | | | | | | | | | - Improve CLI argument parsing, rejects invalid argument and commands as early as possible. Also prints USAGE in the command line. - No longer allows `--<outfile>`, use `--out <outfile>` instead. - Print a little bit of verbose messages to better know what's going on rather than remaining silent at all times. - Add type annotation `gen_lsp._opt` to avoid type warnings.
* | docs(news): very, very minorlyChristian Clason2023-12-10
| | | | | | | | | | | | | | * fix garbled item for new treesitter injection format * add missing item for new `vim.lpeg` and `vim.re` * use taglinks where possible * remove redundant "Added" and "Removed" from items
* | vim-patch:61e984e212ed (#26484)zeertzjq2023-12-09
|/ | | | | | | | | | | runtime(doc): link cmdline completion to to |wildcards| and fix typos (vim/vim#13636) The docs for cmdline completion doesn't mention that [abc] is considered a wildcard, and |wildcards| contains more detailed information, so just link to it. Also fix some typos in other help files. https://github.com/vim/vim/commit/61e984e212ed19774e088868c30c2d03c4e5a0cf