cleaned code and prefixed display text of directories when using the ls command to have an /

This commit is contained in:
Brazly
2026-01-24 13:39:01 +00:00
parent 6f92ab851f
commit 606e203b93

View File

@@ -4,6 +4,8 @@ class_name TerminalControls
@onready var historyContainer = $MarginContainer/ScrollContainer/VBoxContainer @onready var historyContainer = $MarginContainer/ScrollContainer/VBoxContainer
@onready var caret = $MarginContainer/ScrollContainer/VBoxContainer/Label/Caret @onready var caret = $MarginContainer/ScrollContainer/VBoxContainer/Label/Caret
@onready var blink_timer = $MarginContainer/ScrollContainer/VBoxContainer/Label/CaretTimer @onready var blink_timer = $MarginContainer/ScrollContainer/VBoxContainer/Label/CaretTimer
@onready var ruler: Label = $"caret-ruler"
@onready var scroll: ScrollContainer = $MarginContainer/ScrollContainer
@export var terminalLine: RichTextLabel @export var terminalLine: RichTextLabel
var command: String var command: String
@@ -46,6 +48,7 @@ func InputChar(input) -> void:
UpdateCaretPos() UpdateCaretPos()
await get_tree().create_timer(.01).timeout await get_tree().create_timer(.01).timeout
reset_blink() reset_blink()
func InputDelChar() -> void: func InputDelChar() -> void:
if terminalLine.text.length() > ("user@work " + directory).length() + 1: if terminalLine.text.length() > ("user@work " + directory).length() + 1:
terminalLine.text = terminalLine.text.left(-1) terminalLine.text = terminalLine.text.left(-1)
@@ -70,8 +73,13 @@ func EnterCommand() -> void:
currentDirData = GetDirAtPath(directory) currentDirData = GetDirAtPath(directory)
if currentDirData is Dictionary: if currentDirData is Dictionary:
var list = "" var list = ""
var file: String
for key in currentDirData.keys(): for key in currentDirData.keys():
file = key
if file.ends_with(".txt"):
list += key + " " list += key + " "
else:
list += key + "/ "
CreateHistoryEntry(list) CreateHistoryEntry(list)
else: else:
CreateHistoryEntry("error: Directory not found") CreateHistoryEntry("error: Directory not found")
@@ -110,35 +118,16 @@ func EnterCommand() -> void:
# --- History and FileSystem Helpers --- # --- History and FileSystem Helpers ---
func CreateHistoryEntry(content: String) -> void: func CreateHistoryEntry(content: String) -> void:
# var label = Label.new()
# label.text = content
# label.label_settings = LabelSettings.new()
# label.label_settings.font_size = 42
# label.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART
# label.custom_minimum_size = Vector2(1400, 0)
#
#if terminalLine.text.length() > 200:
#for child in historyContainer.get_children():
#if child != terminalLine:
#child.queue_free()
# historyContainer.add_child(label)
# historyContainer.move_child(label, historyContainer.get_child_count() - 2)
var rtl = RichTextLabel.new() var rtl = RichTextLabel.new()
rtl.bbcode_enabled = true rtl.bbcode_enabled = true
rtl.fit_content = true # Important for VBoxContainer rtl.fit_content = true
rtl.text = content rtl.text = content
rtl.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART rtl.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART
rtl.custom_minimum_size = Vector2(1400, 0) rtl.custom_minimum_size = Vector2(1400, 0)
rtl.add_theme_font_size_override("normal_font_size", 42) rtl.add_theme_font_size_override("normal_font_size", 42)
# Optional: Set a theme or font override here
# rtl.add_theme_font_size_override("normal_font_size", 42)
historyContainer.add_child(rtl) historyContainer.add_child(rtl)
# Moves the entry above the input line
historyContainer.move_child(rtl, historyContainer.get_child_count() - 2) historyContainer.move_child(rtl, historyContainer.get_child_count() - 2)
func ResolvePath(current: String, target: String) -> String: func ResolvePath(current: String, target: String) -> String:
@@ -211,14 +200,12 @@ help : Show this menu
-------------------------") -------------------------")
func ScrollUp(): func ScrollUp():
var scroll: ScrollContainer = $MarginContainer/ScrollContainer
await get_tree().create_timer(.0001).timeout await get_tree().create_timer(.0001).timeout
scroll.set_deferred("scroll_vertical", scroll.get_v_scroll_bar().value - 100 ) scroll.set_deferred("scroll_vertical", scroll.get_v_scroll_bar().value - 100 )
func ScrollDown(): func ScrollDown():
var scroll: ScrollContainer = $MarginContainer/ScrollContainer
await get_tree().create_timer(.0001).timeout await get_tree().create_timer(.0001).timeout
scroll.set_deferred("scroll_vertical", scroll.get_v_scroll_bar().value + 100 ) scroll.set_deferred("scroll_vertical", scroll.get_v_scroll_bar().value + 100 )
@@ -226,19 +213,15 @@ func ScrollDown():
func GetBottomScroll(): func GetBottomScroll():
var scroll: ScrollContainer = $MarginContainer/ScrollContainer
var scrollMax: float = scroll.get_v_scroll_bar().max_value var scrollMax: float = scroll.get_v_scroll_bar().max_value
await get_tree().create_timer(.01).timeout await get_tree().create_timer(.01).timeout
scroll.set_deferred("scroll_vertical", scrollMax) scroll.set_deferred("scroll_vertical", scrollMax)
scroll.vertical_scroll_mode = ScrollContainer.SCROLL_MODE_SHOW_NEVER
#call_deferred("GetBottomScroll")
func UpdateCaretPos(): func UpdateCaretPos():
await get_tree().create_timer(.01).timeout await get_tree().create_timer(.05).timeout
var visible_text = terminalLine.get_parsed_text() var visible_text = terminalLine.get_parsed_text()
var ruler: Label = $"caret-ruler"
ruler.autowrap_mode =TextServer.AUTOWRAP_WORD_SMART ruler.autowrap_mode =TextServer.AUTOWRAP_WORD_SMART
ruler.text = visible_text ruler.text = visible_text