Skip to content

Commit

Permalink
properly define classes for modules
Browse files Browse the repository at this point in the history
This ensures that an error is raised when calling a non-existant method.
  • Loading branch information
CogentRedTester committed Feb 27, 2025
1 parent 453d979 commit 647c260
Show file tree
Hide file tree
Showing 15 changed files with 16 additions and 7 deletions.
2 changes: 1 addition & 1 deletion modules/addons.lua
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ local utils = require 'mp.utils'

local o = require 'modules.options'
local g = require 'modules.globals'
local fb = require 'modules.apis.fb'
local fb_utils = require 'modules.utils'
local parser_API = require 'modules.apis.parser'

Expand Down Expand Up @@ -188,6 +187,7 @@ local function load_external_addons()
load_addons(addon_dir)
end

---@class addons
return {
check_api_version = check_api_version,
load_internal_parsers = load_internal_parsers,
Expand Down
2 changes: 1 addition & 1 deletion modules/apis/fb.lua
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ local scanning = require 'modules.navigation.scanning'
local cache = require 'modules.cache'
local controls = require 'modules.controls'

---@class FbAPI: FBUtils
---@class FbAPI: fb_utils
local fb = setmetatable({}, { __index = setmetatable({}, { __index = fb_utils }) })
package.loaded["file-browser"] = setmetatable({}, { __index = fb })

Expand Down
3 changes: 1 addition & 2 deletions modules/ass.lua
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@
--------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------

local utils = require 'mp.utils'

local g = require 'modules.globals'
local o = require 'modules.options'
local fb_utils = require 'modules.utils'
Expand Down Expand Up @@ -175,6 +173,7 @@ local function update_ass()
draw()
end

---@class ass
return {
update_ass = update_ass,
highlight_entry = highlight_entry,
Expand Down
1 change: 1 addition & 0 deletions modules/controls.lua
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ local movement = require 'modules.navigation.directory-movement'
local ass = require 'modules.ass'
local cursor = require 'modules.navigation.cursor'

---@class controls
local controls = {}

--opens the browser
Expand Down
3 changes: 2 additions & 1 deletion modules/globals.lua
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,10 @@
--------------------------------------------------------------------------------------------------------

local mp = require 'mp'
local o = require 'modules.options'

---@class globals
local globals = {}
local o = require 'modules.options'

--sets the version for the file-browser API
globals.API_VERSION = "1.7.1"
Expand Down
1 change: 1 addition & 0 deletions modules/keybinds.lua
Original file line number Diff line number Diff line change
Expand Up @@ -341,6 +341,7 @@ local function setup_keybinds()
end
end

---@class keybinds
return {
setup_keybinds = setup_keybinds,
}
1 change: 1 addition & 0 deletions modules/navigation/cursor.lua
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ local g = require 'modules.globals'
local fb_utils = require 'modules.utils'
local ass = require 'modules.ass'

---@class cursor
local cursor = {}

--disables multiselect
Expand Down
1 change: 1 addition & 0 deletions modules/navigation/directory-movement.lua
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ local cache = require 'modules.cache'
local scanning = require 'modules.navigation.scanning'
local fb_utils = require 'modules.utils'

---@class directory_movement
local directory_movement = {}

function directory_movement.set_current_file(filepath)
Expand Down
1 change: 1 addition & 0 deletions modules/navigation/scanning.lua
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,7 @@ local function rescan(moving_adjacent)
return g.state.co
end

---@class scanning
return {
rescan = rescan,
scan_directory = parse_directory,
Expand Down
1 change: 1 addition & 0 deletions modules/observers.lua
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ local directory_movement = require 'modules.navigation.directory-movement'
local fb = require 'modules.apis.fb'
local fb_utils = require 'modules.utils'

---@class observers
local observers ={}

---saves the directory and name of the currently playing file
Expand Down
2 changes: 1 addition & 1 deletion modules/options.lua
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
local utils = require 'mp.utils'
local opt = require 'mp.options'

---@class Options
---@class options
local o = {
--root directories
root = "~/",
Expand Down
1 change: 1 addition & 0 deletions modules/playlist.lua
Original file line number Diff line number Diff line change
Expand Up @@ -346,6 +346,7 @@ local function open_file(flag, autoload)
fb_utils.coroutine.resume_err(opts.co, opts)
end

---@class playlist
return {
add_files = open_file,
}
1 change: 1 addition & 0 deletions modules/script-messages.lua
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ local g = require 'modules.globals'
local fb_utils = require 'modules.utils'
local scanning = require 'modules.navigation.scanning'

---@class script_messages
local script_messages = {}

---Allows other scripts to request directory contents from file-browser.
Expand Down
1 change: 1 addition & 0 deletions modules/setup.lua
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ local function setup_root()
end
end

---@class setup
return {
extensions_list = setup_extensions_list,
root = setup_root,
Expand Down
2 changes: 1 addition & 1 deletion modules/utils.lua
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ local user_input_loaded, user_input = pcall(require, 'user-input-module')

--creates a table for the API functions
--adds one metatable redirect to prevent addon authors from accidentally breaking file-browser
---@class FBUtils
---@class fb_utils
local fb_utils = { API_VERSION = g.API_VERSION }

fb_utils.list = {}
Expand Down

0 comments on commit 647c260

Please sign in to comment.