api_keysets_extra.lua 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. --- @meta _
  2. error('Cannot require a meta file')
  3. --- Extra types we can't generate keysets for
  4. --- @class vim.api.keyset.extmark_details
  5. --- @field ns_id integer
  6. --- @field right_gravity boolean
  7. ---
  8. --- @field end_row? integer
  9. --- @field end_col? integer
  10. --- @field end_right_gravity? integer
  11. ---
  12. --- @field priority? integer
  13. ---
  14. --- @field undo_restore? false
  15. --- @field invalidate? true
  16. --- @field invalid? true
  17. ---
  18. --- @field hl_group? string
  19. --- @field hl_eol? boolean
  20. ---
  21. --- @field conceal? boolean
  22. --- @field spell? boolean
  23. --- @field ui_watched? boolean
  24. --- @field url? string
  25. --- @field hl_mode? string
  26. ---
  27. --- @field virt_text? [string, string][]
  28. --- @field virt_text_hide? boolean
  29. --- @field virt_text_repeat_linebreak? boolean
  30. --- @field virt_text_win_col? integer
  31. --- @field virt_text_pos? string
  32. ---
  33. --- @field virt_lines? [string, string][][]
  34. --- @field virt_lines_above? boolean
  35. --- @field virt_lines_leftcol? boolean
  36. ---
  37. --- @field sign_text? string
  38. --- @field sign_name? string
  39. --- @field sign_hl_group? string
  40. --- @field number_hl_group? string
  41. --- @field line_hl_group? string
  42. --- @field cursorline_hl_group? string
  43. --- @class vim.api.keyset.get_extmark_item_by_id
  44. --- @field [1] integer row
  45. --- @field [2] integer col
  46. --- @field [3] vim.api.keyset.extmark_details?
  47. --- @class vim.api.keyset.get_extmark_item
  48. --- @field [1] integer extmark_id
  49. --- @field [2] integer row
  50. --- @field [3] integer col
  51. --- @field [4] vim.api.keyset.extmark_details?
  52. --- @class vim.api.keyset.get_mark
  53. --- @field [1] integer row
  54. --- @field [2] integer col
  55. --- @field [3] integer buffer
  56. --- @field [4] string buffername
  57. --- @class vim.api.keyset.get_autocmds.ret
  58. --- @field id? integer
  59. --- @field group? integer
  60. --- @field group_name? integer
  61. --- @field desc? string
  62. --- @field event? string
  63. --- @field command? string
  64. --- @field callback? function
  65. --- @field once? boolean
  66. --- @field pattern? string
  67. --- @field buflocal? boolean
  68. --- @field buffer? integer
  69. --- @class vim.api.keyset.create_autocmd.callback_args
  70. --- @field id integer autocommand id
  71. --- @field event string name of the triggered event |autocmd-events|
  72. --- @field group? integer autocommand group id, if any
  73. --- @field match string expanded value of <amatch>
  74. --- @field buf integer expanded value of <abuf>
  75. --- @field file string expanded value of <afile>
  76. --- @field data? any arbitrary data passed from |nvim_exec_autocmds()| *event-data*
  77. --- @class vim.api.keyset.create_user_command.command_args
  78. --- @field name string Command name
  79. ---
  80. --- The args passed to the command, if any <args>
  81. --- @field args string
  82. ---
  83. --- The args split by unescaped whitespace
  84. --- (when more than one argument is allowed), if any <f-args>
  85. --- @field fargs string[]
  86. ---
  87. --- Number of arguments |:command-nargs|
  88. --- @field nargs string
  89. ---
  90. --- "true" if the command was executed with a ! modifier <bang>
  91. --- @field bang boolean
  92. ---
  93. --- The starting line of the command range <line1>
  94. --- @field line1 integer
  95. ---
  96. --- The final line of the command range <line2>
  97. --- @field line2 integer
  98. ---
  99. --- The number of items in the command range: 0, 1, or 2 <range>
  100. --- @field range integer
  101. ---
  102. --- Any count supplied <count>
  103. --- @field count integer
  104. --- The optional register, if specified <reg>
  105. --- @field reg string
  106. --- Command modifiers, if any <mods>
  107. --- @field mods string
  108. ---
  109. --- Command modifiers in a structured format. Has the same structure as the
  110. --- "mods" key of |nvim_parse_cmd()|.
  111. --- @field smods table
  112. --- @class vim.api.keyset.command_info
  113. --- @field name string
  114. --- @field definition string
  115. --- @field script_id integer
  116. --- @field bang boolean
  117. --- @field bar boolean
  118. --- @field register boolean
  119. --- @field keepscript boolean
  120. --- @field preview boolean
  121. --- @field nargs string
  122. --- @field complete? string
  123. --- @field complete_arg? string
  124. --- @field count? string
  125. --- @field range? string
  126. --- @field addr? string
  127. --- @class vim.api.keyset.hl_info.base
  128. --- @field reverse? true
  129. --- @field bold? true
  130. --- @field italic? true
  131. --- @field underline? true
  132. --- @field undercurl? true
  133. --- @field underdouble? true
  134. --- @field underdotted? true
  135. --- @field underdashed? true
  136. --- @field standout? true
  137. --- @field strikethrough? true
  138. --- @field altfont? true
  139. --- @field nocombine? true
  140. --- @field ctermfg? integer
  141. --- @field ctermbg? integer
  142. --- @class vim.api.keyset.hl_info.cterm : vim.api.keyset.hl_info.base
  143. --- @field foreground? integer
  144. --- @field background? integer
  145. --- @class vim.api.keyset.get_hl_info : vim.api.keyset.hl_info.base
  146. --- @field fg? integer
  147. --- @field bg? integer
  148. --- @field sp? integer
  149. --- @field default? true
  150. --- @field blend? integer
  151. --- @field cterm? vim.api.keyset.hl_info.cterm
  152. --- @class vim.api.keyset.set_hl_info : vim.api.keyset.hl_info.base
  153. --- @field fg? integer|string
  154. --- @field bg? integer|string
  155. --- @field sp? integer|string
  156. --- @field default? true
  157. --- @field link? string
  158. --- @field blend? integer
  159. --- @field force? true
  160. --- @field cterm? vim.api.keyset.hl_info.cterm
  161. --- @class vim.api.keyset.get_mode
  162. --- @field blocking boolean
  163. --- @field mode string
  164. --- @class vim.api.keyset.get_option_info
  165. --- @field name string
  166. --- @field shortname string
  167. --- @field scope 'buf'|'win'|'global'
  168. --- @field global_local boolean
  169. --- @field commalist boolean
  170. --- @field flaglist boolean
  171. --- @field was_set boolean
  172. --- @field last_set_sid integer
  173. --- @field last_set_linenr integer
  174. --- @field last_set_chan integer
  175. --- @field type 'string'|'boolean'|'number'
  176. --- @field default string|boolean|integer
  177. --- @field allows_duplicates boolean
  178. --- @class vim.api.keyset.parse_cmd.mods
  179. --- @field filter { force: boolean, pattern: string }
  180. --- @field silent boolean
  181. --- @field emsg_silent boolean
  182. --- @field unsilent boolean
  183. --- @field sandbox boolean
  184. --- @field noautocmd boolean
  185. --- @field tab integer
  186. --- @field verbose integer
  187. --- @field browse boolean
  188. --- @field confirm boolean
  189. --- @field hide boolean
  190. --- @field keepalt boolean
  191. --- @field keepjumps boolean
  192. --- @field keepmarks boolean
  193. --- @field keeppatterns boolean
  194. --- @field lockmarks boolean
  195. --- @field noswapfile boolean
  196. --- @field vertical boolean
  197. --- @field horizontal boolean
  198. --- @field split ''|'botright'|'topleft'|'belowright'|'aboveleft'
  199. --- @class vim.api.keyset.parse_cmd
  200. --- @field addr 'line'|'arg'|'buf'|'load'|'win'|'tab'|'qf'|'none'|'?'
  201. --- @field args string[]
  202. --- @field bang boolean
  203. --- @field cmd string
  204. --- @field magic {bar: boolean, file: boolean}
  205. --- @field mods vim.api.keyset.parse_cmd.mods
  206. --- @field nargs '0'|'1'|'?'|'+'|'*'
  207. --- @field nextcmd string
  208. --- @field range? integer[]
  209. --- @field count? integer
  210. --- @field reg? string