mirror of
https://github.com/neovim/neovim.git
synced 2026-03-28 03:12:00 +00:00
Problem: nvim_set_hl always replaces all attributes. Solution: Add update field. When true, merge with existing attributes instead of replacing. Unspecified attributes are preserved. If highlight group doesn't exist, falls back to reset mode.
504 lines
14 KiB
Lua
Generated
504 lines
14 KiB
Lua
Generated
--- @meta _
|
|
-- THIS FILE IS GENERATED
|
|
-- DO NOT EDIT
|
|
error('Cannot require a meta file')
|
|
|
|
--- @class vim.api.keyset.buf_attach
|
|
--- @field on_lines? fun(_: "lines", bufnr: integer, changedtick: integer, first: integer, last_old: integer, last_new: integer, byte_count: integer, deleted_codepoints?: integer, deleted_codeunits?: integer): boolean?
|
|
--- @field on_bytes? fun(_: "bytes", bufnr: integer, changedtick: integer, start_row: integer, start_col: integer, start_byte: integer, old_end_row: integer, old_end_col: integer, old_end_byte: integer, new_end_row: integer, new_end_col: integer, new_end_byte: integer): boolean?
|
|
--- @field on_changedtick? fun(_: "changedtick", bufnr: integer, changedtick: integer)
|
|
--- @field on_detach? fun(_: "detach", bufnr: integer)
|
|
--- @field on_reload? fun(_: "reload", bufnr: integer)
|
|
--- @field utf_sizes? boolean
|
|
--- @field preview? boolean
|
|
|
|
--- @class vim.api.keyset.buf_delete
|
|
--- @field force? boolean
|
|
--- @field unload? boolean
|
|
|
|
--- @class vim.api.keyset.clear_autocmds
|
|
--- @field buffer? integer
|
|
--- @field event? vim.api.keyset.events|vim.api.keyset.events[]
|
|
--- @field group? integer|string
|
|
--- @field pattern? string|string[]
|
|
|
|
--- @class vim.api.keyset.cmd
|
|
--- @field cmd? string
|
|
--- @field range? integer[]
|
|
--- @field count? integer
|
|
--- @field reg? string
|
|
--- @field bang? boolean
|
|
--- @field args? string[]
|
|
--- @field magic? vim.api.keyset.cmd.magic
|
|
--- @field mods? vim.api.keyset.cmd.mods
|
|
--- @field nargs? integer|"?"|"+"|"*"
|
|
--- @field addr? "line"|"arg"|"buf"|"load"|"win"|"tab"|"qf"|"none"|"?"
|
|
--- @field nextcmd? string
|
|
|
|
--- @class vim.api.keyset.cmd_magic
|
|
--- @field file? boolean
|
|
--- @field bar? boolean
|
|
|
|
--- @class vim.api.keyset.cmd_mods
|
|
--- @field silent? boolean
|
|
--- @field emsg_silent? boolean
|
|
--- @field unsilent? boolean
|
|
--- @field filter? table<string,any>
|
|
--- @field sandbox? boolean
|
|
--- @field noautocmd? boolean
|
|
--- @field browse? boolean
|
|
--- @field confirm? boolean
|
|
--- @field hide? boolean
|
|
--- @field horizontal? boolean
|
|
--- @field keepalt? boolean
|
|
--- @field keepjumps? boolean
|
|
--- @field keepmarks? boolean
|
|
--- @field keeppatterns? boolean
|
|
--- @field lockmarks? boolean
|
|
--- @field noswapfile? boolean
|
|
--- @field tab? integer
|
|
--- @field verbose? integer
|
|
--- @field vertical? boolean
|
|
--- @field split? string
|
|
|
|
--- @class vim.api.keyset.cmd_mods_filter
|
|
--- @field pattern? string
|
|
--- @field force? boolean
|
|
|
|
--- @class vim.api.keyset.cmd_opts
|
|
--- @field output? boolean
|
|
|
|
--- @class vim.api.keyset.complete_set
|
|
--- @field info? string
|
|
|
|
--- @class vim.api.keyset.context
|
|
--- @field types? string[]
|
|
|
|
--- @class vim.api.keyset.create_augroup
|
|
--- @field clear? boolean
|
|
|
|
--- @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'
|
|
--- |'MarkSet'
|
|
--- |'MenuPopup'
|
|
--- |'ModeChanged'
|
|
--- |'OptionSet'
|
|
--- |'PackChanged'
|
|
--- |'PackChangedPre'
|
|
--- |'Progress'
|
|
--- |'QuickFixCmdPost'
|
|
--- |'QuickFixCmdPre'
|
|
--- |'QuitPre'
|
|
--- |'RecordingEnter'
|
|
--- |'RecordingLeave'
|
|
--- |'RemoteReply'
|
|
--- |'SafeState'
|
|
--- |'SearchWrapped'
|
|
--- |'SessionLoadPost'
|
|
--- |'SessionLoadPre'
|
|
--- |'SessionWritePost'
|
|
--- |'ShellCmdPost'
|
|
--- |'ShellFilterPost'
|
|
--- |'Signal'
|
|
--- |'SourceCmd'
|
|
--- |'SourcePost'
|
|
--- |'SourcePre'
|
|
--- |'SpellFileMissing'
|
|
--- |'StdinReadPost'
|
|
--- |'StdinReadPre'
|
|
--- |'SwapExists'
|
|
--- |'Syntax'
|
|
--- |'TabClosed'
|
|
--- |'TabClosedPre'
|
|
--- |'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'
|
|
--- |'WinNewPre'
|
|
--- |'WinResized'
|
|
--- |'WinScrolled'
|
|
|
|
--- @class vim.api.keyset.create_autocmd
|
|
--- @field buffer? integer
|
|
--- @field callback? string|fun(args: vim.api.keyset.create_autocmd.callback_args): boolean?
|
|
--- @field command? string
|
|
--- @field desc? string
|
|
--- @field group? integer|string
|
|
--- @field nested? boolean
|
|
--- @field once? boolean
|
|
--- @field pattern? string|string[]
|
|
|
|
--- @class vim.api.keyset.echo_opts
|
|
--- @field err? boolean
|
|
--- @field verbose? boolean
|
|
--- @field kind? string
|
|
--- @field id? integer|string
|
|
--- @field title? string
|
|
--- @field status? string
|
|
--- @field percent? integer
|
|
--- @field data? table<string,any>
|
|
|
|
--- @class vim.api.keyset.empty
|
|
|
|
--- @class vim.api.keyset.eval_statusline
|
|
--- @field winid? integer
|
|
--- @field maxwidth? integer
|
|
--- @field fillchar? string
|
|
--- @field highlights? boolean
|
|
--- @field use_winbar? boolean
|
|
--- @field use_tabline? boolean
|
|
--- @field use_statuscol_lnum? integer
|
|
|
|
--- @class vim.api.keyset.exec_autocmds
|
|
--- @field buffer? integer
|
|
--- @field group? integer|string
|
|
--- @field modeline? boolean
|
|
--- @field pattern? string|string[]
|
|
--- @field data? any
|
|
|
|
--- @class vim.api.keyset.exec_opts
|
|
--- @field output? boolean
|
|
|
|
--- @class vim.api.keyset.get_autocmds
|
|
--- @field event? vim.api.keyset.events|vim.api.keyset.events[]
|
|
--- @field group? integer|string
|
|
--- @field pattern? string|string[]
|
|
--- @field buffer? integer|integer[]
|
|
--- @field id? integer
|
|
|
|
--- @class vim.api.keyset.get_commands
|
|
--- @field builtin? boolean
|
|
|
|
--- @class vim.api.keyset.get_extmark
|
|
--- @field details? boolean
|
|
--- @field hl_name? boolean
|
|
|
|
--- @class vim.api.keyset.get_extmarks
|
|
--- @field limit? integer
|
|
--- @field details? boolean
|
|
--- @field hl_name? boolean
|
|
--- @field overlap? boolean
|
|
--- @field type? string
|
|
|
|
--- @class vim.api.keyset.get_highlight
|
|
--- @field id? integer
|
|
--- @field name? string
|
|
--- @field link? boolean
|
|
--- @field create? boolean
|
|
|
|
--- @class vim.api.keyset.get_ns
|
|
--- @field winid? integer
|
|
|
|
--- @class vim.api.keyset.highlight
|
|
--- @field altfont? boolean
|
|
--- @field blink? boolean
|
|
--- @field bold? boolean
|
|
--- @field conceal? boolean
|
|
--- @field dim? boolean
|
|
--- @field italic? boolean
|
|
--- @field nocombine? boolean
|
|
--- @field overline? boolean
|
|
--- @field reverse? boolean
|
|
--- @field standout? boolean
|
|
--- @field strikethrough? boolean
|
|
--- @field undercurl? boolean
|
|
--- @field underdashed? boolean
|
|
--- @field underdotted? boolean
|
|
--- @field underdouble? boolean
|
|
--- @field underline? boolean
|
|
--- @field default? boolean
|
|
--- @field cterm? vim.api.keyset.highlight_cterm
|
|
--- @field foreground? integer|string
|
|
--- @field fg? integer|string
|
|
--- @field background? integer|string
|
|
--- @field bg? integer|string
|
|
--- @field ctermfg? integer|string
|
|
--- @field ctermbg? integer|string
|
|
--- @field special? integer|string
|
|
--- @field sp? integer|string
|
|
--- @field link? integer|string
|
|
--- @field global_link? integer|string
|
|
--- @field fallback? boolean
|
|
--- @field blend? integer
|
|
--- @field fg_indexed? boolean
|
|
--- @field bg_indexed? boolean
|
|
--- @field force? boolean
|
|
--- @field update? boolean
|
|
--- @field url? string
|
|
|
|
--- @class vim.api.keyset.highlight_cterm
|
|
--- @field bold? boolean
|
|
--- @field standout? boolean
|
|
--- @field strikethrough? boolean
|
|
--- @field underline? boolean
|
|
--- @field undercurl? boolean
|
|
--- @field underdouble? boolean
|
|
--- @field underdotted? boolean
|
|
--- @field underdashed? boolean
|
|
--- @field italic? boolean
|
|
--- @field reverse? boolean
|
|
--- @field altfont? boolean
|
|
--- @field dim? boolean
|
|
--- @field blink? boolean
|
|
--- @field conceal? boolean
|
|
--- @field overline? boolean
|
|
--- @field nocombine? boolean
|
|
|
|
--- @class vim.api.keyset.keymap
|
|
--- @field noremap? boolean
|
|
--- @field nowait? boolean
|
|
--- @field silent? boolean
|
|
--- @field script? boolean
|
|
--- @field expr? boolean
|
|
--- @field unique? boolean
|
|
--- @field callback? function
|
|
--- @field desc? string
|
|
--- @field replace_keycodes? boolean
|
|
|
|
--- @class vim.api.keyset.ns_opts
|
|
--- @field wins? any[]
|
|
|
|
--- @class vim.api.keyset.open_term
|
|
--- @field on_input? fun(_: "input", term: integer, bufnr: integer, data: any)
|
|
--- @field force_crlf? boolean
|
|
|
|
--- @class vim.api.keyset.option
|
|
--- @field scope? string
|
|
--- @field win? integer
|
|
--- @field buf? integer
|
|
--- @field filetype? string
|
|
|
|
--- @class vim.api.keyset.redraw
|
|
--- @field flush? boolean
|
|
--- @field cursor? boolean
|
|
--- @field valid? boolean
|
|
--- @field statuscolumn? boolean
|
|
--- @field statusline? boolean
|
|
--- @field tabline? boolean
|
|
--- @field winbar? boolean
|
|
--- @field range? any[]
|
|
--- @field win? integer
|
|
--- @field buf? integer
|
|
|
|
--- @class vim.api.keyset.runtime
|
|
--- @field is_lua? boolean
|
|
--- @field do_source? boolean
|
|
|
|
--- @class vim.api.keyset.set_decoration_provider
|
|
--- @field on_start? fun(_: "start", tick: integer): boolean?
|
|
--- @field on_buf? fun(_: "buf", bufnr: integer, tick: integer)
|
|
--- @field on_win? fun(_: "win", winid: integer, bufnr: integer, toprow: integer, botrow: integer): boolean?
|
|
--- @field on_line? fun(_: "line", winid: integer, bufnr: integer, row: integer): boolean?
|
|
--- @field on_range? fun(_: "range", winid: integer, bufnr: integer, start_row: integer, start_col: integer, end_row: integer, end_col: integer): boolean?
|
|
--- @field on_end? fun(_: "end", tick: integer)
|
|
--- @field _on_hl_def? fun(_: "hl_def")
|
|
--- @field _on_spell_nav? fun(_: "spell_nav")
|
|
--- @field _on_conceal_line? fun(_: "conceal_line")
|
|
|
|
--- @class vim.api.keyset.set_extmark
|
|
--- @field id? integer
|
|
--- @field end_line? integer
|
|
--- @field end_row? integer
|
|
--- @field end_col? integer
|
|
--- @field hl_group? any
|
|
--- @field virt_text? any[]
|
|
--- @field virt_text_pos? "eol"|"eol_right_align"|"overlay"|"right_align"|"inline"
|
|
--- @field virt_text_win_col? integer
|
|
--- @field virt_text_hide? boolean
|
|
--- @field virt_text_repeat_linebreak? boolean
|
|
--- @field hl_eol? boolean
|
|
--- @field hl_mode? "replace"|"combine"|"blend"
|
|
--- @field invalidate? boolean
|
|
--- @field ephemeral? boolean
|
|
--- @field priority? integer
|
|
--- @field right_gravity? boolean
|
|
--- @field end_right_gravity? boolean
|
|
--- @field virt_lines? any[]
|
|
--- @field virt_lines_above? boolean
|
|
--- @field virt_lines_leftcol? boolean
|
|
--- @field virt_lines_overflow? "trunc"|"scroll"
|
|
--- @field strict? boolean
|
|
--- @field sign_text? string
|
|
--- @field sign_hl_group? integer|string
|
|
--- @field number_hl_group? integer|string
|
|
--- @field line_hl_group? integer|string
|
|
--- @field cursorline_hl_group? integer|string
|
|
--- @field conceal? string
|
|
--- @field conceal_lines? string
|
|
--- @field spell? boolean
|
|
--- @field ui_watched? boolean
|
|
--- @field undo_restore? boolean
|
|
--- @field url? string
|
|
--- @field scoped? boolean
|
|
--- @field _subpriority? integer
|
|
|
|
--- @class vim.api.keyset.tabpage_config
|
|
--- @field after? integer
|
|
|
|
--- @class vim.api.keyset.user_command
|
|
--- @field addr? any
|
|
--- @field bang? boolean
|
|
--- @field bar? boolean
|
|
--- @field complete? any
|
|
--- @field count? any
|
|
--- @field desc? any
|
|
--- @field force? boolean
|
|
--- @field keepscript? boolean
|
|
--- @field nargs? any
|
|
--- @field preview? any
|
|
--- @field range? any
|
|
--- @field register? boolean
|
|
|
|
--- @class vim.api.keyset.win_config
|
|
--- @field external? boolean
|
|
--- @field fixed? boolean
|
|
--- @field focusable? boolean
|
|
--- @field footer? any
|
|
--- @field footer_pos? "center"|"left"|"right"
|
|
--- @field hide? boolean
|
|
--- @field height? integer
|
|
--- @field mouse? boolean
|
|
--- @field relative? "cursor"|"editor"|"laststatus"|"mouse"|"tabline"|"win"
|
|
--- @field row? number
|
|
--- @field style? ""|"minimal"
|
|
--- @field noautocmd? boolean
|
|
--- @field vertical? boolean
|
|
--- @field win? integer
|
|
--- @field width? integer
|
|
--- @field zindex? integer
|
|
--- @field anchor? "NW"|"NE"|"SW"|"SE"
|
|
--- @field border? any[]|"none"|"single"|"double"|"rounded"|"solid"|"shadow"
|
|
--- @field bufpos? integer[]
|
|
--- @field col? number
|
|
--- @field split? "left"|"right"|"above"|"below"
|
|
--- @field title? any
|
|
--- @field title_pos? "center"|"left"|"right"
|
|
--- @field _cmdline_offset? integer
|
|
|
|
--- @class vim.api.keyset.win_text_height
|
|
--- @field start_row? integer
|
|
--- @field end_row? integer
|
|
--- @field start_vcol? integer
|
|
--- @field end_vcol? integer
|
|
--- @field max_height? integer
|
|
|
|
--- @class vim.api.keyset.xdl_diff
|
|
--- @field on_hunk? fun(start_a: integer, count_a: integer, start_b: integer, count_b: integer): integer?
|
|
--- @field result_type? string
|
|
--- @field algorithm? string
|
|
--- @field ctxlen? integer
|
|
--- @field interhunkctxlen? integer
|
|
--- @field linematch? boolean|integer
|
|
--- @field ignore_whitespace? boolean
|
|
--- @field ignore_whitespace_change? boolean
|
|
--- @field ignore_whitespace_change_at_eol? boolean
|
|
--- @field ignore_cr_at_eol? boolean
|
|
--- @field ignore_blank_lines? boolean
|
|
--- @field indent_heuristic? boolean
|