diff options
author | RĂ©mi Verschelde <remi@verschelde.fr> | 2022-05-23 19:05:29 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-23 19:05:29 +0200 |
commit | 126470caa1290a56c7f835cfe4c2becf0d8f8003 (patch) | |
tree | 25ac09e0eb4795a1e018b92e4d8a6ee8ce6d5d75 | |
parent | c869e649b47daaafde028615254ffce60d4903da (diff) | |
parent | 29ff04acf2d2fdec0b057c49dbf704e02a1d44f9 (diff) |
Merge pull request #61226 from Chaosus/shader_fix_keyword_completion
-rw-r--r-- | servers/rendering/shader_language.cpp | 9 | ||||
-rw-r--r-- | servers/rendering/shader_language.h | 4 |
2 files changed, 11 insertions, 2 deletions
diff --git a/servers/rendering/shader_language.cpp b/servers/rendering/shader_language.cpp index a3bd067963..89f2f5b4a7 100644 --- a/servers/rendering/shader_language.cpp +++ b/servers/rendering/shader_language.cpp @@ -5379,6 +5379,11 @@ ShaderLanguage::Node *ShaderLanguage::_parse_expression(BlockNode *p_block, cons if (tk.type == TK_CURSOR) { //do nothing } else if (tk.type == TK_PERIOD) { +#ifdef DEBUG_ENABLED + uint32_t prev_keyword_completion_context = keyword_completion_context; + keyword_completion_context = CF_UNSPECIFIED; +#endif + DataType dt = expr->get_datatype(); String st = expr->get_datatype_name(); @@ -5734,6 +5739,10 @@ ShaderLanguage::Node *ShaderLanguage::_parse_expression(BlockNode *p_block, cons } expr = mn; +#ifdef DEBUG_ENABLED + keyword_completion_context = prev_keyword_completion_context; +#endif + //todo //member (period) has priority over any operator //creates a subindexing expression in place diff --git a/servers/rendering/shader_language.h b/servers/rendering/shader_language.h index cd3f07e27e..447ead8802 100644 --- a/servers/rendering/shader_language.h +++ b/servers/rendering/shader_language.h @@ -503,7 +503,7 @@ public: BlockNode *parent_block = nullptr; enum BlockType { - BLOCK_TYPE_STANDART, + BLOCK_TYPE_STANDARD, BLOCK_TYPE_FOR_INIT, BLOCK_TYPE_FOR_CONDITION, BLOCK_TYPE_FOR_EXPRESSION, @@ -512,7 +512,7 @@ public: BLOCK_TYPE_DEFAULT, }; - int block_type = BLOCK_TYPE_STANDART; + int block_type = BLOCK_TYPE_STANDARD; SubClassTag block_tag = SubClassTag::TAG_GLOBAL; struct Variable { |