From ae6d1e4358316cf7cf445907fb44ea28e9620684 Mon Sep 17 00:00:00 2001 From: Matt Parker <61717342+MattParkerDev@users.noreply.github.com> Date: Tue, 23 Sep 2025 00:05:36 +1000 Subject: [PATCH] refactor code editor to scene --- .../Features/CodeEditor/CodeEditorPanel.tscn | 14 ++++++ .../CodeEditor}/SharpIdeCodeEdit.cs | 0 .../CodeEditor}/SharpIdeCodeEdit.cs.uid | 0 .../Features/CodeEditor/SharpIdeCodeEdit.tscn | 48 ++++++++++++++++++ src/SharpIDE.Godot/IdeRoot.cs | 2 +- src/SharpIDE.Godot/IdeRoot.tscn | 49 ++----------------- 6 files changed, 66 insertions(+), 47 deletions(-) create mode 100644 src/SharpIDE.Godot/Features/CodeEditor/CodeEditorPanel.tscn rename src/SharpIDE.Godot/{ => Features/CodeEditor}/SharpIdeCodeEdit.cs (100%) rename src/SharpIDE.Godot/{ => Features/CodeEditor}/SharpIdeCodeEdit.cs.uid (100%) create mode 100644 src/SharpIDE.Godot/Features/CodeEditor/SharpIdeCodeEdit.tscn diff --git a/src/SharpIDE.Godot/Features/CodeEditor/CodeEditorPanel.tscn b/src/SharpIDE.Godot/Features/CodeEditor/CodeEditorPanel.tscn new file mode 100644 index 0000000..b7dcb34 --- /dev/null +++ b/src/SharpIDE.Godot/Features/CodeEditor/CodeEditorPanel.tscn @@ -0,0 +1,14 @@ +[gd_scene load_steps=2 format=3 uid="uid://c5dlwgcx3ubyp"] + +[ext_resource type="PackedScene" uid="uid://cinaqbdghcvoi" path="res://Features/CodeEditor/SharpIdeCodeEdit.tscn" id="1_y4okr"] + +[node name="CodeEditorPanel" type="MarginContainer"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="SharpIdeCodeEdit" parent="." instance=ExtResource("1_y4okr")] +layout_mode = 2 +delimiter_strings = Array[String](["\" \"", "' '"]) diff --git a/src/SharpIDE.Godot/SharpIdeCodeEdit.cs b/src/SharpIDE.Godot/Features/CodeEditor/SharpIdeCodeEdit.cs similarity index 100% rename from src/SharpIDE.Godot/SharpIdeCodeEdit.cs rename to src/SharpIDE.Godot/Features/CodeEditor/SharpIdeCodeEdit.cs diff --git a/src/SharpIDE.Godot/SharpIdeCodeEdit.cs.uid b/src/SharpIDE.Godot/Features/CodeEditor/SharpIdeCodeEdit.cs.uid similarity index 100% rename from src/SharpIDE.Godot/SharpIdeCodeEdit.cs.uid rename to src/SharpIDE.Godot/Features/CodeEditor/SharpIdeCodeEdit.cs.uid diff --git a/src/SharpIDE.Godot/Features/CodeEditor/SharpIdeCodeEdit.tscn b/src/SharpIDE.Godot/Features/CodeEditor/SharpIdeCodeEdit.tscn new file mode 100644 index 0000000..4f43f18 --- /dev/null +++ b/src/SharpIDE.Godot/Features/CodeEditor/SharpIdeCodeEdit.tscn @@ -0,0 +1,48 @@ +[gd_scene load_steps=6 format=3 uid="uid://cinaqbdghcvoi"] + +[ext_resource type="FontFile" uid="uid://7jc0nj310cu6" path="res://CascadiaCode.ttf" id="1_s7ira"] +[ext_resource type="Script" uid="uid://du2lt7r1p1qfy" path="res://Features/CodeEditor/SharpIdeCodeEdit.cs" id="2_kp2fd"] + +[sub_resource type="FontVariation" id="FontVariation_y3aoi"] +base_font = ExtResource("1_s7ira") +spacing_top = 3 +spacing_bottom = 2 +baseline_offset = 0.05 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_v06ln"] +content_margin_left = 4.0 +content_margin_top = 4.0 +content_margin_right = 4.0 +content_margin_bottom = 4.0 +bg_color = Color(0.117647, 0.117647, 0.117647, 1) +border_color = Color(0, 0, 0, 0.6) +corner_radius_top_left = 3 +corner_radius_top_right = 3 +corner_radius_bottom_right = 3 +corner_radius_bottom_left = 3 +corner_detail = 5 + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_7ptyn"] + +[node name="SharpIdeCodeEdit" type="CodeEdit"] +theme_override_colors/current_line_color = Color(0.0588235, 0.0588235, 0.0588235, 1) +theme_override_fonts/font = SubResource("FontVariation_y3aoi") +theme_override_font_sizes/font_size = 18 +theme_override_styles/normal = SubResource("StyleBoxFlat_v06ln") +theme_override_styles/focus = SubResource("StyleBoxEmpty_7ptyn") +highlight_current_line = true +symbol_lookup_on_click = true +symbol_tooltip_on_hover = true +gutters_draw_breakpoints_gutter = true +gutters_draw_executing_lines = true +gutters_draw_line_numbers = true +code_completion_enabled = true +auto_brace_completion_enabled = true +auto_brace_completion_highlight_matching = true +script = ExtResource("2_kp2fd") + +[node name="CodeFixesMenu" type="PopupMenu" parent="."] +size = Vector2i(217, 100) +item_count = 1 +item_0/text = "Getting Context Actions..." +item_0/id = 0 diff --git a/src/SharpIDE.Godot/IdeRoot.cs b/src/SharpIDE.Godot/IdeRoot.cs index 977c1e9..c867a41 100644 --- a/src/SharpIDE.Godot/IdeRoot.cs +++ b/src/SharpIDE.Godot/IdeRoot.cs @@ -32,7 +32,7 @@ public partial class IdeRoot : Control _buildSlnButton = GetNode