summaryrefslogtreecommitdiffstatshomepage
path: root/runtime/lua
AgeCommit message (Collapse)AuthorFiles
2023-02-01vim-patch:9.0.1268: .clangd and .stylelintrc files don't get a filetype (#22079)Christian Clason1
Problem: .clangd and .stylelintrc files don't get a filetype. Solution: Use yaml for .clangd and json for .stylelintrc files. (Mark Skelton, closes vim/vim#11916) https://github.com/vim/vim/commit/9c51798a1f3b79ace5ae0551a8bb122025ac94ed Co-authored-by: Mark Skelton <mdskelton99@gmail.com>
2023-01-31Merge pull request #17537 from bfredl/neoluabfredl1
refactor(tests): run unittests using main nvim binary - delete separate nvim-test build
2023-01-31Merge pull request #22005 from clason/sanitize-langChristian Clason1
fix(treesitter): validate language name
2023-01-31feat(lua): low-level interpreter mode (nvim -ll)bfredl1
2023-01-31vim-patch:9.0.1263: KDL files are not recognized (#22058)Christian Clason1
Problem: KDL files are not recognized. Solution: Add a pattern for KDL files. (Amaan Qureshi, closes vim/vim#11898) https://github.com/vim/vim/commit/907349a74331fc1bc48cf43c1e7d54cb9e0e4fc9 Co-authored-by: Amaan Qureshi <amaanq12@gmail.com>
2023-01-30refactor!: remove has("debug") (#22060)dundargoc1
This value can not be relied on as it doesn't work for multi-configuration generators. I don't think this undocumented option is used much, if at all, so I think we should remove it.
2023-01-29vim-patch:9.0.1261: Elsa files are not recognized (#22047)Amaan Qureshi1
Problem: Elsa files are not recognized. Solution: Add the name of Elsa files. (Amaan Qureshi) https://github.com/vim/vim/commit/2a99fe6c41efcd5d1eb47823e7e73cf391e230ba
2023-01-29vim-patch:9.0.1256: NetworkManager connection files are not recognized (#22038)Christian Clason1
Problem: NetworkManager connection files are not recognized. Solution: Add a pattern for NetworkManager connection files. (closes vim/vim#11893) https://github.com/vim/vim/commit/04e4f1d98556e67d7337224b67b71c828410ee0f Co-authored-by: ObserverOfTime <chronobserver@disroot.org>
2023-01-28fix(treesitter): validate language nameChristian Clason1
Problem: Some injections (like markdown) allow specifying arbitrary language names for code blocks, which may be lead to errors when looking for a corresponding parser in runtime path. Solution: Validate that the language name only contains alphanumeric characters and `_` (e.g., for `c_sharp`) and error otherwise.
2023-01-25fix(man.lua): open in current window if it's already a man page (#21987)0xAdk1
This matters when there are multiple man page windows open.
2023-01-25docs(vim.fs): normalize Windows example was incorrect (#21966)C.D. MacEachern1
2023-01-24doc(lsp): format arguments to start_client() (#21980)Lewis Russell1
docs(lsp): format arguments to start_client()
2023-01-24fix(lsp): check method is supported when range formatting (#21970)Sean Dewar1
`vim.lsp.buf.format()` silently did nothing if no servers supported `textDocument/rangeFormatting` when formatting with a range. Issue found by `@hwrd:matrix.org` in the Matrix chat.
2023-01-23build: make generated source files reproducible #21586Arnout Engelen1
Problem: Build is not reproducible, because generated source files (.c/.h/) are not deterministic, mostly because Lua pairs() is unordered by design (for security). https://github.com/LuaJIT/LuaJIT/issues/626#issuecomment-707005671 https://www.lua.org/manual/5.1/manual.html#pdf-next > The order in which the indices are enumerated is not specified [...] > >> The hardening of the VM deliberately randomizes string hashes. This in >> turn randomizes the iteration order of tables with string keys. Solution: - Update the code generation scripts to be deterministic. - That is only a partial solution: the exported function (funcs_metadata.generated.h) and ui event (ui_events_metadata.generated.h) metadata have some mpack'ed tables, which are not serialized deterministically. - As a workaround, introduce `PRG_GEN_LUA` cmake setting, so you can inject a modified build of luajit (with LUAJIT_SECURITY_PRN=0) that preserves table order. - Longer-term we should change the mpack'ed data structure so it no longer uses tables keyed by strings. Closes #20124 Co-Authored-By: dundargoc <gocdundar@gmail.com> Co-Authored-By: Arnout Engelen <arnout@bzzt.net>
2023-01-23vim-patch:9.0.1230: Apache Thrift files are not recognized (#21955)Amaan Qureshi1
Problem: Apache thrift files are not recognized. Solution: Add a pattern for thrift files. (Amaan Qureshi, closes vim/vim#11859) https://github.com/vim/vim/commit/f3da4c8427b1b12d7aaffa307ec085ca97ea9ad9
2023-01-22fix(lsp): assert workspace/applyEdit receives params (#21945)Mathias Fußenegger1
According to the specification `workspace/applyEdit` must be called with `ApplyWorkspaceEditParams`. So far the client just returned, which could lead to a misleading error on the server side because `workspace/applyEdit` must respond with a `ApplyWorkspaceEditResult`. This adds an assertion to clarify that the server is violating the specification. See https://github.com/neovim/neovim/issues/21925
2023-01-22vim-patch:9.0.1229: Cap'n Proto files are not recognized (#21950)Amaan Qureshi1
Problem: Cap'n Proto files are not recognized. Solution: Add a pattern and the "capnp" filetype. (Amaan Qureshi, closes vim/vim#11862) https://github.com/vim/vim/commit/040e795e8da05ff38cc896528d4dcad100f0b584
2023-01-21feat(lsp): add triggerKind option for vim.lsp.buf.code_action (#21905)kishii2
2023-01-20fix(lsp): fix `removed` param value in add_workspace_folder (#21915)Raphael1
2023-01-17fix(treesitter): really restore syntaxLewis Russell1
- also unset b:ts_highlight on stop() Fixes: #21836
2023-01-16feat(health): detect tmux RGB support via `client_termfeatures`Sean Dewar1
Problem: On tmux v3.2+, the `terminal-features` option may be used to enable RGB capabilities over `terminal-overrides`. However, `show-messages` cannot be used to detect if RGB capabilities are enabled using `terminal-features`. Solution: Try to use `display-message -p #{client_termfeatures}` instead. The returned features include "RGB" if either "RGB" is set in `terminal-features`, or if "Tc" or "RGB" is set in `terminal-overrides` (as before). Nothing is returned by tmux versions older than v3.2, so fallback to checking `show-messages` in that case. Also, un-Vimscriptify the previous logic a bit, and change the error message to point to using the `terminal-features` option instead for newer tmux versions.
2023-01-16fix(health): fix `tmux_esc_time` comparisonSean Dewar1
Regression from the health.vim to .lua changes. Unlike Vim script, Lua does not implicitly convert strings to numbers, so this comparison threw an error.
2023-01-16docs: treesitter.add_directive, add_predicate #21206Ching Pei Yang1
2023-01-16health: migrate to Lua #21661TJ DeVries2
* refactor: remove all vimscript from nvim/health * fixup: previous method broke if you had a folder named 'x-lua'
2023-01-15docs(lua): use luaref tag instead of www.lua.org #21813Naru1
2023-01-15refactor: format with stylua (#21821)dundargoc1
2023-01-13vim-patch:9.0.1191: some Bazel files are not recognized (#21784)Christian Clason1
Problem: Some Bazel files are not recognized. Solution: Add an extra Bazel pattern. (Keith Smily, closes vim/vim#11807) https://github.com/vim/vim/commit/3213952966896ffb1d8fa186bcf8c43359fca0f0 Co-authored-by: Keith Smiley <keithbsmiley@gmail.com>
2023-01-12feat(diagnostic): vim.diagnostic.is_disabled() #21527Raphael1
2023-01-12docs(lsp): fix type annotation on convert_input_to_markdown_lines (#21772)Chris Kipp1
This small changes just ensures that if you're using `convert_input_to_markdown_lines` without `contents` you don't get a warning (when using something like neodev) that there is an expected second param, since it can be nil.
2023-01-12vim-patch:9.0.1182: go checksum files are not recognized (#21758)Christian Clason1
Problem: go checksum files are not recognized. Solution: Add the name of go checksum files. (Amaan Qureshi, closes vim/vim#11803) https://github.com/vim/vim/commit/043d7b2c84cda275354aa023b5769660ea70a168 Co-authored-by: Amaan Q <amaanq12@gmail.com>
2023-01-12fix(lsp): revert semantic token gravity change from #21574 (#21763)jdrouhard1
2023-01-11docs(lsp): update buf_notify and rpc.notify params types (#21753)Chris Kipp2
Small, but I was getting warnings about my usage of `vim.lsp.buf_notify(bufnr, method, {example = example})` since the docs say that `params` must be a string, however this can really be anything when it's passed to `rpc.notify` since we just end up calling `vim.json.encode(payload)` on it. This fixes the docs in those two places and regenerates them.
2023-01-11vim-patch:9.0.1176: smithy files are not recognized (#21751)Christian Clason1
Problem: smithy files are not recognized. Solution: Add a pattern for Smithy files. (Chris Kipp, closes vim/vim#11804) https://github.com/vim/vim/commit/f68cddabffcbc5b8fbfe9003182cb4b55ff8d72c Co-authored-by: Chris Kipp <ckipp@pm.me>
2023-01-10vim-patch:9.0.1174: smali files are not recognized (#21734)Amaan Qureshi1
Problem: Smali files are not recognized. Solution: Add a pattern for Smali files. (Amaan Qureshi, closes vim/vim#11801)
2023-01-10feat(float): open float relative to mouse #21531Sebastian Lyng Johansen2
Problem: No easy way to position a LSP hover window relative to mouse. Solution: Introduce another option to the `relative` key in `nvim_open_win()`. With this PR it should be possible to override the handler and do something similar to this https://github.com/neovim/neovim/pull/19481#issuecomment-1193248674 to have hover information displayed from the mouse. Test case: ```lua local util = require('vim.lsp.util') local function make_position_param(window, offset_encoding) window = window or 0 local buf = vim.api.nvim_win_get_buf(window) local row, col local mouse = vim.fn.getmousepos() row = mouse.line col = mouse.column offset_encoding = offset_encoding or util._get_offset_encoding(buf) row = row - 1 local line = vim.api.nvim_buf_get_lines(buf, row, row + 1, true)[1] if not line then return { line = 0, character = 0 } end if #line < col then return { line = 0, character = 0 } end col = util._str_utfindex_enc(line, col, offset_encoding) return { line = row, character = col } end local make_params = function(window, offset_encoding) window = window or 0 local buf = vim.api.nvim_win_get_buf(window) offset_encoding = offset_encoding or util._get_offset_encoding(buf) return { textDocument = util.make_text_document_params(buf), position = make_position_param(window, offset_encoding), } end local hover_timer = nil vim.o.mousemoveevent = true vim.keymap.set({ '', 'i' }, '<MouseMove>', function() if hover_timer then hover_timer:close() end hover_timer = vim.defer_fn(function() hover_timer = nil local params = make_params() vim.lsp.buf_request( 0, 'textDocument/hover', params, vim.lsp.with(vim.lsp.handlers.hover, { silent = true, focusable = false, relative = 'mouse', }) ) end, 500) return '<MouseMove>' end, { expr = true }) ```
2023-01-08dist: transpile cfilter.vim => cfilter.lua #21662TJ DeVries1
Vim has changed cfilter.vim from vimscript to vim9script. Nvim supports only vimscript, not vim9script.
2023-01-08feat(lsp): show active clients in :checkhealth vim.lsp (#21670)Mathias Fußenegger1
For users using vim.lsp.start it can be useful to get an overview of active client that is less verbose than a full `:lua =vim.lsp.get_active_clients()`
2023-01-08fix(lsp): partially revert semantic token gravity change from #21574 (#21680)jdrouhard1
2023-01-06fix(lsp): correct callHierarchy capability to fix lsp.buf.incoming_calls() ↵1
(#21665) Co-authored-by: maozhongzhou <maozhongzhou@wps.cn>
2023-01-05dist: generated version of ccomplete.vim (#21623)TJ DeVries1
This is the first PR featuring a conversion of an upstream vim9script file into a Lua file. The generated file can be found in `runtime/autoload/ccomplete.vim` in the vim repository. Below is a limited history of the changes of that file at the time of conversion. ``` ❯ git log --format=oneline runtime/autoload/ccomplete.vim c4573eb12dba6a062af28ee0b8938d1521934ce4 Update runtime files a4d131d11052cafcc5baad2273ef48e0dd4d09c5 Update runtime files 4466ad6baa22485abb1147aca3340cced4778a66 Update runtime files d1caa941d876181aae0ebebc6ea954045bf0da24 Update runtime files 20aac6c1126988339611576d425965a25a777658 Update runtime files. 30b658179962cc3c9f0a98f071b36b09a36c2b94 Updated runtime files. b6b046b281fac168a78b3eafdea9274bef06882f Updated runtime files. 00a927d62b68a3523cb1c4f9aa3f7683345c8182 Updated runtime files. 8c8de839325eda0bed68917d18179d2003b344d1 (tag: v7.2a) updated for version 7.2a ... ``` The file runtime/lua/_vim9script.lua only needs to be updated when vim9jit is updated (for any bug fixes or new features, like implementing class and interface, the latest in vim9script). Further PRs will improve the DX of generated the converted lua and tracking which files in the neovim's code base have been generated.
2023-01-04docs(lua): adjust some type annotationsnotomo4
2023-01-04docs: fix typos (#21427)dundargoc1
Co-authored-by: Gustavo Sampaio <gbritosampaio@gmail.com> Co-authored-by: C.D. MacEachern <craig.daniel.maceachern@gmail.com> Co-authored-by: Sean Dewar <seandewar@users.noreply.github.com> Co-authored-by: Tomas Nemec <nemi@skaut.cz>
2023-01-03Merge pull request #21633 from gpanders/editorconfigGregory Anders2
Builtin EditorConfig support
2023-01-03feat(editorconfig): add editorconfig syntax fileGregory Anders1
This is intentionally _not_ copied from Vim because our syntax file makes use of Lua to dynamically generate a list of valid EditorConfig properties. This requires the builtin editorconfig module, which Vim does not have.
2023-01-03feat(editorconfig): add builtin EditorConfig supportGregory Anders1
2023-01-03fix(fs): duplicate path separator #21509Eric Haynes1
Fixes #21497
2023-01-03fix(diagnostic): revert notification on missing diagnostics (#21632)Gregory Anders1
This reverts a change introduced in 4ace9e7e417fe26c8b73ff1d6042e6e4f3df9ebf.
2023-01-03fix(lsp): change vim.lsp.get_active_clients.filter name annotation to string ↵Christian Segundo1
(#21624)
2023-01-03refactor(diagnostic): DRY for loop #21521Raphael1
Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
2023-01-01docs(lua): fix treesitter parsing errorsChristian Clason2