summaryrefslogtreecommitdiffstatshomepage
path: root/runtime/lua/vim
AgeCommit message (Collapse)AuthorFiles
2023-03-31fix(loader): disable profiling by defaultLewis Russell1
2023-03-30feat(diagnostic): add support for tagsLewis Russell4
The LSP spec supports two tags that can be added to diagnostics: unnecessary and deprecated. Extend vim.diagnostic to be able to handle these.
2023-03-30Merge pull request #22791 from lewis6991/refactor/loadermiscLewis Russell2
refactor(loader): changes
2023-03-30feat: add `vim.treesitter.language.get_filetypes()` (#22643)Lewis Russell3
2023-03-29vim-patch:9.0.1430: Livebook files are not recognized (#22808)Christian Clason1
Problem: Livebook files are not recognized. Solution: Add a pattern for Livebook files. (Mathias Jean Johansen, closes vim/vim#12203) https://github.com/vim/vim/commit/64002035178ac3e0d9ab7269d1bf06c6ede5a854 Co-authored-by: Mathias Jean Johansen <mathias@mjj.io>
2023-03-26refactor(loader): simplify tracking logicLewis Russell1
2023-03-26feat(vim.fs): improve normalizeLewis Russell2
- Add options argument with an option to expand env vars - Resolve '//' -> '/' - Use in vim.loader
2023-03-26refactor(loader): add typing for package.loadersLewis Russell1
2023-03-26refactor(loader): remove BufWritePost autocmdLewis Russell1
2023-03-26refactor(loader): use vim.fsLewis Russell2
2023-03-26feat(lua): add `vim.loader`Folke Lemaitre2
feat: new faster lua loader using byte-compilation
2023-03-26test: use exec_capture() in more places (#22787)zeertzjq1
Problem: Using `meths.exec2("code", { output = true })` is too verbose. Solution: Use exec_capture() in more places.
2023-03-25feat(api): nvim_exec2(), deprecate nvim_exec() #19032Evgeni Chasnovski1
Problem: The signature of nvim_exec() is not extensible per ":help api-contract". Solution: Introduce nvim_exec2() and deprecate nvim_exec().
2023-03-25feat(lsp): render markdown in docs hover #22766Roberto Pommella Alegro1
Problem: LSP docs hover (textDocument/hover) doesn't handle HTML escape seqs in markdown. Solution: Convert common HTML escape seqs to a nicer form, to display in the float. closees #22757 Signed-off-by: Kasama <robertoaall@gmail.com>
2023-03-25fix(lsp): add missing silent check in lsp hover handler (#22763)Micah Halter1
Fixup to #21531.
2023-03-25docs: more details about vim.region (#21116)Jakub Łuczyński1
2023-03-24fix(treesitter): add missing deprecateLewis Russell2
2023-03-24feat(treesitter)!: deprecate top level indexes to modules (#22761)Lewis Russell5
The following top level Treesitter functions have been moved: - vim.treesitter.inspect_language() -> vim.treesitter.language.inspect() - vim.treesitter.get_query_files() -> vim.treesitter.query.get_files() - vim.treesitter.set_query() -> vim.treesitter.query.set() - vim.treesitter.query.set_query() -> vim.treesitter.query.set() - vim.treesitter.get_query() -> vim.treesitter.query.get() - vim.treesitter.query.get_query() -> vim.treesitter.query.get() - vim.treesitter.parse_query() -> vim.treesitter.query.parse() - vim.treesitter.query.parse_query() -> vim.treesitter.query.parse() - vim.treesitter.add_predicate() -> vim.treesitter.query.add_predicate() - vim.treesitter.add_directive() -> vim.treesitter.query.add_directive() - vim.treesitter.list_predicates() -> vim.treesitter.query.list_predicates() - vim.treesitter.list_directives() -> vim.treesitter.query.list_directives() - vim.treesitter.query.get_range() -> vim.treesitter.get_range() - vim.treesitter.query.get_node_text() -> vim.treesitter.get_node_text()
2023-03-24vim-patch:9.0.1425: "wat" and "wast" files are one filetype (#22774)Christian Clason1
Problem: "wat" and "wast" files are one filetype. Solution: Add a separate filetype for "wat" files. (Amaan Qureshi, closes vim/vim#12165) https://github.com/vim/vim/commit/3ea62381c527395ae701715335776f427d22eb7b Co-authored-by: Amaan Qureshi <amaanq12@gmail.com>
2023-03-23fix(treesitter): annotationsLewis Russell6
- Begin using `@package` in place of `@private` for functions that are accessed internally but outside their defined class. - Rename Node -> TSP.Node
2023-03-23fix(lsp): Jump to tag locations reliably when :ltag is used (#22750)meredith1
2023-03-22Merge #22736 from justinmk/gsplitJustin M. Keyes2
feat(vim.gsplit): gain features of vim.split
2023-03-22fix(api): vim.filetype.get_option() (#22753)Lewis Russell1
- Fix a bug in the cache - Set some buffer options on the dummy buffer
2023-03-22refactor(vim.gsplit): remove "keepsep"Justin M. Keyes2
string.gmatch() is superior, use that instead.
2023-03-22fix(vim.version): prerelease compareJustin M. Keyes2
Problem: semver specifies that digit sequences in a prerelease string should be compared as numbers, not lexically: https://semver.org/#spec-item-11 > Precedence for two pre-release versions with the same major, minor, > and patch version MUST be determined by comparing each dot separated > identifier from left to right until a difference is found as follows: > 1. Identifiers consisting of only digits are compared numerically. > 2. Identifiers with letters or hyphens are compared lexically in ASCII sort order. > 3. Numeric identifiers always have lower precedence than non-numeric identifiers. > 4. A larger set of pre-release fields has a higher precedence than a smaller set, if all of the preceding identifiers are equal. Example: 1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-alpha.beta < 1.0.0-beta < 1.0.0-beta.2 < 1.0.0-beta.11 < 1.0.0-rc.1 < 1.0.0. Solution: cmp_prerel() treats all digit sequences in a prerelease string as numbers. This doesn't _exactly_ match the spec, which specifies that only dot-delimited digit sequences should be treated as numbers...
2023-03-22feat(vim.gsplit): gain features of vim.splitJustin M. Keyes1
Problem: - vim.split has more features than vim.gsplit. - Cannot inspect the "separator" segments of vim.split or vim.gsplit. Solution: - Move common implementation from vim.split into vim.gsplit. - TODO: deprecate vim.split in favor of vim.totable(vim.gsplit())? - Introduce `keepsep` parameter. Related: 84f66909e4008a57da947f1640bfc24da5e41a72
2023-03-22vim-patch:9.0.{1419,1421,1422,1423}: some files are not recognized (#22749)Amaan Qureshi1
vim-patch:9.0.1419: Lean files are not recognized Problem: Lean files are not recognized. Solution: Add a pattern for Lean files. (Amaan Qureshi, closes vim/vim#12177) https://github.com/vim/vim/commit/4a5c39fc52a73d46ac77cf574f765a465befc3c0 vim-patch:9.0.1421: Nu files are not recognized Problem: Nu files are not recognized. Solution: Add a pattern for Nu files. (Amaan Qureshi, closes vim/vim#12172) https://github.com/vim/vim/commit/8aa2a37f8983a7863afa32d9ffbe64b2f2bc70be vim-patch:9.0.1422: Sage files are not recognized Problem: Sage files are not recognized. Solution: Add a pattern for Sage files. (Amaan Qureshi, closes vim/vim#12176) https://github.com/vim/vim/commit/d0639d717ba7cf8b04b588aadd0b379ed43a5f1f vim-patch:9.0.1423: WebAssembly Interface Type files are not recognized Problem: WebAssembly Interface Type files are not recognized. Solution: Add a pattern for WIT files. (Amaan Qureshi, closes vim/vim#12173) https://github.com/vim/vim/commit/890c77203637626b1005db818667084d11e653e7
2023-03-20vim-patch:9.0.1417: ESDL files are not recognizedChristian Clason1
Problem: ESDL files are not recognized. Solution: Add a pattern for ESDL files. (Amaan Qureshi, closes vim/vim#12174) https://github.com/vim/vim/commit/a1fa8b3ac2f7b54c7901ad3eb0ba8b8290912509 Co-authored-by: Amaan Qureshi <amaanq12@gmail.com>
2023-03-20vim-patch:9.0.1415: Crystal files are not recognizedChristian Clason1
Problem: Crystal files are not recognized. Solution: Add a pattern for Crystal files. (Amaan Qureshi, closes vim/vim#12175) https://github.com/vim/vim/commit/7c4516fe93d865f4ef1877181f8156b8b9331856 Co-authored-by: Amaan Qureshi <amaanq12@gmail.com>
2023-03-20feat(vim.version): more coercion with strict=falseJustin M. Keyes1
Problem: "tmux 3.2a" (output from "tmux -V") is not parsed easily. Solution: With `strict=false`, discard everything before the first digit. - rename Semver => Version - rename vim.version.version() => vim.version._version() - rename matches() => has() - remove `opts` from cmp()
2023-03-20refactor(vim.version): use lazy.nvim semver moduleJustin M. Keyes1
Now the Nvim version string "v0.9.0-dev-1233+g210120dde81e" parses correctly.
2023-03-20refactor(vim.version): use lazy.nvim semver moduleJustin M. Keyes1
Use semver code from https://github.com/folke/lazy.nvim License: Apache License 2.0 Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2023-03-20feat: add `vim.filetype.get_option()`Lewis Russell2
2023-03-18vim-patch:9.0.1412: Pony files are not recognized (#22721)Amaan Qureshi1
Problem: Pony files are not recognized. Solution: Add a pattern for Pony files. (Amaan Qureshi, closes vim/vim#12155) https://github.com/vim/vim/commit/6e377eca8de4c0c0d25808beb7de7676194ebf1d
2023-03-17Merge pull request #22699 from clason/vim-9.0.1406Christian Clason1
vim-patch:9.0.{1406,1407,1408,1409}: some files are not recognized
2023-03-17fix(treesitter): InspectTree does not respect 'splitright' #22692Yochem van Rosmalen1
Problem: vim.treesitter.inspect_tree() and :InspectTree does not respect 'splitright'. Solution: - Change the default `command` from `topleft 60vnew` to `60vnew`. - Change :InspectTree to respect command mods (`:vertical`, count, etc.). Closes #22656
2023-03-17fix(lsp): avoid switching buffers on lsp attach (#22689)August Masquelier1
2023-03-17vim-patch:9.0.1409: racket files are recognized as schemeChristian Clason1
Problem: Racket files are recognized as scheme. Solution: Recognize rackets files separately. (Gabriel Kakizaki, closes vim/vim#12164, closes vim/vim#12162) https://github.com/vim/vim/commit/d11ac403db07b6eac43882485e98caeb5e83e2e5 Co-authored-by: Gabriel Kakizaki <gkakizaki@gmail.com>
2023-03-17vim-patch:9.0.1408: QMLdir files are not recognizedChristian Clason1
Problem: QMLdir files are not recognized. Solution: Add a pattern for QMLdir files. (Amaan Qureshi, closes vim/vim#12161) https://github.com/vim/vim/commit/1505bef5c482a48e704644e6172be91c07ef1d12 Co-authored-by: Amaan Qureshi <amaanq12@gmail.com>
2023-03-17vim-patch:9.0.1407: TableGen files are not recognizedChristian Clason1
Problem: TableGen files are not recognized. Solution: Add a pattern for TableGen files. (Amaan Qureshi, closes vim/vim#12156) https://github.com/vim/vim/commit/b8ef029ee416fc2b402c3f321a55c9049b0ad2a9 Co-authored-by: Amaan Qureshi <amaanq12@gmail.com>
2023-03-17vim-patch:9.0.1406: ILE RPG files are not recognizedChristian Clason1
Problem: ILE RPG files are not recognized. Solution: Add patterns for ILE RPG files. (Andreas Louv, issue vim/vim#12152) https://github.com/vim/vim/commit/e202ec8a0c89e8ef47a3d38e668b7326fa68510a Co-authored-by: Andreas Louv <andreas@louv.dk>
2023-03-15fix(lua): vim.deprecate() shows ":help deprecated" #22677Justin M. Keyes1
Problem: vim.deprecate() shows ":help deprecated" for third-party plugins. ":help deprecated" only describes deprecations in Nvim, and is unrelated to any 3rd party deprecations. Solution: If `plugin` is specified, don't show ":help deprecated". fix #22235
2023-03-14fix(lsp): kill buffers after renaming a directory #22618Ivan1
Problem: When LSP client renames a directory, opened buffers in the edfitor are not renamed or closed. Then `:wall` shows errors. https://github.com/neovim/neovim/blob/master/runtime/lua/vim/lsp/util.lua#L776 works correctly if you try to rename a single file, but doesn't delete old buffers with `old_fname` is a dir. Solution: Update the logic in runtime/lua/vim/lsp/util.lua:rename() Fixes #22617
2023-03-14fix(lsp): vim.lsp.util.apply_text_edits cursor validation #22636hrsh7th1
Problem Using wrong variable when checking the cursor position is valid or not in vim.lsp.util.apply_text_edits. Solution Use the correct variable.
2023-03-13fix(lsp): remove_workspace_folders fails if client has no workspace_folders ↵Dan Strokirk1
#22633 When a client has no workspace_folders, (e.g., copilot), `pairs` code would crash.
2023-03-13Merge pull request #22627 from nullchilly/highlight-cleanupChristian Clason2
refactor!: remove deprecated functions
2023-03-13fix(treesitter): foldexpr (#22652)Lewis Russell1
The ranges passed to foldinfo.remove_range were in the wrong order.
2023-03-13refactor!: rename vim.pretty_print => vim.printJustin M. Keyes1
Problem: The function name `vim.pretty_print`: 1. is verbose, which partially defeats its purpose as sugar 2. does not draw from existing precedent or any sort of convention (except external projects like penlight or python?), which reduces discoverability, and degrades signaling about best practices. Solution: - Rename to `vim.print`. - Change the behavior so that 1. strings are printed without quotes 2. each arg is printed on its own line 3. tables are indented with 2 instead of 4 spaces - Example: :lua ='a', 'b', 42, {a=3} a b 42 { a = 3 } Comparison of alternatives: - `vim.print`: - pro: consistent with Lua's `print()` - pro: aligns with potential `nvim_print` API function which will replace nvim_echo, nvim_notify, etc. - con: behaves differently than Lua's `print()`, slightly misleading? - `vim.echo`: - pro: `:echo` has similar "pretty print" behavior. - con: inconsistent with Lua idioms. - `vim.p`: - pro: very short, fits with `vim.o`, etc. - con: not as discoverable as "echo" - con: less opportunity for `local p = vim.p` because of potential shadowing.
2023-03-12fix(lsp): use line start/end for visual line selection (#22632)Mathias Fußenegger1
Fixes https://github.com/neovim/neovim/issues/22629
2023-03-11Merge pull request #22613 from lewis6991/feat/tsqueryutilLewis Russell4