summaryrefslogtreecommitdiff
path: root/addons/gdUnit4/src/cmd/CmdOptions.gd
diff options
context:
space:
mode:
Diffstat (limited to 'addons/gdUnit4/src/cmd/CmdOptions.gd')
-rw-r--r--addons/gdUnit4/src/cmd/CmdOptions.gd31
1 files changed, 31 insertions, 0 deletions
diff --git a/addons/gdUnit4/src/cmd/CmdOptions.gd b/addons/gdUnit4/src/cmd/CmdOptions.gd
new file mode 100644
index 0000000..c610529
--- /dev/null
+++ b/addons/gdUnit4/src/cmd/CmdOptions.gd
@@ -0,0 +1,31 @@
+class_name CmdOptions
+extends RefCounted
+
+
+var _default_options :Array[CmdOption]
+var _advanced_options :Array[CmdOption]
+
+
+func _init(p_options :Array[CmdOption] = [], p_advanced_options :Array[CmdOption] = []) -> void:
+ # default help options
+ _default_options = p_options
+ _advanced_options = p_advanced_options
+
+
+func default_options() -> Array[CmdOption]:
+ return _default_options
+
+
+func advanced_options() -> Array[CmdOption]:
+ return _advanced_options
+
+
+func options() -> Array[CmdOption]:
+ return default_options() + advanced_options()
+
+
+func get_option(cmd :String) -> CmdOption:
+ for option in options():
+ if Array(option.commands()).has(cmd):
+ return option
+ return null