1717 * along with KillTrack. If not, see <http://www.gnu.org/licenses/>.
1818--]]
1919
20- local _ , KT = ...
20+ --- @class KillTrack
21+ local KT = select (2 , ... )
2122
22- KT .Command = {
23+ --- @class KillTrackCommand
24+ local C = {
2325 Slash = {
2426 " killtrack" ,
2527 " kt"
2628 },
29+ --- @type { [string] : fun ( args : string[] ) }
2730 Commands = {}
2831}
2932
30- local C = KT .Command
33+ KT .Command = C
3134local KTT = KT .Tools
3235
3336-- Argument #1 (command) can be either string or a table.
37+ --- @param command string | string[]
38+ --- @param func fun ( args : string[] )
3439function C :Register (command , func )
3540 if type (command ) == " string" then
3641 command = {command }
@@ -43,18 +48,24 @@ function C:Register(command, func)
4348 end
4449end
4550
51+ --- @param command string
52+ --- @return boolean
4653function C :HasCommand (command )
4754 for k ,_ in pairs (self .Commands ) do
4855 if k == command then return true end
4956 end
5057 return false
5158end
5259
60+ --- @param command string
61+ --- @return fun ( args : string[] )
5362function C :GetCommand (command )
5463 local cmd = self .Commands [command ]
5564 if cmd then return cmd else return self .Commands [" __DEFAULT__" ] end
5665end
5766
67+ --- @param command string
68+ --- @param args string[]
5869function C :HandleCommand (command , args )
5970 local cmd = self :GetCommand (command )
6071 if cmd then
@@ -112,10 +123,10 @@ C:Register({"printnew", "pn"}, function()
112123end )
113124
114125C :Register ({" set" , " edit" }, function (args )
115- local id = tonumber (args [1 ])
126+ local id = tonumber (args [1 ]) --[[ @as integer ]]
116127 local name = args [2 ]
117- local global = tonumber (args [3 ])
118- local char = tonumber (args [4 ])
128+ local global = tonumber (args [3 ]) --[[ @as integer ]]
129+ local char = tonumber (args [4 ]) --[[ @as integer ]]
119130
120131 local err
121132
@@ -166,8 +177,9 @@ C:Register({"delete", "del", "remove", "rem"}, function(args)
166177end )
167178
168179C :Register ({" purge" }, function (args )
180+ --- @type integer ?
169181 local threshold
170- if # args >= 1 then threshold = tonumber (args [1 ]) end
182+ if # args >= 1 then threshold = tonumber (args [1 ]) --[[ @as integer ]] end
171183 KT :ShowPurge (threshold )
172184end )
173185
@@ -218,7 +230,7 @@ C:Register({"immediate", "imm", "i"}, function(args)
218230 if # args < 1 then
219231 KT .Immediate :Show ()
220232 elseif args [1 ]:match (" ^t" ) then
221- local threshold = tonumber (args [2 ])
233+ local threshold = tonumber (args [2 ]) --[[ @as integer ]]
222234 if # args < 2 then
223235 KT :Msg (" Usage: immediate threshold <threshold>" )
224236 KT :Msg (" E.g: /kt immediate threshold 50" )
0 commit comments