summaryrefslogtreecommitdiffstatshomepage
path: root/runtime/lua
AgeCommit message (Collapse)AuthorFiles
2023-01-01Merge pull request #21597 from gi1242/tex-ft-detectionzeertzjq1
fix(filetype): make .tex filetype detection match Vim
2022-12-31fix(filetype): correctly detect tex filesGautam Iyer1
Fixes Issue #21594.
2022-12-31feat(lsp): add function to clear codelens (#21504)Mathias Fußenegger1
Currently once you retrieve the lenses you're pretty much stuck with them as saving new lenses is additive. Adding a dedicated method to reset lenses allows users to toggle lenses on/off which can be useful for language servers where they are noisy or expensive and you only want to see them temporary.
2022-12-30feat(diagnostic): don't open quickfix/loclist if no diagnostics #21397李晓辉1
2022-12-30fix(lsp): fix nil client access in get_active_clients (#21524)Raphael1
Fixes https://github.com/neovim/neovim/issues/21523
2022-12-30fix(lsp): adjust gravity of semantic tokens extmarks (#21574)jdrouhard1
Fixes #21543 This should provide a better user experience when appending or prepending text to a word that has a semantic token extmark. More often than not, the appended/prepended text to the word will end up becoming part of the token anyway, so just use that extmark as the user types.
2022-12-28vim-patch:9.0.1106: not all postfix files are recognized (#21568)Christian Clason1
Problem: Not all postfix files are recognized. Solution: Recognize main.cf.proto files. (closes vim/vim#11732) https://github.com/vim/vim/commit/09ce0b8e1197c85dacf97e75b9b9ac18e0d192df Co-authored-by: KodeToad <3880336+KodeToad@users.noreply.github.com>
2022-12-26vim-patch:9.0.1103: jq files are not recognized (#21545)Christian Clason1
Problem: jq files are not recognized. Solution: Add detection of Jq files. (David McDonald, closes vim/vim#11743) https://github.com/vim/vim/commit/b9a1edfc5434f2a3ac50b1a178d3c85aa417b798 Co-authored-by: David McDonald <dgmcdona@uno.edu>
2022-12-23vim-patch:9.0.1090: FHIR Shorthand files are not recognized (#21515)Christian Clason1
Problem: FHIR Shorthand files are not recognized. Solution: Add a pattern to detect FSH files. (Matthew Gramigna, closes vim/vim#11738) https://github.com/vim/vim/commit/c9207d5d79310bd4628ce46d8db588fac17878a0 Co-authored-by: mgramigna <mgramigna@mitre.org>
2022-12-22Merge pull request #21402 from lewis6991/feat/fs_lsLewis Russell1
2022-12-20vim-patch:9.0.1082: some jsonc files are not recognized (#21483)kylo2521
Problem: Some jsonc files are not recognized. Solution: Add patterns for jsonc and move some from json to jsonc. (closes vim/vim#11711) https://github.com/vim/vim/commit/104b2ff4d0ec9248ba0b979aa3bbccb65fcad422 Co-authored-by: kylo252 <59826753+kylo252@users.noreply.github.com>
2022-12-20feat(fs): add opts argument to vim.fs.dir()Lewis Russell1
Added option depth to allow recursively searching a directory tree.
2022-12-19fix(lsp): token_edit.data might be null on deletion (#21462)tiagovla1
2022-12-18fix(diagnostic): sort diagnostics by column (#21457)tae-soo-kim1
Sort diagnostics by column number in quickfix list
2022-12-17fix(diagnostic): clear stale cache on reset (#21454)Mathias Fußenegger1
The BufWipeout autocmd is not 100% reliable and may leave stale entries in the cache. This is sort of a hack/workaround to ensure `vim.diagnostic.reset` calls don't fail if there are stale cache entries but instead clears them Fixes errors like Error executing vim.schedule lua callback: /usr/share/nvim/runtime/lua/vim/diagnostic.lua:1458: Invalid buffer id: 22 stack traceback: [C]: in function 'nvim_exec_autocmds' /usr/share/nvim/runtime/lua/vim/diagnostic.lua:1458: in function 'reset'
2022-12-17Merge pull request #21393 from folke/highlight_showChristian Clason4
feat(lsp): add function to get semantic tokens at cursor feat: `vim.inspect_pos()`, `vim.show_pos()` and `:Inspect[!]`
2022-12-17feat: `vim.inspect_pos`, `vim.show_pos`, `:Inspect`Folke Lemaitre4
2022-12-15fix(lua): always return nil values in vim.tbl_get when no resultsWilliam Boman1
While `return` and `return nil` are for most intents and purposes identical, there are situations where they're not. For example, calculating the amount of values via the `select()` function will yield varying results: ```lua local function nothing() return end local function null() return nil end select('#', nothing()) -- 0 select('#', null()) -- 1 ``` `vim.tbl_get` currently returns both nil and no results, which makes it unreliable to use in certain situations without manually accounting for these discrepancies.
2022-12-14fix(ts): check buffer is loaded when restoring options (#21419)Lewis Russell1
fix(treesitter): check buffer is loaded when restoring options Also restore spelloptions Fixes #21416
2022-12-14vim-patch:9.0.1057: conflict between supercollider and scala filetype ↵Christian Clason1
detection (#21417) Problem: Conflict between supercollider and scala filetype detection. Solution: Do not check for "Class : Method", it can appear in both filetypes. (Chris Kipp, closes vim/vim#11699) https://github.com/vim/vim/commit/70ef3f546b6ef83e463e91b7e388d9c68ad58894 Co-authored-by: Chris Kipp <ckipp@pm.me>
2022-12-14fix(treesitter): properly restore `'syntax'` (#21358)Lewis Russell2
2022-12-13feat(lsp): add function to get semantic tokens at cursorChristian Clason1
2022-12-12feat(lsp): highlight semantic token modifiers (#21390)Christian Clason1
Apply semantic token modifiers as separate extmarks with corresponding highlight groups (e.g., `@readonly`). This is a low-effort PR to enable the most common use cases (applying, e.g., italics or backgrounds on top of type highlights; language-specific fallbacks like `@global.lua` are also available). This can be replaced by more complicated selector-style themes later on.
2022-12-12perf(lsp): update semantic tokens algorithm for parsing modifiers (#21383)jdrouhard1
Instead of testing for every possible modifier type, only test bits up to the highest set in the token array. Saves many bit ops and comparisons when there are no modifiers or when the highest set bit is a lower bit than the highest possible in the legend on average. Can be further simplified when non-luaJIT gets the full bit module (see #21222)
2022-12-12fix: vim.opt_local:append ignoring global option value (#21382)Phelipe Teles1
Closes https://github.com/neovim/neovim/issues/18225
2022-12-11docs #20986Justin M. Keyes1
- https://github.com/neovim/tree-sitter-vimdoc v1.2.4 eliminates most errors in pi_netrw.txt, so we can remove that workaround from ignore_parse_error(). - improved codeblock
2022-12-10fix(lsp): ignore null responses for semanticTokens request (#21364)fsouza1
The spec indicates that the response may be `null`, but it doesn't really say what a `null` response means. Since neovim raises an error if the response is `null`, I figured that ignoring it would be the safest bet. Co-authored-by: Mathias Fussenegger <f.mathias@zignar.net>
2022-12-09fix(lsp): fix get_active_clients bufnr parameter (#21366)Mathias Fußenegger2
Follow up to https://github.com/neovim/neovim/pull/21337
2022-12-09fix(lsp): correct some type annotations (#21365)Mathias Fußenegger2
2022-12-09fix(lsp): followup fixes for semantic tokens support (#21357)jdrouhard2
1. The algorithm for applying edits was slightly incorrect. It needs to preserve the original token list as the edits are applied instead of mutating it as it iterates. From the spec: Semantic token edits behave conceptually like text edits on documents: if an edit description consists of n edits all n edits are based on the same state Sm of the number array. They will move the number array from state Sm to Sm+1. 2. Schedule the semantic token engine start() call in the client._on_attach() function so that users who schedule_wrap() their config.on_attach() functions (like nvim-lspconfig does) can still disable semantic tokens by deleting the semanticTokensProvider from their server capabilities.
2022-12-08feat(lsp): initial support for semantic token highlightingJohn Drouhard4
* credit to @smolck and @theHamsta for their contributions in laying the groundwork for this feature and for their work on some of the helper utility functions and tests
2022-12-08feat(treesitter): add 'lang' option to show_tree() (#21341)Gregory Anders2
This is necessary for now to support filetypes that use a parser with a different name (e.g. the "terraform" filetype uses the "hcl" parser).
2022-12-08feat(treesitter): add vim.treesitter.show_tree() (#21322)Gregory Anders3
Add a "show_tree" function to view a textual representation of the nodes in a language tree in a window. Moving the cursor in the window highlights the corresponding text in the source buffer, and moving the cursor in the source buffer highlights the corresponding nodes in the window.
2022-12-08refactor(lsp): remove deprecated vim.lsp.buf_get_clients calls (#21337)Raphael2
2022-12-08feat(lsp): support willSave & willSaveWaitUntil capability (#21315)Mathias Fußenegger2
`willSaveWaitUntil` allows servers to respond with text edits before saving a document. That is used by some language servers to format a document or apply quick fixes like removing unused imports.
2022-12-05vim-patch:9.0.1014: zir files are not recognized (#21301)Gregory Anders1
Problem: Zir files are not recognized. Solution: Add a pattern for Zir files. (closes vim/vim#11664) https://github.com/vim/vim/commit/25201016d5043954689a4c9f7833935294149404 Co-authored-by: Bram Moolenaar <Bram@vim.org>
2022-12-05fix(secure): crash when hitting escape in prompt (#21283)ii141
- use pcall when calling vim.secure.read from C - catch keyboard interrupts in vim.secure.read, rethrow other errors - selecting "view" in prompt runs :view command - simplify lua stack cleanup with lua_gettop and lua_settop Co-authored-by: ii14 <ii14@users.noreply.github.com>
2022-12-04fix(lsp): ensure open_logfile is safe for fast events (#21288)Mathias Fußenegger1
Closes https://github.com/neovim/neovim/issues/21052
2022-12-04fix(lsp): call show_document with correct argsMathias Fussenegger1
Closes https://github.com/neovim/neovim/issues/21177
2022-12-04fix(lsp): remove workspaceFolders field (#21284)Raphael1
2022-12-03fix(lsp): render <pre>{lang} code blocks and set separator default to false ↵Folke Lemaitre1
(#21271)
2022-12-02Merge pull request #21154 from clason/vimdoc-injectionsChristian Clason14
feat(help): highlighted codeblocks
2022-12-02docs(gen): support language annotation in docstringsChristian Clason14
2022-12-01refactor(fs): replace vim.fn/vim.env in vim.fs (#20379)Mike1
Avoid using vim.env and vim.fn in vim.fs functions so that they can be used in "fast" contexts.
2022-11-29docs: fix typos (#21196)dundargoc2
Co-authored-by: zeertzjq <zeertzjq@outlook.com> Co-authored-by: Raphael <glephunter@gmail.com> Co-authored-by: Gregory Anders <greg@gpanders.com>
2022-11-28refactor: rework parameter validation in vim.secure.trust() (#21223)Gregory Anders1
2022-11-28feat(secure): add `:trust` command and vim.secure.trust() (#21107)Jlll11
Introduce vim.secure.trust() to programmatically manage the trust database. Use this function in a new :trust ex command which can be used as a simple frontend. Resolves: https://github.com/neovim/neovim/issues/21092 Co-authored-by: Gregory Anders <greg@gpanders.com> Co-authored-by: ii14 <ii14@users.noreply.github.com>
2022-11-26vim-patch:9.0.0952: Eclipse preference files are not recognized (#21199)Christian Clason1
Problem: Eclipse preference files are not recognized. Solution: Add a pattern to use "jproperties" for Eclipse preference files. (closes vim/vim#11618) https://github.com/vim/vim/commit/f3f198b6349fe252b72975701e2f17d932b19c70 Co-authored-by: ObserverOfTime <chronobserver@disroot.org>
2022-11-26docs: fix typos (#21168)dundargoc1
2022-11-25vim-patch:9.0.0935: when using dash it may not be recognize as filetype "sh" ↵Christian Clason1
(#21174) * vim-patch:9.0.0935: when using dash it may not be recognize as filetype "sh" Problem: When using dash it may not be recognize as filetype "sh". Solution: Add checks for "dash". (Eisuke Kawashima,closes vim/vim#11600) https://github.com/vim/vim/commit/24482fbfd599d2273c48951df7d00d62f3e66c85 Co-authored-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com> Co-authored-by: zeertzjq <zeertzjq@outlook.com>