From bbc3eb9335d53286dfb8c7ccbac666ddfc9926c9 Mon Sep 17 00:00:00 2001 From: 1muhgcmg Date: Mon, 17 Mar 2025 12:38:25 +0700 Subject: [PATCH] Add Rave --- .../src/eepp/ui/doc/languages/rave.cpp | 80 +++++++++++++++++++ .../src/eepp/ui/doc/languages/rave.hpp | 10 +++ 2 files changed, 90 insertions(+) create mode 100644 src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/rave.cpp create mode 100644 src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/rave.hpp diff --git a/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/rave.cpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/rave.cpp new file mode 100644 index 000000000..00009ec9a --- /dev/null +++ b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/rave.cpp @@ -0,0 +1,80 @@ +#include +#include + +namespace EE { namespace UI { namespace Doc { namespace Language { + +void addRave() { + auto& sd = SyntaxDefinitionManager::instance()->add( + { "Rave", + { "%.rave$" }, + { + { { "//.-\n" }, "comment" }, + { { "/%*", "%*/" }, "comment" }, + { { "\"", "\"", "\\" }, "string" }, + { { "'", "'", "\\" }, "string" }, + { { "0[oO_][0-7]+" }, "number" }, + { { "-?0x[%x_]+" }, "number" }, + { { "-?%d+_%d" }, "number" }, + { { "-?%d+[%d%.eE]*f?" }, "number" }, + { { "-?%.?%d+f?" }, "number" }, + { { "[%+%-=/%*%^%%<>!~|&]" }, "operator" }, + { { ":=" }, "operator" }, + { { "[%a_][%w_]*%f[(]" }, "function" }, + { { "[%a_][%w_]*" }, "symbol" }, + }, + { + { "extern", "keyword" }, + { "import", "keyword" }, + { "break", "keyword" }, + { "continue", "keyword" }, + { "if", "keyword" }, + { "else", "keyword" }, + { "in", "keyword" }, + { "likely", "keyword" }, + { "unlikely", "keyword" }, + { "foreach", "keyword" }, + { "switch", "keyword" }, + { "case", "keyword" }, + { "cast", "keyword" }, + { "while", "keyword" }, + { "for", "keyword" }, + { "return", "keyword" }, + { "defer", "keyword" }, + { "fdefer", "keyword" }, + { "const", "keyword2" }, + { "alias", "keyword2" }, + { "void", "keyword2" }, + { "bool", "keyword2" }, + { "char", "keyword2" }, + { "uchar", "keyword2" }, + { "short", "keyword2" }, + { "ushort", "keyword2" }, + { "int", "keyword2" }, + { "uint", "keyword2" }, + { "long", "keyword2" }, + { "ulong", "keyword2" }, + { "cent", "keyword2" }, + { "ucent", "keyword2" }, + { "float", "keyword2" }, + { "double", "keyword2" }, + { "auto", "keyword2" }, + { "half", "keyword2" }, + { "bhalf", "keyword2" }, + { "real", "keyword2" }, + { "short8", "keyword2" }, + { "int4", "keyword2" }, + { "float4", "keyword2" }, + { "int8", "keyword2" }, + { "float8", "keyword2" }, + { "true", "literal" }, + { "false", "literal" }, + { "struct", "literal" }, + { "namespace", "literal" }, + + }, + "//" } ); + + sd.setFoldRangeType( FoldRangeType::Braces ).setFoldBraces( { { '{', '}' } } ); +} + +}}}} // namespace EE::UI::Doc::Language diff --git a/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/rave.hpp b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/rave.hpp new file mode 100644 index 000000000..5fce3edd1 --- /dev/null +++ b/src/modules/languages-syntax-highlighting/src/eepp/ui/doc/languages/rave.hpp @@ -0,0 +1,10 @@ +#ifndef EE_UI_DOC_RAVE +#define EE_UI_DOC_RAVE + +namespace EE { namespace UI { namespace Doc { namespace Language { + +extern void addRave(); + +}}}} + +#endif