-
-
Notifications
You must be signed in to change notification settings - Fork 366
Closed
Description
How are you using the lua-language-server?
NeoVim
Which OS are you using?
Linux
What is the issue affecting?
Type Checking
Expected Behaviour
I get a bunch of same type errors in my workflow: https://github.com/obsidian-nvim/obsidian.nvim/actions/runs/16245747067/job/45868538877?pr=277
It just happened today.
all happening in this one type
where they are used:
--- Execute all autocommands for {event} that match the corresponding
--- {opts} `autocmd-execute`.
--- @see `:help :doautocmd`
--- @param event vim.api.keyset.events|vim.api.keyset.events[] The event or events to execute
--- @param opts vim.api.keyset.exec_autocmds Dict of autocommand options:
--- - group (string|integer) optional: the autocommand group name or
--- id to match against. `autocmd-groups`.
--- - pattern (string|array) optional: defaults to "*" `autocmd-pattern`. Cannot be used
--- with {buffer}.
--- - buffer (integer) optional: buffer number `autocmd-buflocal`. Cannot be used with
--- {pattern}.
--- - modeline (bool) optional: defaults to true. Process the
--- modeline after the autocommands [<nomodeline>].
--- - data (any): arbitrary data to send to the autocommand callback. See
--- `nvim_create_autocmd()` for details.
function vim.api.nvim_exec_autocmds(event, opts) end
--- @alias vim.api.keyset.events
--- |'BufAdd'
--- |'BufCreate'
--- |'BufDelete'
--- |'BufEnter'
--- |'BufFilePost'
--- |'BufFilePre'
--- |'BufHidden'
--- |'BufLeave'
--- |'BufModifiedSet'
--- |'BufNew'
--- |'BufNewFile'
--- |'BufRead'
--- |'BufReadCmd'
--- |'BufReadPost'
--- |'BufReadPre'
--- |'BufUnload'
--- |'BufWinEnter'
--- |'BufWinLeave'
--- |'BufWipeout'
--- |'BufWrite'
--- |'BufWriteCmd'
--- |'BufWritePost'
--- |'BufWritePre'
--- |'ChanInfo'
--- |'ChanOpen'
--- |'CmdUndefined'
--- |'CmdlineChanged'
--- |'CmdlineEnter'
--- |'CmdlineLeave'
--- |'CmdlineLeavePre'
--- |'CmdwinEnter'
--- |'CmdwinLeave'
--- |'ColorScheme'
--- |'ColorSchemePre'
--- |'CompleteChanged'
--- |'CompleteDone'
--- |'CompleteDonePre'
--- |'CursorHold'
--- |'CursorHoldI'
--- |'CursorMoved'
--- |'CursorMovedC'
--- |'CursorMovedI'
--- |'DiagnosticChanged'
--- |'DiffUpdated'
--- |'DirChanged'
--- |'DirChangedPre'
--- |'EncodingChanged'
--- |'ExitPre'
--- |'FileAppendCmd'
--- |'FileAppendPost'
--- |'FileAppendPre'
--- |'FileChangedRO'
--- |'FileChangedShell'
--- |'FileChangedShellPost'
--- |'FileEncoding'
--- |'FileReadCmd'
--- |'FileReadPost'
--- |'FileReadPre'
--- |'FileType'
--- |'FileWriteCmd'
--- |'FileWritePost'
--- |'FileWritePre'
--- |'FilterReadPost'
--- |'FilterReadPre'
--- |'FilterWritePost'
--- |'FilterWritePre'
--- |'FocusGained'
--- |'FocusLost'
--- |'FuncUndefined'
--- |'GUIEnter'
--- |'GUIFailed'
--- |'InsertChange'
--- |'InsertCharPre'
--- |'InsertEnter'
--- |'InsertLeave'
--- |'InsertLeavePre'
--- |'LspAttach'
--- |'LspDetach'
--- |'LspNotify'
--- |'LspProgress'
--- |'LspRequest'
--- |'LspTokenUpdate'
--- |'MenuPopup'
--- |'ModeChanged'
--- |'OptionSet'
--- |'PackChanged'
--- |'PackChangedPre'
--- |'QuickFixCmdPost'
--- |'QuickFixCmdPre'
--- |'QuitPre'
--- |'RecordingEnter'
--- |'RecordingLeave'
--- |'RemoteReply'
--- |'SafeState'
--- |'SearchWrapped'
--- |'SessionLoadPost'
--- |'SessionWritePost'
--- |'ShellCmdPost'
--- |'ShellFilterPost'
--- |'Signal'
--- |'SourceCmd'
--- |'SourcePost'
--- |'SourcePre'
--- |'SpellFileMissing'
--- |'StdinReadPost'
--- |'StdinReadPre'
--- |'SwapExists'
--- |'Syntax'
--- |'TabClosed'
--- |'TabEnter'
--- |'TabLeave'
--- |'TabNew'
--- |'TabNewEntered'
--- |'TermChanged'
--- |'TermClose'
--- |'TermEnter'
--- |'TermLeave'
--- |'TermOpen'
--- |'TermRequest'
--- |'TermResponse'
--- |'TextChanged'
--- |'TextChangedI'
--- |'TextChangedP'
--- |'TextChangedT'
--- |'TextYankPost'
--- |'UIEnter'
--- |'UILeave'
--- |'User'
--- |'VimEnter'
--- |'VimLeave'
--- |'VimLeavePre'
--- |'VimResized'
--- |'VimResume'
--- |'VimSuspend'
--- |'WinClosed'
--- |'WinEnter'
--- |'WinLeave'
--- |'WinNew'
--- |'WinResized'
--- |'WinScrolled'
but now if I pass a table, it says:
lua/obsidian/ui.lua:655:31 [Warning] Cannot assign `'BufAdd'|'BufCreate'|'BufDelete'|'BufEnter'|'BufFilePost'...(+135)[]` to parameter `'BufAdd'|'BufAdd'|'BufCreate'|'BufDelete'|'BufEnter'|'BufFilePost'...(+135)[]|'BufCreate'|'BufDelete'|'BufEnter'...(+136)`.
- `table` cannot match `'BufAdd'|'BufAdd'|'BufCreate'|'BufDelete'|'BufEnter'|'BufFilePost'...(+135)[]|'BufCreate'|'BufDelete'|'BufEnter'...(+136)`
- `table` cannot match any subtypes in `'BufAdd'|'BufAdd'|'BufCreate'|'BufDelete'|'BufEnter'|'BufFilePost'...(+135)[]|'BufCreate'|'BufDelete'|'BufEnter'...(+136)`
- Type `table` cannot match `'SessionWritePost'`
- Type `table` cannot match `'SessionLoadPost'`
- Type `table` cannot match `'SearchWrapped'`
- Type `table` cannot match `'SafeState'`
- Type `table` cannot match `'RemoteReply'`
- Type `table` cannot match `'RecordingLeave'`
- Type `table` cannot match `'RecordingEnter'`
- Type `table` cannot match `'QuitPre'`
- Type `table` cannot match `'QuickFixCmdPre'`
- Type `table` cannot match `'QuickFixCmdPost'`
...(+84)
- Type `table` cannot match `'BufDelete'`
- Type `table` cannot match `'BufCreate'`
- Type `table` cannot match `'BufAdd'` (param-type-mismatch)
vim.api.nvim_create_autocmd({ "BufUnload" }, {
if I just pass one event name, it says:
lua/obsidian/workspace.lua:249:30 [Warning] Cannot assign `string` to parameter `'BufAdd'|'BufAdd'|'BufCreate'|'BufDelete'|'BufEnter'|'BufFilePost'...(+135)[]|'BufCreate'|'BufDelete'|'BufEnter'...(+136)`.
- `string` cannot match `'BufAdd'|'BufAdd'|'BufCreate'|'BufDelete'|'BufEnter'|'BufFilePost'...(+135)[]|'BufCreate'|'BufDelete'|'BufEnter'...(+136)`
- `string` cannot match any subtypes in `'BufAdd'|'BufAdd'|'BufCreate'|'BufDelete'|'BufEnter'|'BufFilePost'...(+135)[]|'BufCreate'|'BufDelete'|'BufEnter'...(+136)`
- Literal `"User"` cannot match string `"SessionWritePost"`
- Literal `"User"` cannot match string `"SessionLoadPost"`
- Literal `"User"` cannot match string `"SearchWrapped"`
- Literal `"User"` cannot match string `"SafeState"`
- Literal `"User"` cannot match string `"RemoteReply"`
- Literal `"User"` cannot match string `"RecordingLeave"`
- Literal `"User"` cannot match string `"RecordingEnter"`
- Literal `"User"` cannot match string `"QuitPre"`
- Literal `"User"` cannot match string `"QuickFixCmdPre"`
- Literal `"User"` cannot match string `"QuickFixCmdPost"`
...(+84)
- Literal `"User"` cannot match string `"BufDelete"`
- Literal `"User"` cannot match string `"BufCreate"`
- Literal `"User"` cannot match string `"BufAdd"` (param-type-mismatch)
vim.api.nvim_exec_autocmds("User", {
^^^^^^
Actual Behaviour
Not produce these errors.
Reproduction steps
https://github.com/obsidian-nvim/obsidian.nvim/actions/runs/16245747067/job/45868538877?pr=277
of just clone https://github.com/obsidian-nvim/obsidian.nvim and run make types
to see all the errors.
Additional Notes
No response
Log File
No response
phanen
Metadata
Metadata
Assignees
Labels
No labels