nirish

config files for niri window manager
Log | Files | Refs | README | LICENSE

parser.lua (1548B)


      1 ---@meta _
      2 
      3 ---A ParserConfig object returned by addons
      4 ---@class (partial) ParserConfig: ParserAPI
      5 ---@field priority number?
      6 ---@field api_version string    The minimum API version the string requires.
      7 ---@field version string?        The minimum API version the string requires. @deprecated.
      8 ---
      9 ---@field can_parse (async fun(self: Parser, directory: string, parse_state: ParseState): boolean)?
     10 ---@field parse (async fun(self: Parser, directory: string, parse_state: ParseState): List?, Opts?)?
     11 ---@field setup fun(self: Parser)?
     12 ---
     13 ---@field name string?
     14 ---@field keybind_name string?
     15 ---@field keybinds KeybindList?
     16 
     17 
     18 ---The parser object used by file-browser once the parsers have been loaded and initialised.
     19 ---@class Parser: ParserAPI, ParserConfig
     20 ---@field name string
     21 ---@field priority number
     22 ---@field api_version string
     23 ---@field can_parse async fun(self: Parser, directory: string, parse_state: ParseState): boolean
     24 ---@field parse async fun(self: Parser, directory: string, parse_state: ParseState): List?, Opts?
     25 
     26 
     27 ---@alias ParseStateSource 'browser'|'loadlist'|'script-message'|'addon'|string
     28 ---@alias ParseProperties table<string,any>
     29 
     30 ---The Parse State object passed to the can_parse and parse methods
     31 ---@class ParseStateFields
     32 ---@field source ParseStateSource
     33 ---@field directory string
     34 ---@field already_deferred boolean?
     35 ---@field properties ParseProperties
     36 
     37 ---@class ParseState: ParseStateFields, ParseStateAPI
     38 
     39 ---@class ParseStateTemplate
     40 ---@field source ParseStateSource?
     41 ---@field properties ParseProperties?