diff --git a/src/eepp/ui/doc/languages/awkscript.cpp b/src/eepp/ui/doc/languages/awkscript.cpp new file mode 100644 index 000000000..43a9af0f1 --- /dev/null +++ b/src/eepp/ui/doc/languages/awkscript.cpp @@ -0,0 +1,75 @@ +#include +#include + +namespace EE { namespace UI { namespace Doc { namespace Language { + +void addAwkScript() { + + SyntaxDefinitionManager::instance()->add( + + { "Awk Script", + { "%.awk$" }, + { + { { "%$[%a_@*#][%w_]*" }, "keyword2" }, + { { "#.*" }, "comment" }, + { { "\"", "\"", "\\" }, "string" }, + { { "'", "'", "\\" }, "string" }, + { { "`", "`", "\\" }, "string" }, + { { "%f[%w_%.%/]%d[%d%.]*%f[^%w_%.]" }, "number" }, + { { "[!<>|&%[%]:=*]" }, "operator" }, + { { "%f[%S][%+%-][%w%-_:]+" }, "function" }, + { { "%f[%S][%+%-][%w%-_]+%f[=]" }, "function" }, + { { "(%s%-%a[%w_%-]*)(%s+)(%d[%d%.]+)" }, + { "normal", "function", "normal", "number" } }, + { { "(%s%-%a[%w_%-]*)(%s+)(%a[%a%-_:=]+)" }, + { "normal", "function", "normal", "symbol" } }, + { { "[_%a][%w_]+%f[%+=]" }, "keyword2" }, + { { "%${.-}" }, "keyword2" }, + { { "%$[%d%$%a_@*][%w_]*" }, "keyword2" }, + { { "([%a_%-][%w_%-]*)(%s*%f[(])" }, { "normal", "function", "normal" } }, + { { "[%a_][%w_]*" }, "symbol" }, + { { "%s+" }, "normal" }, + { { "%w+%f[%s]" }, "normal" }, + + }, + { + { "SUBSEP", "keyword" }, { "int", "keyword" }, + { "NF", "keyword" }, { "RS", "keyword" }, + { "continue", "keyword" }, { "OFMT", "keyword" }, + { "CONVFMT", "keyword" }, { "exp", "keyword" }, + { "ARGV", "keyword" }, { "BEGIN", "keyword" }, + { "ERRNO", "keyword" }, { "FNR", "keyword" }, + { "nextfile", "keyword" }, { "printf", "keyword" }, + { "sub", "keyword" }, { "match", "keyword" }, + { "for", "keyword" }, { "while", "keyword" }, + { "RLENGTH", "keyword" }, { "function", "keyword" }, + { "else", "keyword" }, { "next", "keyword" }, + { "print", "keyword" }, { "toupper", "keyword" }, + { "RT", "keyword" }, { "srand", "keyword" }, + { "tolower", "keyword" }, { "break", "keyword" }, + { "sin", "keyword" }, { "if", "keyword" }, + { "IGNORECASE", "keyword" }, { "ARGC", "keyword" }, + { "sprintf", "keyword" }, { "exit", "keyword" }, + { "atan2", "keyword" }, { "TEXTDOMAIN", "keyword" }, + { "rand", "keyword" }, { "FIELDWIDTHS", "keyword" }, + { "OFS", "keyword" }, { "delete", "keyword" }, + { "NR", "keyword" }, { "return", "keyword" }, + { "RSTART", "keyword" }, { "split", "keyword" }, + { "END", "keyword" }, { "ORS", "keyword" }, + { "length", "keyword" }, { "LINT", "keyword" }, + { "ENVIRON", "keyword" }, { "BINMODE", "keyword" }, + { "FILENAME", "keyword" }, { "getline", "keyword" }, + { "FS", "keyword" }, { "substr", "keyword" }, + { "sqrt", "keyword" }, { "PROCINFO", "keyword" }, + { "cos", "keyword" }, { "index", "keyword" }, + { "ARGIND", "keyword" }, { "log", "keyword" }, + { "gsub", "keyword" }, { "do", "keyword" }, + + }, + "#", + {} + + } ); +} + +}}}} // namespace EE::UI::Doc::Language diff --git a/src/eepp/ui/doc/languages/awkscript.hpp b/src/eepp/ui/doc/languages/awkscript.hpp new file mode 100644 index 000000000..ea87be39d --- /dev/null +++ b/src/eepp/ui/doc/languages/awkscript.hpp @@ -0,0 +1,10 @@ +#ifndef EE_UI_DOC_AWKSCRIPT +#define EE_UI_DOC_AWKSCRIPT + +namespace EE { namespace UI { namespace Doc { namespace Language { + +extern void addAwkScript(); + +}}}} // namespace EE::UI::Doc::Language + +#endif diff --git a/src/eepp/ui/doc/syntaxdefinitionmanager.cpp b/src/eepp/ui/doc/syntaxdefinitionmanager.cpp index b64bdb6d1..d59c5d00a 100644 --- a/src/eepp/ui/doc/syntaxdefinitionmanager.cpp +++ b/src/eepp/ui/doc/syntaxdefinitionmanager.cpp @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include @@ -118,12 +119,13 @@ SyntaxDefinitionManager::SyntaxDefinitionManager() { if ( ms_singleton == nullptr ) ms_singleton = this; - mDefinitions.reserve( 98 ); + mDefinitions.reserve( 99 ); // Register some languages support. addPlainText(); addAdept(); addAngelScript(); + addAwkScript(); addBatchScript(); addBend(); addBlueprint();