misc.lua (2805B)
1 ---@meta 2 -- luacheck: no unused args 3 error('Cannot require a meta file') 4 5 ---@alias TSLoggerCallback fun(logtype: 'parse'|'lex', msg: string) 6 7 ---@class TSParser: userdata 8 ---@field parse fun(self: TSParser, tree: TSTree?, source: integer|string, include_bytes: boolean, timeout_ns: integer?): TSTree?, (Range4|Range6)[] 9 ---@field reset fun(self: TSParser) 10 ---@field included_ranges fun(self: TSParser, include_bytes: boolean?): integer[] 11 ---@field set_included_ranges fun(self: TSParser, ranges: (Range6|TSNode)[]) 12 ---@field _set_logger fun(self: TSParser, lex: boolean, parse: boolean, cb: TSLoggerCallback) 13 ---@field _logger fun(self: TSParser): TSLoggerCallback 14 15 ---@class (exact) TSQueryInfo 16 ---@field captures string[] 17 ---@field patterns table<integer, (integer|string)[][]> 18 --- 19 ---@class TSLangMetadata 20 ---@field major_version integer 21 ---@field minor_version integer 22 ---@field patch_version integer 23 --- 24 ---@class TSLangInfo 25 ---@field abi_version integer 26 ---@field metadata? TSLangMetadata -- ABI 15 only 27 ---@field state_count integer 28 ---@field fields string[] 29 ---@field symbols table<string,boolean> 30 ---@field supertypes table<string,string[]> 31 ---@field _wasm boolean 32 33 --- @param lang string 34 --- @return TSLangInfo 35 vim._ts_inspect_language = function(lang) end 36 37 ---@return integer 38 vim._ts_get_language_version = function() end 39 40 --- @param path string 41 --- @param lang string 42 --- @param symbol_name? string 43 vim._ts_add_language_from_object = function(path, lang, symbol_name) end 44 45 --- @param path string 46 --- @param lang string 47 vim._ts_add_language_from_wasm = function(path, lang) end 48 49 ---@return integer 50 vim._ts_get_minimum_language_version = function() end 51 52 ---@param lang string Language to use for the query 53 ---@param query string Query string in s-expr syntax 54 ---@return TSQuery 55 vim._ts_parse_query = function(lang, query) end 56 57 ---@param lang string 58 ---@return TSParser 59 vim._create_ts_parser = function(lang) end 60 61 --- @class TSQueryMatch: userdata 62 --- @field captures fun(self: TSQueryMatch): table<integer,TSNode[]> 63 local TSQueryMatch = {} -- luacheck: no unused 64 65 --- @return integer match_id 66 --- @return integer pattern_index 67 function TSQueryMatch:info() end 68 69 --- @class TSQueryCursor: userdata 70 --- @field remove_match fun(self: TSQueryCursor, id: integer) 71 local TSQueryCursor = {} -- luacheck: no unused 72 73 --- @return integer capture 74 --- @return TSNode captured_node 75 --- @return TSQueryMatch match 76 function TSQueryCursor:next_capture() end 77 78 --- @return TSQueryMatch match 79 function TSQueryCursor:next_match() end 80 81 --- @param node TSNode 82 --- @param query TSQuery 83 --- @param opts? { start_row: integer, start_col: integer, end_row: integer, end_col: integer, max_start_depth?: integer, match_limit?: integer } 84 --- @return TSQueryCursor 85 function vim._create_ts_querycursor(node, query, opts) end