init
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
---@meta file-browser
|
||||
|
||||
return require 'modules.apis.fb'
|
||||
@@ -0,0 +1,39 @@
|
||||
---@meta _
|
||||
|
||||
---@class KeybindFlags
|
||||
---@field repeatable boolean?
|
||||
---@field scalable boolean?
|
||||
---@field complex boolean?
|
||||
|
||||
|
||||
---@class KeybindCommandTable
|
||||
|
||||
|
||||
---@class Keybind
|
||||
---@field key string
|
||||
---@field command KeybindCommand
|
||||
---@field api_version string?
|
||||
---
|
||||
---@field name string?
|
||||
---@field condition string?
|
||||
---@field flags KeybindFlags?
|
||||
---@field filter ('file'|'dir')?
|
||||
---@field parser string?
|
||||
---@field multiselect boolean?
|
||||
---@field multi-type ('repeat'|'concat')?
|
||||
---@field delay number?
|
||||
---@field concat-string string?
|
||||
---@field passthrough boolean?
|
||||
---
|
||||
---@field prev_key Keybind? The keybind that was previously set to the same key.
|
||||
---@field codes Set<string>? Any substituation codes used by the command table.
|
||||
---@field condition_codes Set<string>? Any substitution codes used by the condition string.
|
||||
---@field addon boolean? Whether the keybind was created by an addon.
|
||||
|
||||
|
||||
---@alias KeybindFunctionCallback async fun(keybind: Keybind, state: State, co: thread)
|
||||
|
||||
---@alias KeybindCommand KeybindFunctionCallback|KeybindCommandTable[]
|
||||
---@alias KeybindTuple [string,string,KeybindCommand,KeybindFlags?]
|
||||
---@alias KeybindTupleStrict [string,string,KeybindFunctionCallback,KeybindFlags?]
|
||||
---@alias KeybindList (Keybind|KeybindTuple)[]
|
||||
@@ -0,0 +1,25 @@
|
||||
---@meta _
|
||||
|
||||
---@alias List Item[]
|
||||
|
||||
---Represents an item returned by the parsers.
|
||||
---@class Item
|
||||
---@field type 'file'|'dir'
|
||||
---@field name string
|
||||
---@field label string?
|
||||
---@field path string?
|
||||
---@field ass string?
|
||||
---@field redirect boolean?
|
||||
---@field mpv_options string|{[string]: unknown}?
|
||||
|
||||
|
||||
---The Opts table returned by the parsers.
|
||||
---@class Opts
|
||||
---@field filtered boolean?
|
||||
---@field sorted boolean?
|
||||
---@field directory string?
|
||||
---@field directory_label string?
|
||||
---@field empty_text string?
|
||||
---@field selected_index number?
|
||||
---@field id string?
|
||||
---@field parser Parser?
|
||||
@@ -0,0 +1,148 @@
|
||||
---@meta mp
|
||||
|
||||
---@class mp
|
||||
local mp = {}
|
||||
|
||||
---@class AsyncReturn
|
||||
|
||||
---@class MPTimer
|
||||
---@field stop fun(self: MPTimer)
|
||||
---@field kill fun(self: MPTimer)
|
||||
---@field resume fun(self: MPTimer)
|
||||
---@field is_enabled fun(self: MPTimer): boolean
|
||||
---@field timeout number
|
||||
---@field oneshot boolean
|
||||
|
||||
---@class OSDOverlay
|
||||
---@field data string
|
||||
---@field res_x number
|
||||
---@field res_y number
|
||||
---@field z number
|
||||
---@field update fun(self:OSDOverlay)
|
||||
---@field remove fun(self: OSDOverlay)
|
||||
|
||||
---@class MPVSubprocessResult
|
||||
---@field status number
|
||||
---@field stdout string
|
||||
---@field stderr string
|
||||
---@field error_string ''|'killed'|'init'
|
||||
---@field killed_by_us boolean
|
||||
|
||||
---@param key string
|
||||
---@param name_or_fn string|function
|
||||
---@param fn? async fun()
|
||||
---@param flags? KeybindFlags
|
||||
function mp.add_key_binding(key, name_or_fn, fn, flags) end
|
||||
|
||||
---@param key string
|
||||
---@param name_or_fn string|function
|
||||
---@param fn? async fun()
|
||||
---@param flags? KeybindFlags
|
||||
function mp.add_forced_key_binding(key, name_or_fn, fn, flags) end
|
||||
|
||||
---@param seconds number
|
||||
---@param fn function
|
||||
---@param disabled? boolean
|
||||
---@return MPTimer
|
||||
function mp.add_timeout(seconds, fn, disabled) end
|
||||
|
||||
---@param format 'ass-events'
|
||||
---@return OSDOverlay
|
||||
function mp.create_osd_overlay(format) end
|
||||
|
||||
---@param ... string
|
||||
function mp.commandv(...) end
|
||||
|
||||
---@generic T
|
||||
---@param t table
|
||||
---@param def? T
|
||||
---@return unknown|T result
|
||||
---@return string? error
|
||||
---@overload fun(t: table): (unknown|nil, string?)
|
||||
function mp.command_native(t, def) end
|
||||
|
||||
---@nodiscard
|
||||
---@param t table
|
||||
---@param cb fun(success: boolean, result: unknown, error: string?)
|
||||
---@return AsyncReturn
|
||||
function mp.command_native_async(t, cb) end
|
||||
|
||||
---@param t AsyncReturn
|
||||
function mp.abort_async_command(t) end
|
||||
|
||||
---@generic T
|
||||
---@param name string
|
||||
---@param def? T
|
||||
---@return string|T
|
||||
---@overload fun(name: string): string|nil
|
||||
function mp.get_property(name, def) end
|
||||
|
||||
---@generic T
|
||||
---@param name string
|
||||
---@param def? T
|
||||
---@return boolean|T
|
||||
---@overload fun(name: string): boolean|nil
|
||||
function mp.get_property_bool(name, def) end
|
||||
|
||||
---@generic T
|
||||
---@param name string
|
||||
---@param def? T
|
||||
---@return number|T
|
||||
---@overload fun(name: string): number|nil
|
||||
function mp.get_property_number(name, def) end
|
||||
|
||||
---@generic T
|
||||
---@param name string
|
||||
---@param def? T
|
||||
---@return unknown|T
|
||||
---@overload fun(name: string): unknown|nil
|
||||
function mp.get_property_native(name, def) end
|
||||
|
||||
---@return string|nil
|
||||
function mp.get_script_directory() end
|
||||
|
||||
---@return string
|
||||
function mp.get_script_name() end
|
||||
|
||||
---@param name string
|
||||
---@param type 'native'|'bool'|'string'|'number'
|
||||
---@param fn fun(name: string, v: unknown)
|
||||
function mp.observe_property(name, type, fn) end
|
||||
|
||||
---@param name string
|
||||
---@param fn function
|
||||
---@return boolean
|
||||
function mp.register_event(name, fn) end
|
||||
|
||||
---@param name string
|
||||
---@param fn fun(...: string)
|
||||
function mp.register_script_message(name, fn) end
|
||||
|
||||
---@param name string
|
||||
function mp.remove_key_binding(name) end
|
||||
|
||||
---@param name string
|
||||
---@param value string
|
||||
---@return true? success # nil if error
|
||||
---@return string? err
|
||||
function mp.set_property(name, value) end
|
||||
|
||||
---@param name string
|
||||
---@param value boolean
|
||||
---@return true? success # nil if error
|
||||
---@return string? err
|
||||
function mp.set_property_bool(name, value) end
|
||||
|
||||
---@param name string
|
||||
---@param value number
|
||||
---@return true? success # nil if error
|
||||
---@return string? err
|
||||
function mp.set_property_number(name, value) end
|
||||
|
||||
---@param name string
|
||||
---@param value any
|
||||
---@return true? success # nil if error
|
||||
---@return string? err
|
||||
function mp.set_property_native(name, value) end
|
||||
|
||||
return mp
|
||||
@@ -0,0 +1,21 @@
|
||||
---@meta mp.input
|
||||
|
||||
---@class mp.input
|
||||
local input = {}
|
||||
|
||||
---@class InputGetOpts
|
||||
---@field prompt string?
|
||||
---@field default_text string?
|
||||
---@field id string?
|
||||
---@field submit (fun(text: string))?
|
||||
---@field opened (fun())?
|
||||
---@field edited (fun(text: string))?
|
||||
---@field complete (fun(text_before_cursor: string): string[], number)?
|
||||
---@field closed (fun(text: string))?
|
||||
|
||||
---@param options InputGetOpts
|
||||
function input.get(options) end
|
||||
|
||||
function input.terminate() end
|
||||
|
||||
return input
|
||||
@@ -0,0 +1,32 @@
|
||||
---@meta mp.msg
|
||||
|
||||
---@class mp.msg
|
||||
local msg = {}
|
||||
|
||||
---@param level 'fatal'|'error'|'warn'|'info'|'v'|'debug'|'trace'
|
||||
---@param ... any
|
||||
function msg.log(level, ...) end
|
||||
|
||||
---@param ... any
|
||||
function msg.fatal(...) end
|
||||
|
||||
---@param ... any
|
||||
function msg.error(...) end
|
||||
|
||||
---@param ... any
|
||||
function msg.warn(...) end
|
||||
|
||||
---@param ... any
|
||||
function msg.info(...) end
|
||||
|
||||
---@param ... any
|
||||
function msg.verbose(...) end
|
||||
|
||||
---@param ... any
|
||||
function msg.debug(...) end
|
||||
|
||||
---@param ... any
|
||||
function msg.trace(...) end
|
||||
|
||||
|
||||
return msg
|
||||
@@ -0,0 +1,11 @@
|
||||
---@meta mp.options
|
||||
|
||||
---@class mp.options
|
||||
local options = {}
|
||||
|
||||
---@param t table<string,string|number|boolean>
|
||||
---@param identifier? string
|
||||
---@param on_update? fun(list: table<string,true|nil>)
|
||||
function options.read_options(t, identifier, on_update) end
|
||||
|
||||
return options
|
||||
@@ -0,0 +1,43 @@
|
||||
---@meta mp.utils
|
||||
|
||||
---@class mp.utils
|
||||
local utils = {}
|
||||
|
||||
---@param v string|boolean|number|table|nil
|
||||
---@return string? json # nil on error
|
||||
---@return string? err # error
|
||||
function utils.format_json(v) end
|
||||
|
||||
---@param p1 string
|
||||
---@param p2 string
|
||||
---@return string
|
||||
function utils.join_path(p1, p2) end
|
||||
|
||||
---@param str string
|
||||
---@param trail? boolean
|
||||
---@return (table|unknown[])? t
|
||||
---@return string? err # error
|
||||
---@return string trail # trailing characters
|
||||
function utils.parse_json(str, trail) end
|
||||
|
||||
---@param path string
|
||||
---@param filter ('files'|'dirs'|'normal'|'all')?
|
||||
---@return string[]? # nil on error
|
||||
---@return string? err # error
|
||||
function utils.readdir(path, filter) end
|
||||
|
||||
---@deprecated
|
||||
---@param name string
|
||||
---@param value string
|
||||
function utils.shared_script_property_set(name, value) end
|
||||
|
||||
---@param path string
|
||||
---@return string directory
|
||||
---@return string filename
|
||||
function utils.split_path(path) end
|
||||
|
||||
---@param v any
|
||||
---@return string
|
||||
function utils.to_string(v) end
|
||||
|
||||
return utils
|
||||
@@ -0,0 +1,41 @@
|
||||
---@meta _
|
||||
|
||||
---A ParserConfig object returned by addons
|
||||
---@class (partial) ParserConfig: ParserAPI
|
||||
---@field priority number?
|
||||
---@field api_version string The minimum API version the string requires.
|
||||
---@field version string? The minimum API version the string requires. @deprecated.
|
||||
---
|
||||
---@field can_parse (async fun(self: Parser, directory: string, parse_state: ParseState): boolean)?
|
||||
---@field parse (async fun(self: Parser, directory: string, parse_state: ParseState): List?, Opts?)?
|
||||
---@field setup fun(self: Parser)?
|
||||
---
|
||||
---@field name string?
|
||||
---@field keybind_name string?
|
||||
---@field keybinds KeybindList?
|
||||
|
||||
|
||||
---The parser object used by file-browser once the parsers have been loaded and initialised.
|
||||
---@class Parser: ParserAPI, ParserConfig
|
||||
---@field name string
|
||||
---@field priority number
|
||||
---@field api_version string
|
||||
---@field can_parse async fun(self: Parser, directory: string, parse_state: ParseState): boolean
|
||||
---@field parse async fun(self: Parser, directory: string, parse_state: ParseState): List?, Opts?
|
||||
|
||||
|
||||
---@alias ParseStateSource 'browser'|'loadlist'|'script-message'|'addon'|string
|
||||
---@alias ParseProperties table<string,any>
|
||||
|
||||
---The Parse State object passed to the can_parse and parse methods
|
||||
---@class ParseStateFields
|
||||
---@field source ParseStateSource
|
||||
---@field directory string
|
||||
---@field already_deferred boolean?
|
||||
---@field properties ParseProperties
|
||||
|
||||
---@class ParseState: ParseStateFields, ParseStateAPI
|
||||
|
||||
---@class ParseStateTemplate
|
||||
---@field source ParseStateSource?
|
||||
---@field properties ParseProperties?
|
||||
@@ -0,0 +1,21 @@
|
||||
---@meta _
|
||||
|
||||
---@class Set<T>: {[T]: boolean}
|
||||
|
||||
---@class (exact) State
|
||||
---@field list List
|
||||
---@field selected number
|
||||
---@field hidden boolean
|
||||
---@field flag_update boolean
|
||||
---@field keybinds KeybindTupleStrict[]?
|
||||
---
|
||||
---@field parser Parser?
|
||||
---@field directory string?
|
||||
---@field directory_label string?
|
||||
---@field prev_directory string
|
||||
---@field empty_text string
|
||||
---@field co thread?
|
||||
---
|
||||
---@field multiselect_start number?
|
||||
---@field initial_selection Set<number>?
|
||||
---@field selection Set<number>?
|
||||
@@ -0,0 +1,28 @@
|
||||
---@meta user-input-module
|
||||
|
||||
---@class user_input_module
|
||||
local user_input_module = {}
|
||||
|
||||
---@class UserInputOpts
|
||||
---@field id string?
|
||||
---@field source string?
|
||||
---@field request_text string?
|
||||
---@field default_input string?
|
||||
---@field cursor_pos number?
|
||||
---@field queueable boolean?
|
||||
---@field replace boolean?
|
||||
|
||||
---@class UserInputRequest
|
||||
---@field callback function?
|
||||
---@field passthrough_args any[]?
|
||||
---@field pending boolean
|
||||
---@field cancel fun(self: UserInputRequest)
|
||||
---@field update fun(self: UserInputRequest, opts: UserInputOpts)
|
||||
|
||||
---@param fn function
|
||||
---@param opts UserInputOpts
|
||||
---@param ... any passthrough arguments
|
||||
---@return UserInputRequest
|
||||
function user_input_module.get_user_input(fn, opts, ...) end
|
||||
|
||||
return user_input_module
|
||||
Reference in New Issue
Block a user