From ec7544cb3bdfe1f9adc2a65adef72c0251ea52b0 Mon Sep 17 00:00:00 2001 From: ChaoticByte Date: Tue, 7 Jan 2025 22:19:08 +0100 Subject: [PATCH] Add autocomplete support for preprocessor directives, implements #34 --- src/Editor.gd | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Editor.gd b/src/Editor.gd index 0b81896..c30a185 100644 --- a/src/Editor.gd +++ b/src/Editor.gd @@ -123,6 +123,10 @@ const gdshader_builtins = [ "POINT_COORD", "SPECULAR_SHININESS" ] +const gdshader_preprocessor = [ + "define", "undef", "include", "pragma", + "if", "elif", "ifdef", "ifndef", "else", "endif" +] # shaderlib var shaderlib_regex = { "hsv": RegEx.create_from_string(r'\s*\#include\s+\"res\:\/\/shaderlib\/hsv\.gdshaderinc\"'), @@ -184,6 +188,9 @@ func _on_code_edit_code_completion_requested(): for k in gdshader_builtin_functions + gdshader_sub_functions: code_editor.code_completion_prefixes.append(k) code_editor.add_code_completion_option(CodeEdit.KIND_FUNCTION, k, k+"(", Color.INDIAN_RED) + for k in gdshader_preprocessor: + code_editor.code_completion_prefixes.append(k) + code_editor.add_code_completion_option(CodeEdit.KIND_PLAIN_TEXT, "#" + k, k) # shaderlib # var shader_code = code_editor.text for key in shaderlib_regex: