aboutsummaryrefslogtreecommitdiff
path: root/runtime
Commit message (Collapse)AuthorAge
...
| * | | 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
| * vim-patch:ff0baca86523 (#26476)zeertzjq2023-12-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(syntax): unlet b:filetype_in_cpp_family for cpp & squirrel Update runtime/syntax/cpp.vim and runtime/syntax/squirrel.vim to unlet b:filetype_in_cpp_family as it remains set even after updating the ft of a file manually or through a modeline, not allowing c specific keywords to be highlighted. Since the variable b:filetype_in_cpp_family is only used by the c.vim syntax script, unlet it directly after sourcing the c.vim runtime file instead of at the end of the script. Also update the last Change Header for both files. closes: vim/vim#13650 https://github.com/vim/vim/commit/ff0baca86523f1e8c6ea593ec0ef2f9860f001d0 Co-authored-by: laburnumT <laburnumtec@gmail.com>
| * fix(snippet): remove misleading comment about TM_FILENAME_BASE (#26465)Maria José Solano2023-12-08
| |
| * Merge pull request #26407 from gpanders/default-tgcGregory Anders2023-12-06
| |\ | | | | | | feat(defaults): enable 'termguicolors' by default when supported by terminal
| | * feat(defaults): enable 'termguicolors' by default when supported by terminalGregory Anders2023-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enable 'termguicolors' automatically when Nvim can detect that truecolor is supported by the host terminal. If $COLORTERM is set to "truecolor" or "24bit", or the terminal's terminfo entry contains capabilities for Tc, RGB, or setrgbf and setrgbb, then we assume that the terminal supports truecolor. Otherwise, the terminal is queried (using both XTGETTCAP and SGR + DECRQSS). If the terminal's response to these queries (if any) indicates that it supports truecolor, then 'termguicolors' is enabled.
| * | fix(json): allow objects with empty keys #25564Emanuel2023-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Empty string is a valid JSON key, but json_decode() treats an object with empty key as ":help msgpack-special-dict". #20757 :echo json_decode('{"": "1"}') {'_TYPE': [], '_VAL': [['', '1']]} Note: vim returns `{'': '1'}`. Solution: Allow empty string as an object key. Note that we still (currently) disallow empty keys in object_to_vim() (since 7c01d5ff9286d262097484c680e3a4eab49e2911): https://github.com/neovim/neovim/blob/f64e4b43e1191ff30d902730f752875aa55682ce/src/nvim/api/private/converter.c#L333-L334 Fix #20757 Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
| * | vim-patch:6863084d3bd0Christian Clason2023-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(fortran): update syntax and ftplugins closes: vim/vim#13629 https://github.com/vim/vim/commit/6863084d3bd044700973e6180ccb1a044566ec46 Co-authored-by: Ajit-Thakkar <142174202+Ajit-Thakkar@users.noreply.github.com>
| * | vim-patch:4e043b1fc7eeChristian Clason2023-12-06
| |/ | | | | | | | | | | | | | | | | | | runtime(vim): Update syntax file and syntax test (vim/vim#13632) Add missing assignment operators (:let*=, :let/= and :let%=). https://github.com/vim/vim/commit/4e043b1fc7eeba2f726bbca3d50a4e872c8cb658 Co-authored-by: dkearns <dougkearns@gmail.com>
| * feat(lua): implement Iter:join() (#26416)Gregory Anders2023-12-05
| |
| * docs: small fixes (#26243)dundargoc2023-12-06
| | | | | | | | | | Co-authored-by: umlx5h <umlx5h21@protonmail.com> Co-authored-by: Gregory Anders <greg@gpanders.com> Co-authored-by: Evan Farrar <evan@evanfarrar.com>
| * vim-patch:2103a56eab5a (#26411)zeertzjq2023-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | runtime(doc): remove non-existent parameter in shift-command (vim/vim#13626) The variant with the {count} parameter is explained in the next item. https://github.com/vim/vim/commit/2103a56eab5a935f3c14c6e0b1610ff16fc8678f N/A patches: vim-patch:9.0.2150: Using int for errbuflen in option funcs vim-patch:3f7855a6123c Co-authored-by: Roy Orbitson <Roy-Orbison@users.noreply.github.com>
| * refactor(api): complete conversion from `Dictionary` to `Dict(opts)` (#26365)Riccardo Mazzarini2023-12-05
| |
| * vim-patch:9.0.2148: Vim does not detect pacman.log fileChristian Clason2023-12-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Vim does not detect pacman.log file Solution: Detect pacmanlogs and add syntax highlighting pacman.log is a filetype common to Arch Liux and related distributions. Add some simple syntax highlighting for the pacmanlog filetype. closes: vim/vim#13618 https://github.com/vim/vim/commit/1e5d66408ef85c750a5af03bbf5cc19b5de7a6bc Co-authored-by: Ronan Pigott <ronan@rjp.ie>
| * fix(treesitter): allow passing lang to vim.treesitter.get_node() now ↵Jongwook Choi2023-12-04
| | | | | | | | | | | | | | | | | | | | correctly takes opts.lang (#26360) PROBLEM: `vim.treesitter.get_node()` does not recognize the `lang` in the option table. This option was used in somewhere else, for instance, `vim.treesitter.dev` (for `inspect_tree`) but was never implemented. SOLUTION: Make `get_node()` correctly use `opts.lang` when getting a treesitter parser.
| * feat(treesitter): highlight help files by default (#26347)Christian Clason2023-12-03
| |
| * feat(highlight): update default color schemeEvgeni Chasnovski2023-12-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Default color scheme is suboptimal. Solution: Start using new color scheme. Introduce new `vim` color scheme for opt-in backward compatibility. ------ Main design ideas - Be "Neovim branded". - Be minimal for 256 colors with a bit more shades for true colors. - Be accessible through high enough contrast ratios. - Be suitable for dark and light backgrounds via exchange of dark and light palettes. ------ Palettes - Have dark and light variants. Implemented through exporeted `NvimDark*` and `NvimLight*` hex colors. - Palettes have 4 shades of grey for UI elements and 6 colors (red, yellow, green, cyan, blue, magenta). - Actual values are computed procedurally in Oklch color space based on a handful of hyperparameters. - Each color has a 256 colors variant with perceptually closest color. ------ Highlight groups Use: - Grey shades for general UI according to their design. - Bold text for keywords (`Statement` highlight group). This is an important choice to increase accessibility for people with color deficiencies, as it doesn't rely on actual color. - Green for strings, `DiffAdd` (as background), `DiagnosticOk`, and some minor text UI elements. - Cyan as main syntax color, i.e. for function usage (`Function` highlight group), `DiffText`, `DiagnosticInfo`, and some minor text UI elements. - Red to generally mean high user attention, i.e. errors; in particular for `ErrorMsg`, `DiffDelete`, `DiagnosticError`. - Yellow very sparingly only with true colors to mean mild user attention, i.e. warnings. That is, `DiagnosticWarn` and `WarningMsg`. - Blue very sparingly only with true colors as `DiagnosticHint` and some additional important syntax group (like `Identifier`). - Magenta very carefully (if at all). ------ Notes - To make tests work without relatively larege updates, each one is prepended with an equivalent of the call `:colorscheme vim`. Plus some tests which spawn new Neovim instances also now use 'vim' color scheme. In some cases tests are updated to fit new default color scheme.
| * vim-patch:9.0.2139: html.angular ft is problematic (#26357)zeertzjq2023-12-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: html.angular ft is problematic Solution: partly revert v9.0.2137 The html.angular filetype causes issues and does not trigger FileType autocommands for the html or angular filetypes. So let's roll back that particular change and detect this only as html file related: https://github.com/vim/vim/pull/13594#issuecomment-1834465890 closes: vim/vim#13604 https://github.com/vim/vim/commit/4f3480c94358e3b938594fc3574477e780525cd7 Co-authored-by: Christian Brabandt <cb@256bit.org>
| * fix: use BEL to terminate OSC 11 request (#26335)Gregory Anders2023-11-30
| |
| * vim-patch:9.0.2137: Can't detect angular & mustache filetypesObserverOfTime2023-11-30
| | | | | | | | | | | | | | | | | | | | Problem: Can't detect angular & mustache filetypes Solution: Detect *.mustache as Mustache filetype; detect *.component.html as html.angular filetype closes: vim/vim#13594 https://github.com/vim/vim/commit/7bed263c343c62129c5d8f51796895a28db1b312
| * fix: Remove nested for_each_tree in TSTreeView (#26328)Pham Huy Hoang2023-11-30
| | | | | | | | | | | | | | | | | | | | | | Problem: `LanguageTree:for_each_tree` calls itself for child nodes, so when we calls `for_each_tree` inside `for_each_tree`, this quickly leads to exponential tree calls. Solution: Use `pairs(child:trees())` directly in this case, as we don't need the extra callback for each children, this is already handled from the outer `for_each_tree` call
| * fix(treesitter): fix parens stacking in inspector display (#26304)Gregory Anders2023-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When first opened, the tree-sitter inspector traverses all of the nodes in the buffer to calculate an array of nodes. This traversal is done only once, and _all_ nodes (both named and anonymous) are included. Toggling anonymous nodes in the inspector only changes how the tree is drawn in the buffer, but does not affect the underlying data structure at all. When the buffer is traversed and the list of nodes is calculated, we don't know whether or not anonymous nodes will be displayed in the inspector or not. Thus, we cannot determine during traversal where to put closing parentheses. Instead, this must be done when drawing. When we draw, the tree structure has been flatted into a single array, so we lose parent-child relationships that would otherwise make determining the number of closing parentheses straightforward. However, we can instead rely on the fact that a delta between the depth of a node and the depth of the successive node _must_ mean that more closing parentheses are required: (foo (bar) (baz) ↑ │ └ (bar) and (baz) have different depths, so (bar) must have an extra closing parenthesis This does not depend on whether or not anonymous nodes are displayed and so works in both cases.
| * build: don't define FUNC_ATTR_* as empty in headers (#26317)zeertzjq2023-11-30
| | | | | | | | | | | | FUNC_ATTR_* should only be used in .c files with generated headers. Defining FUNC_ATTR_* as empty in headers causes misuses of them to be silently ignored. Instead don't define them by default, and only define them as empty after a .c file has included its generated header.
| * vim-patch:a9058440b7b9Christian Clason2023-11-29
| | | | | | | | | | | | | | | | | | | | | | | | runtime(html): Update syntax file (vim/vim#13591) Add missing search element and update ARIA attribute list. Add a very basic test file to check all elements are matched. https://github.com/vim/vim/commit/a9058440b7b9d7f5d0027c8cd44366e9200ca241 Co-authored-by: dkearns <dougkearns@gmail.com>