aboutsummaryrefslogtreecommitdiff
path: root/runtime
Commit message (Collapse)AuthorAge
* vim-patch:8.2.4724: current instance of last search pattern not easily spottedzeertzjq2024-06-19
| | | | | | | | | | | Problem: Current instance of last search pattern not easily spotted. Solution: Add CurSearch highlighting. (closes vim/vim#10133) https://github.com/vim/vim/commit/a43993897aa372159f682df37562f159994dc85c Some code is superseded by later patches that are already ported. Co-authored-by: LemonBoy <thatlemon@gmail.com>
* vim-patch:9718ed7: runtime(filetype): update htmldjango detectionChristian Clason2024-06-19
| | | | | | | | | | | | | | | | - update tags to detect djangohtml based on https://docs.djangoproject.com/en/5.0/ref/templates/builtins/#built-in-tag-reference - increase the lines to inspect to 40 lines 10 lines is too few and might result in high false negative. Increasing it to 40 lines should reduce the false negative. closes: vim/vim#15037 https://github.com/vim/vim/commit/9718ed7ab989c0a0be88a0d749f24321eb0e6af1 Co-authored-by: Afiq Nazrie <afnazrie@gmail.com>
* vim-patch:26de90c: runtime(nohlsearch): include the the simple nohlsearch ↵Christian Clason2024-06-18
| | | | | | | | | | | package fixes: vim/vim#15039 closes: vim/vim#15042 https://github.com/vim/vim/commit/26de90c6312cf16d7a4f2b6942befb4e1f14b960 Co-authored-by: Maxim Kim <habamax@gmail.com>
* vim-patch:ca47114: runtime(doc): improve the vim-shebang example (#29382)zeertzjq2024-06-18
| | | | | https://github.com/vim/vim/commit/ca471145321fa8089071330b7637ad3950ac4f11 Co-authored-by: Christian Brabandt <cb@256bit.org>
* docs(lsp): format the handwritten part #29295Yi Ming2024-06-17
|
* docs(news): fix inconsistencies (#29381)zeertzjq2024-06-18
|
* vim-patch:9.1.0495: Matched text isn't highlighted in cmdline pumzeertzjq2024-06-18
| | | | | | | | | | | | Problem: Matched text isn't highlighted in cmdline pum. Solution: Use cmdline completion pattern in cmdline mode. (zeertzjq) closes: vim/vim#15029 https://github.com/vim/vim/commit/d8c9340fc67ca19f82ec3e77ec38296424e758cf Cherry-pick syntax.txt change from runtime update.
* Merge #28775 fix(man.vim): signcolumn causes broken wrapJustin M. Keyes2024-06-17
|\
| * fix(ftplugin/man.vim): hide signcolumn (auto)belkka2024-06-11
| | | | | | | | | | | | | | | | | | | | Problem: It's a common practice to set 'signcolumn=yes' (always show) instead of default 'signcolumn=auto' in order to prevent annoying horizontal shifting in editable buffers when using some popular plugins that add/remove signs on the fly. This makes signcolumn always visible and breaks the text flow of pre-formatted man pages, even when no signs are actually defined. Some other options are already tweaked in man.vim to address the issue (e.g. 'nonumber'), but not signcolumn. Solution: set 'signcolumn=auto' in ftplugin/man.vim. By default there is no |signs| in man pages anyway (and I am not aware of any plugins that could define them in man pages), so 'signcolumn=auto' should behave like 'signcolumn=no', i.e. hide the empty column in order to keep buffer width same as terminal width. In a (rare?) case when user does define some signs in man pages, signcolumn will appear (breaking the text flow).
| * refactor(ftplugin/man.vim): rearrange `setlocal` commandsbelkka2024-06-11
| | | | | | | | | | | | | | | | | | | | | | | | Problem: 1. multiple `setlocal` commands are spread across the script. 2. several options, apparently, serve the same purpose (hide UI columns) which may not be immediately clear. more options may be required to fullfill the same purpose or they could be removed all together as a group if better solution is found later 3. `setlocal nofoldenable` may be overriden by conditional block later in the script. Solution: 1. move 'colorcolumn' and 'nolist' to the group of other options at the beginning 2. add an explanatory comment about options that disable UI columns 3. move 'nofoldenable' to the if-else block to keep relevant commands coupled
* | Merge pull request #29357 from luukvbaal/statuscolzeertzjq2024-06-17
|\ \ | | | | | | feat(column)!: rework 'statuscolumn' %r/l items
| * | feat(column)!: rework 'statuscolumn' %r/l itemsLuuk van Baal2024-06-16
| | | | | | | | | | | | | | | | | | | | | Problem: A custom 'statuscolumn' needs to check a bunch of options and placed signs to replicate the default number column. Solution: Rework %l item to include the necessary logic to mimic the default number column. Remove now redundant %r item.
* | | vim-patch:0ddab58: runtime(java): Add a config variable for commonly used ↵Christian Clason2024-06-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | compiler options The value of g:javac_makeprg_params, if set, is added to the value of 'makeprg' as an option string. closes: vim/vim#14999 https://github.com/vim/vim/commit/0ddab582fa13d1d653800494e45ecfba00974a18 Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* | | vim-patch:917ff8a: runtime(html): bump length of character references in ↵Christian Clason2024-06-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | syntax script (vim/vim#15022) This allows handling longer references such as `&CounterClockwiseContourIntegral;`. https://github.com/vim/vim/commit/917ff8a19d2746dd922b7292dc61fb92e18b7ce2 Co-authored-by: Mohamed Akram <mohd.akram@outlook.com>
* | | vim-patch:79da22d: runtime(kdl): fix KdlIndent and kdlComment in indent ↵Christian Clason2024-06-16
| | | | | | | | | | | | | | | | | | | | | | | | script (vim/vim#15019) https://github.com/vim/vim/commit/79da22de755e28bd8d4f58fc4bf34cf94f45de63 Co-authored-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
* | | vim-patch:371bab0: runtime(java): Fold multi-line comments with the syntax ↵Christian Clason2024-06-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | kind of &fdm (vim/vim#15016) Also: - Restore the capability to mark as an error braces nested in parens with g:javaInParen. - Try not to fold top-level-type bodies. (Defining multiple package-private top level types in a single source file is not recommended as it can impose order among compilation units; so it is assumed that only one such top level type is usually defined.) - Compose ‘method header’ highlighting and block braces folding. - Do not highlight block braces whenever ‘method header’ highlighting is requested. This bundling of ‘method headers’ and block braces for highlighting can be traced back to Vim v5.0; however, no comment or documentation entry conveys any justification. For example, it is hard to discover the connection between block braces for "while", "if", etc., statements and method body block braces. The former behaviour can be attained in, e.g. ~/.vim/after/syntax/java.vim: ------------------------------------------------------------ if exists("g:java_highlight_functions") syn clear javaBlock javaInParen syn match javaBlockOther "[{}]" syn region javaBlock transparent matchgroup=javaBlockStart \ start="\%(^\|^\S[^:]\+\)\@120<!{" end="}" fold hi def link javaBlockStart javaFuncDef hi def link javaBlockOther javaBlockStart if exists("g:java_mark_braces_in_parens_as_errors") syn match javaInParen contained "[{}]" endif endif ------------------------------------------------------------ Note: Read ‘a method header omitting a _throws_ clause’ for every ‘method header’ appellation used above. https://github.com/vim/vim/commit/371bab05947b32f26d1b32922e5dc38343a875bc Co-authored-by: Aliaksei Budavei <32549825+zzzyxwvut@users.noreply.github.com>
* | | vim-patch:9.1.0492: filetype: Vim-script files not detected by shebang lineChristian Clason2024-06-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Vim-script files may not be recognised Solution: Add shebang line detection (Doug Kearns) closes: vim/vim#15012 https://github.com/vim/vim/commit/0d4d23dac0a5a77ccb0ebf1dcf646afe0c6886bf Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* | | docs: document 'list' behavior when 'listchars' excludes "tab" (#29360)zeertzjq2024-06-16
| | |
* | | vim-patch:52f2ff0: runtime(zip): revert unintended change to zip#Write()zeertzjq2024-06-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | This was wrongly included as of patch 1c6734291295bf8aa39577840b40bb because apparently I messed up the use of git apply :/ https://github.com/vim/vim/commit/52f2ff03636fe120f3c9d00e9b3cdc1da251bd73 Co-authored-by: Christian Brabandt <cb@256bit.org>
* | | vim-patch:1c67342: runtime(zip): MS-Windows: handle files with spaces properlyzeertzjq2024-06-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change does the following 3 things: 1) non need to quote the file to be extracted The zipfile plugin used to quote and fnameescape() the path to the file to be extracted. However testing with unzip showed, that while this works on Linux on Windows you shall not escape the blanks in filenames. As long as the pathname is properly quoted, this words on Linux and Windows. 2) reset shellslash (MS-Windows only) When shellslash is set, filenames to the zip archive will be forward quoted. However since the filename is eventually handed over to the unzip command, we need to make sure to use native paths so that the command will understand what file to open. Therefore, if shellslash is set (and the shell is cmd.exe), replace any forward slashes by the expected backslashes 3) style: Use tabs for the Header, remove a few comments in the s:Escape() and zip#read() functions fixes: vim/vim#14998 https://github.com/vim/vim/commit/1c6734291295bf8aa39577840b40bb21a7f27120 Co-authored-by: Christian Brabandt <cb@256bit.org>
* | | vim-patch:f4bc59c: runtime(doc): add another tag for vim-shebang feature ↵zeertzjq2024-06-15
|/ / | | | | | | | | | | | | | | | | (#29356) related: vim/vim#15011 https://github.com/vim/vim/commit/f4bc59c4f67786e967db48e944c2cce2c0da8dc1 Co-authored-by: Christian Brabandt <cb@256bit.org>
* | vim-patch:ae321b5: runtime(vim): Update base-syntax, match shebang lines ↵zeertzjq2024-06-15
| | | | | | | | | | | | | | | | | | | | | | | | | | (vim/vim#15011) (#29351) Match shebang lines in Vim9 and legacy script. Mark these as an error if they appear anywhere other than the first line of a legacy-script file. In Vim9 script these match as normal line comments rather than an error. https://github.com/vim/vim/commit/ae321b51f7531b23545d64c3a98ed991a31dd5ee Co-authored-by: dkearns <dougkearns@gmail.com>
* | vim-patch:9.1.0486: filetype: Snakemake files are not recognizedChristian Clason2024-06-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: filetype: Snakemake files are not recognized Solution: Detect '*.smk' and Snakefile files as snakemake filetype (Riley Bruins) See: https://snakemake.readthedocs.io/en/stable/snakefiles/deployment.html#distribution-and-reproducibility closes: vim/vim#14992 https://github.com/vim/vim/commit/82a579e15ad78f4b99d2957300da3076ccc7d378 Co-authored-by: Riley Bruins <ribru17@hotmail.com> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* | fix(defaults): default @/Q broken when 'ignorecase' is set (#29343)Jerry2024-06-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: When 'ignorecase' is set, the default keymap Q and Q would exit visual mode. This issue was raised in #28287 and a fix was applied in #28289. However, `==` operator is subject to user `ignorecase` setting. Solution: Switching to `==#` operator would guarantee case sensitive comparison between visual mode and linewise visual mode. Co-authored-by: Kuanju Chen <kuanju.chen@mksinst.com>
* | docs: misc (#29229)dundargoc2024-06-15
| | | | | | | | | | | | Co-authored-by: Ilia Choly <ilia.choly@gmail.com> Co-authored-by: Jose Pedro Oliveira <jose.p.oliveira.oss@gmail.com> Co-authored-by: Maria José Solano <majosolano99@gmail.com> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* | vim-patch:c509c00: runtime(doc): fix wrong helptag for :deferzeertzjq2024-06-15
| | | | | | | | | | | | https://github.com/vim/vim/commit/c509c009bbc07eff678a9239a5813398e180f019 Co-authored-by: Christian Brabandt <cb@256bit.org>
* | vim-patch:262e25e: runtime(vim): Update base-syntax, match :sleep argzeertzjq2024-06-15
| | | | | | | | | | | | | | | | | | | | Match :sleep arg properly including a lone "m" with a leading count. closes: vim/vim#15003 https://github.com/vim/vim/commit/262e25e5a10438770dc9e23e0d5ffcb116f05d0f Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* | vim-patch:d6d4e13: runtime(doc): rewrite mkdir() doc and simplify {flags} ↵zeertzjq2024-06-15
| | | | | | | | | | | | | | | | | | | | meaning related: vim/vim#14991 https://github.com/vim/vim/commit/d6d4e1333659c0d2acee3133819498d014df47de Co-authored-by: Christian Brabandt <cb@256bit.org>
* | vim-patch:a3bddb7: runtime(vim): Update base-syntax, match :catch and :throw ↵zeertzjq2024-06-15
| | | | | | | | | | | | | | | | | | | | args (vim/vim#14989) Match :catch /{pattern}/ and :throw {expr1}. https://github.com/vim/vim/commit/a3bddb759e77c52431a93a68674790dd02647cd1 Co-authored-by: dkearns <dougkearns@gmail.com>
* | vim-patch:79a14c0: runtime(keymap): include Georgian keymapChristian Clason2024-06-14
| | | | | | | | | | | | | | | | closes: vim/vim#15002 https://github.com/vim/vim/commit/79a14c061bb7c5caafba09b9244f87be37693cf6 Co-authored-by: Misho <nnamper@gmail.com>
* | vim-patch:9.1.0479: fuzzy_match_str_with_pos() does unnecessary list operationszeertzjq2024-06-15
| | | | | | | | | | | | | | | | | | | | | | | | | | Problem: fuzzy_match_str_with_pos() does unnecessary list operations. Solution: Use fuzzy_match() directly (zeertzjq). closes: vim/vim#14987 https://github.com/vim/vim/commit/2f95ca9fcef8495d60e298ac2cd6d702b90bfb18 N/A patch: vim-patch:9.1.0478: potential deref of NULL pointer in fuzzy_match_str_with_pos
* | vim-patch:9.1.0476: Cannot see matched text in popup menuzeertzjq2024-06-15
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Cannot see matched text in popup menu Solution: Introduce 2 new highlighting groups: PmenuMatch and PmenuMatchSel (glepnir) closes: vim/vim#14694 https://github.com/vim/vim/commit/40c1c3317d92f8c2adadf744fab72e4458e2a9fa Co-authored-by: glepnir <glephunter@gmail.com>
* | fix(lsp): tune completion word extraction for decorated labels (#29331)Mathias Fußenegger2024-06-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: For snippets lsp.completion prefers the label if it is shorter than the insertText or textEdit to support postfix completion cases but clangd adds decoration characters to labels. E.g.: `•INT16_C(c)` Solution: Use parse_snippet on insertText/textEdit before checking if it is shorter than the label. Fixes https://github.com/neovim/neovim/issues/29301
* | fix(highlight): add `StatusLineTerm`/`StatusLineTermNC` to `:color vim` (#29313)Evgeni Chasnovski2024-06-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: both `StatusLineTerm`/`StatusLineTermNC` are now explicitly used, but `:color vim` does not set them to the values used in Vim. This might be fine if `:color vim` is treated as "the state of default color scheme prior the big update", but it seems to be better treated as "Vim's default color scheme" (how it is documented in its header). Solution: add `StatusLineTerm`/`StatusLineTermNC` definitions to 'runtime/colors/vim.lua'. Use explicit foreground colors ('Whte'/'Black') instead of `guifg=bg` used in source, as the latter caused some problems in the past (if `Normal` is not defined, `nvim_set_hl()` can't recognize `'bg'` as the foreground value). Also realign the rest of the background conditional highlight groups.
* | refactor(lsp): use metatable for buf_versions (#29304)Ilia Choly2024-06-14
| | | | | | | | | | | | This reduces the number of nil checks around buf_versions usage Test changes were lifted from 5c33815 Co-authored-by: Mathias Fussenegger <f.mathias@zignar.net>
* | fix(lsp): check for nil response from server (#29196)Tama McGlinn2024-06-14
| | | | | | | | | | | | | | | | this only changes the error message, so that it is clear that the error is with the LSP server, rather than being a crash inside nvim runtime scripts. We are already doing a lot of validation, it's just that nil was being overlooked here. This fixes issue #27395
* | vim-patch:partial:9.1.0482: termdebug plugin needs more love (#29329)Yinzuo Jiang2024-06-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: termdebug plugin needs more love Solution: start with some more Vim9 refactoring to improve maintenance and readability (Ubaldo Tiberi) List of Changes and the Reasoning Behind Them: 1) Introduction of InitScriptVariables() Function: Reasoning: This function has been introduced to ensure that when you open and close Termdebug, and then open it again, there are no leftover script variable values from the previous session. Leftover values could potentially cause issues. The goal is for each Termdebug session to be independent of previous sessions. At startup, all script variables are initialized. The only exception is g:termdebug_loaded located at the very beginning of the script to prevent sourcing the script twice. The variables are declared at script level and defined in InitScriptVariables(). 2) More Descriptive Variable Names: Reasoning: The names of variables have been made more comprehensive. Almost every Termdebug buffer now has a variable to indicate its name and another variable to indicate its number, improving code readability and maintainability. Due to the latest discussion around the &mousemodel option save/restore mechanism, perhaps some other variables shall be prepended with saved_. 3) Consistent Naming for GDB Terminal Buffers: Reasoning: The name of the GDB terminal buffer now matches the name of the GDB program being used, e.g., 'gdb', 'mygdb', 'arm-eabi-none-gdb', etc. This ensures clarity and consistency in identifying buffers. 4) Other minor improvements: Moved EchoErr() on top, added another test, some refactoring, mainly changed several 0 and 1 to true and false closes: vim/vim#14980 https://github.com/vim/vim/commit/ef8eab86e29091eaff0d3fb0bc3f7c90f468f6aa Co-authored-by: Ubaldo Tiberi <ubaldo.tiberi@volvo.com>
* | vim-patch:4407461: runtime(netrw): correctly test for windows in NetrwGlob() ↵zeertzjq2024-06-14
| | | | | | | | | | | | | | | | | | | | (#29330) use has("win32") instead of has("win64") otherwise it won't work on x86 systems. https://github.com/vim/vim/commit/440746158ce0fec2880ccacc03f39dbc954c5543 Co-authored-by: Christian Brabandt <cb@256bit.org>
* | fix(terminal): set local values of window options (#29326)zeertzjq2024-06-14
| |
* | vim-patch:1487947: runtime(netrw): glob() on windows fails with [] in ↵zeertzjq2024-06-14
| | | | | | | | | | | | | | | | | | | | directory name (#29324) fixes: vim/vim#14952 closes: vim/vim#14991 https://github.com/vim/vim/commit/1487947fb625d44ed02382ea6b0d5bf72b12583a Co-authored-by: Christian Brabandt <cb@256bit.org>
* | vim-patch:d353d27: runtime(doc): restore description of "$" in col() and ↵zeertzjq2024-06-14
| | | | | | | | | | | | | | | | virtcol() (vim/vim#14981) These are different from line() and getpos(). https://github.com/vim/vim/commit/d353d2782032b91498601afefee4256592f48074
* | vim-patch:02f3eba: runtime(doc): deduplicate getpos(), line(), col(), virtcol()zeertzjq2024-06-14
| | | | | | | | | | | | | | | | | | Move the main description to getpos() and link to that from the other functions. closes: vim/vim#14970 https://github.com/vim/vim/commit/02f3ebacfbfa1f892347d7532278f24620e68300
* | vim-patch:902b766: runtime(java): Include element values in non-marker ↵Christian Clason2024-06-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | annotations (vim/vim#14979) Make a formal definition for normal and single-element kinds of annotations that otherwise require for their containment to repeat each time all syntax groups that describe element values. Reference: https://docs.oracle.com/javase/specs/jls/se21/html/jls-9.html#jls-9.7 https://github.com/vim/vim/commit/902b766858fad89ab30b4e0a92ddd1244b2a4cbe Co-authored-by: Aliaksei Budavei <32549825+zzzyxwvut@users.noreply.github.com>
* | Merge pull request #29103 from gpanders/test-no-tgcGregory Anders2024-06-12
|\ \ | | | | | | test: do not set termguicolors in test runner
| * | fix(vim.text): remove assert from vim.text.hexdecodeGregory Anders2024-05-31
| | | | | | | | | | | | Instead, return nil plus an error message if the input is invalid.
* | | Merge pull request #29303 from lewis6991/fix/wobufLewis Russell2024-06-12
|\ \ \ | | | | | | | | fix(vim.wo): never allow non-zero bufnr
| * | | fix(vim.wo): never allow non-zero bufnrLewis Russell2024-06-12
| | | |
* | | | refactor(terminal): move :terminal defaults to _defaults.luaGregory Anders2024-06-12
| | | |
* | | | feat(highlight): add StatusLineTerm and StatusLineTermNC groupsGregory Anders2024-06-12
|/ / / | | | | | | | | | | | | | | | | | | These highlight groups are used for the statusline in :terminal windows. By default they link to StatusLine and StatusLineNC (respectively), so there is no visual difference unless a colorscheme defines these groups separately.
* | | vim-patch:210b39c: runtime(doc): clarify documentation for "v" position at ↵zeertzjq2024-06-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | line() (#29296) Problem: the previous documentation falsely states that "v" always refers to the start of a visual area. In fact, the reference of "v" and "." complement each other. If the cursor is at the start of a (characterwise) visual area, then "v" refers to the end of the area. Solution: be more verbose and explicit about the connection between "." and "v" and also refer to |v_o| which many vim users will be familiar with for visual areas. https://github.com/vim/vim/commit/210b39c2d686d875e2464ca1f42131453dc6bd41 Co-authored-by: Peter Aronoff <peter@aronoff.org>