50 lines
1.1 KiB
GDScript
50 lines
1.1 KiB
GDScript
@tool
|
|
extends EditorPlugin
|
|
|
|
const Debugger = preload("debugger.gd")
|
|
const Exporter = preload("exporter.gd")
|
|
const Settings = preload("settings.gd")
|
|
const Utilities = preload("utilities.gd")
|
|
|
|
var debugger := Debugger.new()
|
|
var exporter := Exporter.new()
|
|
|
|
|
|
func _enter_tree() -> void:
|
|
debugger.erase_describe_callable = _erase_describe
|
|
exporter.erase_describe_callable = _erase_describe
|
|
exporter.set_describe_callable = _set_describe
|
|
|
|
add_debugger_plugin(debugger)
|
|
add_export_plugin(exporter)
|
|
Settings.init_settings()
|
|
Utilities.push_status()
|
|
|
|
|
|
func _build() -> bool:
|
|
_set_describe()
|
|
return true
|
|
|
|
|
|
func _disable_plugin() -> void:
|
|
remove_debugger_plugin(debugger)
|
|
remove_export_plugin(exporter)
|
|
_erase_describe()
|
|
|
|
|
|
func _exit_tree() -> void:
|
|
_disable_plugin()
|
|
|
|
|
|
func _set_describe() -> void:
|
|
var describe: String = Utilities.get_git_describe(
|
|
Settings.get_command_options()
|
|
)
|
|
Settings.set_describe_setting(describe)
|
|
Settings.append_project_name(describe, true)
|
|
|
|
|
|
func _erase_describe() -> void:
|
|
Settings.set_describe_setting(null)
|
|
Settings.append_project_name(Settings.cached_describe, false)
|