From e4b1cce58f9c5ae7ac05459dcecb690d295dda4f Mon Sep 17 00:00:00 2001 From: Matt Parker <61717342+MattParkerDev@users.noreply.github.com> Date: Mon, 18 Aug 2025 22:05:03 +1000 Subject: [PATCH] symbol lookup --- src/SharpIDE.Godot/IdeRoot.tscn | 2 ++ src/SharpIDE.Godot/SharpIdeCodeEdit.cs | 21 ++++++++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/SharpIDE.Godot/IdeRoot.tscn b/src/SharpIDE.Godot/IdeRoot.tscn index 930e605..fc39d98 100644 --- a/src/SharpIDE.Godot/IdeRoot.tscn +++ b/src/SharpIDE.Godot/IdeRoot.tscn @@ -56,6 +56,8 @@ theme_override_colors/background_color = Color(0.117647, 0.117647, 0.117647, 1) theme_override_fonts/font = ExtResource("2_rk34b") theme_override_font_sizes/font_size = 18 highlight_current_line = true +symbol_lookup_on_click = true +symbol_tooltip_on_hover = true gutters_draw_line_numbers = true code_completion_enabled = true auto_brace_completion_enabled = true diff --git a/src/SharpIDE.Godot/SharpIdeCodeEdit.cs b/src/SharpIDE.Godot/SharpIdeCodeEdit.cs index f386695..53524d1 100644 --- a/src/SharpIDE.Godot/SharpIdeCodeEdit.cs +++ b/src/SharpIDE.Godot/SharpIdeCodeEdit.cs @@ -34,13 +34,32 @@ public partial class SharpIdeCodeEdit : CodeEdit public override void _Ready() { + SyntaxHighlighter = _syntaxHighlighter; _popupMenu = GetNode("CodeFixesMenu"); _popupMenu.IdPressed += OnCodeFixSelected; CodeCompletionRequested += OnCodeCompletionRequested; CodeFixesRequested += OnCodeFixesRequested; CaretChanged += OnCaretChanged; TextChanged += OnTextChanged; - SyntaxHighlighter = _syntaxHighlighter; + SymbolHovered += OnSymbolHovered; + SymbolValidate += OnSymbolValidate; + SymbolLookup += OnSymbolLookup; + } + + private void OnSymbolLookup(string symbol, long line, long column) + { + GD.Print($"Symbol lookup requested: {symbol} at line {line}, column {column}"); + } + + private void OnSymbolValidate(string symbol) + { + GD.Print($"Symbol validating: {symbol}"); + SetSymbolLookupWordAsValid(true); + } + + private void OnSymbolHovered(string symbol, long line, long column) + { + GD.Print($"Symbol hovered: {symbol}"); } private void OnCaretChanged()