mirror of
https://github.com/neovim/neovim.git
synced 2026-07-14 21:30:34 +00:00
docs(events): Lua types for autocmd event-data #38518
Problem: No LuaLS types for event-data fields (ev.data). Types are only documented ad hoc in scattered locations. Solution: Add runtime/lua/vim/_meta/events.lua defining vim.event.<name>.data classes for events that provide ev.data. Reference the types from each event's help in autocmd.txt, lsp.txt, and pack.txt.
This commit is contained in:
56
runtime/lua/vim/_meta/events.lua
Normal file
56
runtime/lua/vim/_meta/events.lua
Normal file
@@ -0,0 +1,56 @@
|
||||
--- @meta
|
||||
error('Cannot require a meta file')
|
||||
|
||||
--- @class vim.event.lspattach.data
|
||||
--- @field client_id integer
|
||||
|
||||
--- @class vim.event.lspdetach.data
|
||||
--- @field client_id integer
|
||||
|
||||
--- @class vim.event.lspnotify.data
|
||||
--- @field client_id integer
|
||||
--- @field method string
|
||||
--- @field params table
|
||||
|
||||
--- @class vim.event.lspprogress.data
|
||||
--- @field client_id integer
|
||||
--- @field params lsp.ProgressParams
|
||||
|
||||
--- @class vim.event.lsprequest.data
|
||||
--- @field client_id integer
|
||||
--- @field request_id integer
|
||||
--- @field request table
|
||||
|
||||
--- @class vim.event.lsptokenupdate.data
|
||||
--- @field client_id integer
|
||||
--- @field token table
|
||||
|
||||
--- @class vim.event.markset.data
|
||||
--- @field name string
|
||||
--- @field line integer
|
||||
--- @field col integer
|
||||
|
||||
--- @class vim.event.packchanged.data
|
||||
--- @field active boolean
|
||||
--- @field kind string
|
||||
--- @field spec vim.pack.Spec
|
||||
--- @field path string
|
||||
|
||||
--- @class vim.event.packchangedpre.data : vim.event.packchanged.data
|
||||
|
||||
--- @class vim.event.progress.data
|
||||
--- @field id any
|
||||
--- @field text string[]
|
||||
--- @field data? table
|
||||
--- @field percent? integer
|
||||
--- @field source? string
|
||||
--- @field status? string
|
||||
--- @field title? string
|
||||
|
||||
--- @class vim.event.termrequest.data
|
||||
--- @field sequence string
|
||||
--- @field terminator string
|
||||
--- @field cursor integer[]
|
||||
|
||||
--- @class vim.event.termresponse.data
|
||||
--- @field sequence string
|
||||
@@ -175,6 +175,8 @@
|
||||
---- `spec` - plugin's specification with defaults made explicit.
|
||||
---- `path` - full path to plugin's directory.
|
||||
---
|
||||
---See `vim.event.packchanged.data` and `vim.event.packchangedpre.data`.
|
||||
---
|
||||
--- These events can be used to execute plugin hooks. For example:
|
||||
---```lua
|
||||
---local hooks = function(ev)
|
||||
|
||||
Reference in New Issue
Block a user