From de79a79e2ab5ccc884c99944af0f92a46e652c8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mart=C3=ADn=20Lucas=20Golini?= Date: Tue, 8 Jul 2025 00:11:37 -0300 Subject: [PATCH] Add CMakeCache.txt syntax highlighting (SpartanJ/ecode#562). Register .dlg extension (SpartanJ/ecode#521). --- .../src/eepp/ui/doc/languages/cmakecache.cpp | 37 +++++++++++++++++++ .../src/eepp/ui/doc/languages/cmakecache.hpp | 11 ++++++ .../src/eepp/ui/doc/languages/rcscript.cpp | 2 +- .../ui/doc/languagessyntaxhighlighting.cpp | 7 +++- 4 files changed, 55 insertions(+), 2 deletions(-) create mode 100644 src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/cmakecache.cpp create mode 100644 src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/cmakecache.hpp diff --git a/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/cmakecache.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/cmakecache.cpp new file mode 100644 index 000000000..0471c1796 --- /dev/null +++ b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/cmakecache.cpp @@ -0,0 +1,37 @@ +#include +#include + +namespace EE { namespace UI { namespace Doc { namespace Language { + +SyntaxDefinition& addCMakeCache() { + + return SyntaxDefinitionManager::instance()->add( + + { "CMakeCache", + { "^CMakeCache.txt$" }, + { + { { "//+.*$|#+.*$" }, "comment", "", SyntaxPatternMatchType::RegEx }, + { { "\\b-ADVANCED\\b" }, "keyword", "", SyntaxPatternMatchType::RegEx }, + { { "%f[^=].*" }, "string" }, + { { "\\b(?i:(YES|NO|ON|OFF|TRUE|FALSE|Y|N|\\d+))$" }, + "literal", + "", + SyntaxPatternMatchType::RegEx }, + { { "\\b(?i:([.\\w_-]+))\\b" }, "parameter", "", SyntaxPatternMatchType::RegEx }, + { { "(:)(BOOL|STRING|FILEPATH|PATH|STATIC|INTERNAL)(=)" }, + { "operator", "type", "operator" }, + {}, + "", + SyntaxPatternMatchType::RegEx }, + + }, + { + + }, + "", + {} + + } ); +} + +}}}} // namespace EE::UI::Doc::Language diff --git a/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/cmakecache.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/cmakecache.hpp new file mode 100644 index 000000000..4baee3d83 --- /dev/null +++ b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/cmakecache.hpp @@ -0,0 +1,11 @@ +#ifndef EE_UI_DOC_Cmakecache +#define EE_UI_DOC_Cmakecache +#include + +namespace EE { namespace UI { namespace Doc { namespace Language { + +extern SyntaxDefinition& addCMakeCache(); + +}}}} // namespace EE::UI::Doc::Language + +#endif diff --git a/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/rcscript.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/rcscript.cpp index 094b42475..ad4a52a9d 100644 --- a/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/rcscript.cpp +++ b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/rcscript.cpp @@ -9,7 +9,7 @@ SyntaxDefinition& addRcscript() { ->add( { "RC Script", - { "%.rc$", "%.rc2$" }, + { "%.rc$", "%.rc2$", "%.dlg$" }, { { { "include", "#comments" }, { "normal" }, diff --git a/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languagessyntaxhighlighting.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languagessyntaxhighlighting.cpp index 04d9e98bb..a53967d4b 100644 --- a/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languagessyntaxhighlighting.cpp +++ b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languagessyntaxhighlighting.cpp @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -221,6 +222,10 @@ void LanguagesSyntaxHighlighting::load() { } ); + sdm->addPreDefinition( { "CMakeCache", + []() -> SyntaxDefinition& { return addCMakeCache(); }, + { "^CMakeCache.txt$" } } ); + sdm->addPreDefinition( { "Crystal", []() -> SyntaxDefinition& { return addCrystal(); }, @@ -561,7 +566,7 @@ void LanguagesSyntaxHighlighting::load() { sdm->addPreDefinition( { "RC Script", []() -> SyntaxDefinition& { return addRcscript(); }, - { "%.rc$", "%.rc2$" } } ); + { "%.rc$", "%.rc2$", "%.dlg$" } } ); sdm->addPreDefinition( { "Rave", []() -> SyntaxDefinition& { return addRave(); }, { "%.rave$" } } );