aboutsummaryrefslogtreecommitdiff
path: root/runtime
Commit message (Collapse)AuthorAge
* fix(docs): make lines not overflow in vim docsJongwook Choi2024-01-09
| | | | | | | | | Problem: Some lines in the generated vim doc are overflowing, not correctly wrapped at 78 characters. This happens when docs body contains several consecutive 'inline' elements generated by doxygen. Solution: Take into account the current column offset of the last line, and prepend some padding before doc_wrap().
* docs(treesitter): improve 'no parser' error message for InspectTreeJongwook Choi2024-01-08
| | | | | | | | | | | | | Improve error messages for `:InspectTree`, when no parsers are available for the current buffer and filetype. We can show more informative and helpful error message for users (e.g., which lang was searched for): ``` ... No parser available for the given buffer: +... no parser for 'custom_ft' language, see :help treesitter-parsers ``` Also improve the relevant docs for *treesitter-parsers*.
* fix(defaults): use augroup for default autocommands (#26933)Gregory Anders2024-01-06
|
* docs(luvref): update to version bumpChristian Clason2024-01-06
|
* vim-patch:9.1.0007: can select empty inner text blockszeertzjq2024-01-06
| | | | | | | | | | | | | | | Problem: can select empty inner text blocks (laurentalacoque) Solution: make selecting empty inner text blocks an error textobjects: Make selecting inner empty blocks an error fixes: vim/vim#13514 closes: vim/vim#13523 https://github.com/vim/vim/commit/ad4d7f446dc6754bde212234d46f4849b520b6e0 Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:9.1.0010: Keymap completion is not available (#26888)zeertzjq2024-01-05
| | | | | | | | | | | | | Problem: Keymap completion is not available Solution: Add keymap completion (Doug Kearns) Add keymap completion to the 'keymap' option, user commands and builtin completion functions. closes: vim/vim#13692 https://github.com/vim/vim/commit/81642d9d6ff5cd6a90a012b1b98632ce51eeb1a8 Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* fix(health): fix tmux RGB capability detection (#26886)Tristan Partin2024-01-04
| | | | | | | tmux indicates its RGB support via setrgbb and setrgbf. In modern tmux code, Tc and RGB just set setrgbb and setrgbf, so we can just check for them. Link: https://github.com/tmux/tmux/commit/7eb496c00c313c2f8ab8debe6d154d5ac0db277b
* Merge pull request #26791 from wookayin/gendocLewis Russell2024-01-04
|\ | | | | refactor(gen_vimdoc): general refactoring on vimdoc generation
| * refactor(gen_vimdoc): generate function doc from metadata, not from xmlJongwook Choi2024-01-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: For function definitions to be included in the vimdoc (formatted) and to be exported as mpack data (unformatted), we had two internal representations of the same function/API metadata in duplicate; one is FunctionDoc (which was previously a dict), and the other is doxygen XML DOM from which vimdoc (functions sections) was generated. Solution: We should have a single path and unified data representation (i.e. FunctionDoc) that contains all the metadata and information about function APIs, from which both of mpack export and vimdoc are generated. I.e., vimdocs are no longer generated directly from doxygen XML nodes, but generated via: (XML DOM Nodes) ------------> FunctionDoc ------> mpack (unformatted) Recursive Internal | Formatting Metadata +---> vimdoc (formatted) This refactoring eliminates the hacky and ugly use of `fmt_vimhelp` in `fmt_node_as_vimhelp()` and all other helper functions! This way, `fmt_node_as_vimhelp()` can simplified as it no longer needs to handle generating of function docs, which needs to be done only in the topmost level of recursion.
| * fix(docs): clean up non-docstring comments for vimdoc genJongwook Choi2024-01-02
| | | | | | | | | | These non-docstring comments can be included into doxygen's brief description and then appear in the succeeding function documentation.
* | refactor(column): define and use maximum 'statuscolumn' widthLuuk van Baal2024-01-04
| | | | | | | | | | Problem: The maximum 'statuscolumn' width and grow behavior is undocumented. Solution: Define, use and document the maximum 'statuscolumn' width and grow behavior.
* | fix(decorations): validate botline for on_winJaehwang Jung2024-01-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Many decoration providers (treesitter injection highlighting, semantic token highlighting, inlay hint) rely on the correctness of the `botline` argument of `on_win` callback. However, `botline` can be smaller than the actual line number of the last displayed line if some lines are folded. In such cases, some decorations will be missing in the lines not covered by `botline`. Solution: Validate `botline` when invoking `on_win`. NOTE: It seems that the old code was deliberately avoiding this presumably due to performance reasons. However, I haven't experienced noticeable lag after this change, and I believe the cost of botline computation would be much smaller than the cost of decoration providers.
* | vim-patch:d94ca966ca6dChristian Clason2024-01-04
| | | | | | | | | | | | | | | | | | | | runtime(fortran): syntax and documentation updates (vim/vim#13811) closes: vim/vim#13802 https://github.com/vim/vim/commit/d94ca966ca6d85d3dd03c8b68ff6a4cbae4da1af Co-authored-by: Ajit-Thakkar <142174202+Ajit-Thakkar@users.noreply.github.com>
* | vim-patch:b1392bee701dChristian Clason2024-01-04
| | | | | | | | | | | | | | | | | | | | runtime(doc): document that the diff filetype uses Diff hl groups related: vim/vim#13776 https://github.com/vim/vim/commit/b1392bee701d887b66b596c9af26bfcb6f0614b8 Co-authored-by: Christian Brabandt <cb@256bit.org>
* | vim-patch:80beeef0c6a4Christian Clason2024-01-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(vim): Add support for <ScriptCmd> syntax (vim/vim#10686) Adding `<ScriptCmd>` to list of angle-bracket notation syntax, just like `<Cmd>` `<Cmd>` is already highlighted. ```vim nnoremap <leader>o <Cmd>Oldfiles()<CR> ``` `<ScriptCmd>` is not. https://github.com/vim/vim/commit/80beeef0c6a4c44b190631725bce3dcc5635e3ee Co-authored-by: dezza <402927+dezza@users.noreply.github.com>
* | vim-patch:d4634a26cdcdChristian Clason2024-01-04
| | | | | | | | | | | | | | | | runtime(vim): Add support for `syntax foldlevel` command (vim/vim#6182) https://github.com/vim/vim/commit/d4634a26cdcdbd0f22ec608bb4954cd7eb8db528 Co-authored-by: Brad King <brad.king@kitware.com>
* | vim-patch:9.1.0004: reloading colorscheme when not changing 'background' ↵zeertzjq2024-01-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#26877) Problem: reloading colorscheme when not changing 'background' Solution: Check, if the background option value actually changed, if not, return early. Only reload colorscheme when bg is changed Currently the highlight groups are re-initialized and the colorscheme (if any) is reloaded anytime 'background' is set, even if it is not changed. This is unnecessary, because if the value was not changed then there is no need to change highlight groups or do anything with the colorscheme. Instead, only reload the colorscheme if the value of 'background' was actually changed. closes: vim/vim#13700 https://github.com/vim/vim/commit/83ad2726ff56db70cb2da78e1e4ea0e09941c73b Co-authored-by: Gregory Anders <greg@gpanders.com>
* | feat(lua): add noref to deepcopyLewis Russell2024-01-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Currently `deepcopy` hashes every single tables it copies so it can be reused. For tables of mostly unique items that are non recursive, this hashing is unnecessarily expensive Solution: Port the `noref` argument from Vimscripts `deepcopy()`. The below benchmark demonstrates the results for two extreme cases of tables of different sizes. One table that uses the same table lots of times and one with all unique tables. | test | `noref=false` (ms) | `noref=true` (ms) | | -------------------- | ------------------ | ----------------- | | unique tables (50) | 6.59 | 2.62 | | shared tables (50) | 3.24 | 6.40 | | unique tables (2000) | 23381.48 | 2884.53 | | shared tables (2000) | 3505.54 | 14038.80 | The results are basically the inverse of each other where `noref` is much more performance on tables with unique fields, and `not noref` is more performant on tables that reuse fields.
* | docs: small fixesdundargoc2024-01-02
| | | | | | | | | | | | Co-authored-by: Christian Clason <c.clason@uni-graz.at> Co-authored-by: HiPhish <hiphish@posteo.de> Co-authored-by: JD Rudie <rudiejd@miamioh.edu>
* | docs(lsp): add supports_method to vim.lsp.client docs (#26852)Mathias Fußenegger2024-01-02
|/
* docs(glob): add glob module (#26853)Mathias Fußenegger2024-01-02
|
* vim-patch:10b4f75d4c03 (#26846)zeertzjq2024-01-02
| | | | | | | | | | | runtime(dist/ft): improve filetype detection for *.v (V/Verilog/Coq) Patch provided by Dan Alt closes: vim/vim#13793 https://github.com/vim/vim/commit/10b4f75d4c03c1cd4f579be5fdc812ba41b72fef Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:34d15155fc45Christian Clason2024-01-02
| | | | | | | | runtime(menu): regenerate synmenu https://github.com/vim/vim/commit/34d15155fc45162bc0036e97f9ddfc7b9b1630bd Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:b16fc9805535Christian Clason2024-01-02
| | | | | | | | | | runtime(sh): Update sh syntax and add local keyword for bash (vim/vim#13806) add `local` in shStatement https://github.com/vim/vim/commit/b16fc9805535dc6eb084142da0c87210fc102494 Co-authored-by: Lucien Grondin <grondilu@yahoo.fr>
* vim-patch:d08059ab48b8Christian Clason2024-01-02
| | | | | | | | runtime(ruby): Update ftplugin and omni-complete (vim/vim#13805) https://github.com/vim/vim/commit/d08059ab48b822a25060b8a486085371ddeebcf7 Co-authored-by: dkearns <dougkearns@gmail.com>
* refactor(lsp): fix remaining luals warnings in lsp.rpcMathias Fussenegger2024-01-02
|
* feat(lsp): support connect via named pipes/unix domain sockets (#26032)TheLeoP2024-01-02
| | | | | Closes https://github.com/neovim/neovim/issues/26031 Co-authored-by: Mathias Fussenegger <f.mathias@zignar.net>
* feature(diagnostic): add `vim.diagnostic.count()` (#26807)Evgeni Chasnovski2024-01-01
| | | | | | | | | | | | | feat(diagnostic): add `vim.diagnostic.count()` Problem: Getting diagnostic count based on the output of `vim.diagnostic.get()` might become costly as number of diagnostic entries grows. This is because it returns a copy of diagnostic cache entries (so as to not allow users to change them in place). Getting information about diagnostic count is frequently used in statusline, so it is important to be as fast as reasonbly possible. Solution: Add `vim.diagnostic.count()` which computes severity counts without making copies.
* refactor(health): refactor provider healthchecksGregory Anders2024-01-01
| | | | | | * Prefer pure Lua functions over vim.fn * Split up provider healthchecks into separate modules to help manage complexity
* feat(treesitter): highlight Lua files by default (#26824)Christian Clason2024-01-01
|
* docs: clarify on_bytes argumentsJaehwang Jung2024-01-01
| | | | based on extmark_splice doc
* fix(builtin): parameter mismatch between winsaveview and winrestviewaltermo2023-12-31
|
* refactor: fix luals warningsdundargoc2023-12-30
|
* build: various improvementsdundargoc2023-12-30
| | | | | | | | | | - Use `#pragma once` for `cmake.config/config.h.in` - Remove unused variable `CACHED_GENERATED_DIR` - Reorganize and sort variables - Introduce `STYLUA_DIRS` variable to ensure the `formatlua` and `lintlua-stylua` operates on the same files. - Adjust variable scope to avoid using hacky directory properties. - Add more necessary runtime files as test dependencies
* vim-patch:d96f25bd69c1Christian Clason2023-12-30
| | | | | | | | | | | | | | | | | | | runtime(fortran): update syntax and documentation (vim/vim#13784) * Update Fortran section of indent.txt * Small addition to fortran syntax * Update Fortran section of syntax.txt * Runtime (Fortran) Fix regression * Combine two expressions https://github.com/vim/vim/commit/d96f25bd69c14bc257281a580f344240c72f4999 Co-authored-by: Ajit-Thakkar <142174202+Ajit-Thakkar@users.noreply.github.com>
* vim-patch:715a8058895fChristian Clason2023-12-29
| | | | | | | | runtime(cucumber): Updates to indent and syntax https://github.com/vim/vim/commit/715a8058895f5908f44ee243fdafa431b6483e47 Co-authored-by: Tim Pope <code@tpope.net>
* vim-patch:244f01658f9cChristian Clason2023-12-29
| | | | | | | | runtime(markdown): Fix folding of code blocks https://github.com/vim/vim/commit/244f01658f9c60c71a776a2162c28ea93e102f12 Co-authored-by: Tim Pope <code@tpope.net>
* vim-patch:a907c9199216Christian Clason2023-12-29
| | | | | | | | runtime(sass): Provide sass_recommended_style option https://github.com/vim/vim/commit/a907c91992167e41da41008d4370e434e324cbf2 Co-authored-by: Tim Pope <code@tpope.net>
* vim-patch:fda02d03c0cfChristian Clason2023-12-29
| | | | | | | | runtime(gitcommit): Updates to ftplugin and syntax https://github.com/vim/vim/commit/fda02d03c0cfe017e465c58b3baf8b3106287578 Co-authored-by: Tim Pope <code@tpope.net>
* vim-patch:757714c0cba7Christian Clason2023-12-29
| | | | | | | | runtime(git): Make diffs foldable https://github.com/vim/vim/commit/757714c0cba7772b987b2513559bcb74ce53ce3f Co-authored-by: Tim Pope <code@tpope.net>
* vim-patch:48ddc6a6f86fChristian Clason2023-12-29
| | | | | | | | runtime(git): Add small ftplugin https://github.com/vim/vim/commit/48ddc6a6f86f1f42bdb49d308d72c15b0e90ce5a Co-authored-by: Tim Pope <code@tpope.net>
* docs: convert BACKERS.md to backers.txtdundargoc2023-12-28
| | | | | | There is no reason for this file to be in project root, which is crowded as is. This also fits nicely part of the ongoing work towards gathering as much of the documentation as possible into one place.
* docs(eval): add parameter type for vim.fn.mode() (#26776)xvzc2023-12-28
|
* vim-patch:d1cea036467cChristian Clason2023-12-28
| | | | | | | | | | runtime(elixir): missing undo_ftplugin for indentkeys fixup after vim/vim#13771 https://github.com/vim/vim/commit/d1cea036467ca55d7698378679a1e32c9f056d59 Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:7e2741100737Christian Clason2023-12-28
| | | | | | | | runtime(elixir): fix indentation (vim/vim#13771) https://github.com/vim/vim/commit/7e27411007378e005339ef37503697ae7e183da1 Co-authored-by: George Guimarães <george.guimaraes@gmail.com>
* vim-patch:a03647acc313Christian Clason2023-12-28
| | | | | | | | | | | | | runtime(mermaid): Syntax fix (vim/vim#13774) * runtime(mermaid): Fix arrow syntax * runtime(mermaid): Disable syntax for identifier to avoid false match * runtime(mermaid): Add some C++ type syntax highlight * runtime(mermaid): Update last change time in header https://github.com/vim/vim/commit/a03647acc313edfcc4f9cde07efe388762ada436 Co-authored-by: KSR-Yasuda <31273423+KSR-Yasuda@users.noreply.github.com>
* vim-patch:00b470052b71Christian Clason2023-12-28
| | | | | | | | | | | | | | runtime(diff): Update default links (vim/vim#13776) Problem: Current default links for `diffAdded`, `diffChanged`, and `diffRemoved` do not address the diff nature of the filetype. Solution: Use `DiffAdd`, `DiffChange`, and `DiffDelete`. closes: vim/vim#13759 https://github.com/vim/vim/commit/00b470052b71ca10d663186d99683e8379b21154 Co-authored-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com>
* docs: small fixes (#26651)dundargoc2023-12-28
| | | | Co-authored-by: Gregory Anders <greg@gpanders.com> Co-authored-by: WillLillis <wlillis@umass.edu>
* vim-patch:65672ae1189e (#26767)zeertzjq2023-12-28
| | | | | | | | | | | | | runtime(doc): clarify behaviour of ]m and ]M motions In particular remove the sentence, that a missing '{' (for ]m) or '}' (for ]M) after the cursor is an error, since currently this is not treated as an error. fixes: vim/vim#13777 https://github.com/vim/vim/commit/65672ae1189e0638fb68856598b98a2b7ee2a0a8 Co-authored-by: Christian Brabandt <cb@256bit.org>
* revert: "fix: correct versions in deprecation warnings"dundargoc2023-12-27
| | | | | | | | | | | | | | This reverts commit 5cb906e91cb56302d0737aa80e2d890dde452029. They were intentionally fast-tracked. - `parse_snippet()` because of limited scope, and given that it's kinda semi-broken (arbitrary formatting rules, not that useful for what it was used for) - `extract_completion_items()` doesn't work if we want to add the LSP completionlist capability - `text_document_completion_list_to_complete_items()` also doesn't work for completionlist