diff --git a/src/eepp/ui/doc/languages/objeck.cpp b/src/eepp/ui/doc/languages/objeck.cpp new file mode 100644 index 000000000..5f7ea9fd2 --- /dev/null +++ b/src/eepp/ui/doc/languages/objeck.cpp @@ -0,0 +1,103 @@ +#include +#include + +namespace EE { namespace UI { namespace Doc { namespace Language { + +void addObjeck() { + + SyntaxDefinitionManager::instance()->add( + + { "Objeck", + { "%.obs$" }, + { + { { "#~", "~#" }, "comment" }, + { { "#.*" }, "comment" }, + { { "\"", "\"", "\\" }, "string" }, + { { "'\\u%x%x%x%x'" }, "string" }, + { { "'\\?.'" }, "string" }, + { { "-?0x%x+" }, "number" }, + { { "-?0b[0-1]+" }, "number" }, + { { "-?%d+[%d%.eE]*f?" }, "number" }, + { { "-?%.?%d+f?" }, "number" }, + { { "[%+%-=/%*%^%%<>!~|&]" }, "operator" }, + { { ":=" }, "operator" }, + { { "[%a_][%w_]*%f[(]" }, "function" }, + { { "@[%a_][%w_]*" }, "function" }, + { { "[%a_][%w_]*" }, "symbol" }, + { { "%s+" }, "normal" }, + { { "%w+%f[%s]" }, "normal" }, + + }, + { + { "xor", "keyword" }, + { "while", "keyword" }, + { "use", "keyword" }, + { "alias", "keyword" }, + { "String", "keyword2" }, + { "New", "keyword" }, + { "Parent", "keyword" }, + { "IntArrayRef", "keyword2" }, + { "class", "keyword" }, + { "Nil", "keyword2" }, + { "Byte", "keyword2" }, + { "consts", "keyword" }, + { "return", "keyword" }, + { "IntRef", "keyword2" }, + { "virtual", "keyword" }, + { "select", "keyword" }, + { "Int", "keyword2" }, + { "FuncRef", "keyword2" }, + { "enum", "keyword" }, + { "reverse", "keyword" }, + { "and", "keyword" }, + { "StringArrayRef", "keyword2" }, + { "FloatRef", "keyword2" }, + { "do", "keyword" }, + { "native", "keyword" }, + { "As", "keyword" }, + { "Bool", "keyword2" }, + { "Func2Ref", "keyword2" }, + { "ByteRef", "keyword2" }, + { "other", "keyword" }, + { "CharRef", "keyword2" }, + { "abstract", "keyword" }, + { "each", "keyword" }, + { "BoolArrayRef", "keyword2" }, + { "Func3Ref", "keyword2" }, + { "BoolRef", "keyword2" }, + { "BaseArrayRef", "keyword2" }, + { "for", "keyword" }, + { "false", "literal" }, + { "Func4Ref", "keyword2" }, + { "or", "keyword" }, + { "FloatArrayRef", "keyword2" }, + { "ByteArrayRef", "keyword2" }, + { "CharArrayRef", "keyword2" }, + { "Char", "keyword2" }, + { "bundle", "keyword" }, + { "leaving", "keyword" }, + { "continue", "keyword" }, + { "if", "keyword" }, + { "critical", "keyword" }, + { "break", "keyword" }, + { "else", "keyword" }, + { "from", "keyword" }, + { "function", "keyword" }, + { "interface", "keyword" }, + { "implements", "keyword" }, + { "label", "keyword" }, + { "method", "keyword" }, + { "private", "keyword" }, + { "Float", "keyword2" }, + { "public", "keyword" }, + { "static", "keyword" }, + { "true", "literal" }, + + }, + "#", + {} + + } ); +} + +}}}} // namespace EE::UI::Doc::Language diff --git a/src/eepp/ui/doc/languages/objeck.hpp b/src/eepp/ui/doc/languages/objeck.hpp new file mode 100644 index 000000000..f98394728 --- /dev/null +++ b/src/eepp/ui/doc/languages/objeck.hpp @@ -0,0 +1,10 @@ +#ifndef EE_UI_DOC_Objeck +#define EE_UI_DOC_Objeck + +namespace EE { namespace UI { namespace Doc { namespace Language { + +extern void addObjeck(); + +}}}} + +#endif diff --git a/src/eepp/ui/doc/languages/pascal.cpp b/src/eepp/ui/doc/languages/pascal.cpp new file mode 100644 index 000000000..9391602fd --- /dev/null +++ b/src/eepp/ui/doc/languages/pascal.cpp @@ -0,0 +1,194 @@ +#include +#include + +namespace EE { namespace UI { namespace Doc { namespace Language { + +void addPascal() { + + SyntaxDefinitionManager::instance()->add( + + { "Pascal", + { "%.pas$" }, + { + { { "//.*" }, "comment" }, + { { "%(%*", "%*%)" }, "comment" }, + { { "{", "}" }, "comment" }, + { { "'", "'", "\\" }, "string" }, + { { "'\\?.'" }, "string" }, + { { "-?%$%x+" }, "number" }, + { { "-?%%[0-1]+" }, "number" }, + { { "-?%d+[%d%.eE]*" }, "number" }, + { { "-?%.?%d+" }, "number" }, + { { "[%+%-=/%*%^@<>]" }, "operator" }, + { { ":=" }, "operator" }, + { { "[%a_][%w_]*%f[(]" }, "function" }, + { { "[%a_][%w_]*" }, "symbol" }, + { { "%s+" }, "normal" }, + { { "%w+%f[%s]" }, "normal" }, + + }, + { + { "xor", "keyword" }, + { "writeonly", "keyword" }, + { "wordbool", "keyword2" }, + { "word", "keyword2" }, + { "virtual", "keyword" }, + { "var", "keyword" }, + { "uses", "keyword" }, + { "until", "keyword" }, + { "unsafe", "keyword" }, + { "type", "keyword" }, + { "try", "keyword" }, + { "with", "keyword" }, + { "trunc", "function" }, + { "true", "literal" }, + { "to", "keyword" }, + { "threadvar", "keyword" }, + { "while", "keyword" }, + { "then", "keyword" }, + { "succ", "function" }, + { "stdcall", "keyword" }, + { "static", "keyword" }, + { "sqrt", "function" }, + { "sqr", "function" }, + { "as", "keyword" }, + { "forward", "keyword" }, + { "goto", "keyword" }, + { "for", "keyword" }, + { "begin", "keyword" }, + { "initialization", "keyword" }, + { "if", "keyword" }, + { "implementation", "keyword" }, + { "array", "keyword" }, + { "far", "keyword" }, + { "asm", "keyword" }, + { "file", "keyword" }, + { "or", "keyword" }, + { "except", "keyword" }, + { "dynamic", "keyword" }, + { "reintroduce", "keyword" }, + { "boolean", "keyword2" }, + { "double", "keyword2" }, + { "unit", "keyword" }, + { "dispinterface", "keyword" }, + { "assembler", "keyword" }, + { "inherited", "keyword" }, + { "eof", "function" }, + { "dispid", "keyword" }, + { "implements", "keyword" }, + { "label", "keyword" }, + { "shortint", "keyword2" }, + { "automated", "keyword" }, + { "class", "keyword" }, + { "message", "keyword" }, + { "at", "keyword" }, + { "exp", "function" }, + { "return", "keyword" }, + { "write", "keyword" }, + { "contains", "keyword" }, + { "deprecated", "keyword" }, + { "constructor", "keyword" }, + { "abstract", "keyword" }, + { "shl", "keyword" }, + { "string", "keyword" }, + { "finally", "keyword" }, + { "downto", "keyword" }, + { "integer", "keyword2" }, + { "absolute", "keyword" }, + { "override", "keyword" }, + { "near", "keyword" }, + { "arctan", "function" }, + { "export", "keyword" }, + { "abs", "function" }, + { "bytebool", "keyword2" }, + { "out", "keyword" }, + { "pascal", "keyword" }, + { "read", "keyword" }, + { "case", "keyword" }, + { "object", "keyword" }, + { "finalization", "keyword" }, + { "else", "keyword" }, + { "in", "keyword" }, + { "exports", "keyword" }, + { "char", "keyword2" }, + { "cdecl", "keyword" }, + { "function", "keyword" }, + { "default", "keyword" }, + { "register", "keyword" }, + { "eoln", "function" }, + { "comp", "keyword2" }, + { "extended", "keyword2" }, + { "not", "keyword" }, + { "const", "keyword" }, + { "local", "keyword" }, + { "cos", "function" }, + { "external", "keyword" }, + { "real", "keyword2" }, + { "inline", "keyword" }, + { "interface", "keyword" }, + { "is", "keyword" }, + { "end", "keyword" }, + { "private", "keyword" }, + { "resourcestring", "keyword" }, + { "property", "keyword" }, + { "index", "keyword" }, + { "library", "keyword" }, + { "procedure", "keyword" }, + { "program", "keyword" }, + { "ln", "function" }, + { "byte", "keyword2" }, + { "do", "keyword" }, + { "sin", "function" }, + { "resident", "keyword" }, + { "safecall", "keyword" }, + { "longint", "keyword2" }, + { "mod", "keyword" }, + { "final", "keyword" }, + { "public", "keyword" }, + { "destructor", "keyword" }, + { "chr", "function" }, + { "and", "keyword" }, + { "name", "keyword" }, + { "nil", "literal" }, + { "nodefault", "keyword" }, + { "odd", "function" }, + { "div", "keyword" }, + { "of", "keyword" }, + { "false", "literal" }, + { "smallint", "keyword2" }, + { "ord", "function" }, + { "overload", "keyword" }, + { "longbool", "keyword2" }, + { "sealed", "keyword" }, + { "currency", "keyword2" }, + { "package", "keyword" }, + { "packed", "keyword" }, + { "repeat", "keyword" }, + { "stored", "keyword" }, + { "platform", "keyword" }, + { "pointer", "keyword2" }, + { "pred", "function" }, + { "namespaces", "keyword" }, + { "published", "keyword" }, + { "raise", "keyword" }, + { "readonly", "keyword" }, + { "record", "keyword" }, + { "varargs", "keyword" }, + { "requires", "keyword" }, + { "cardinal", "keyword2" }, + { "on", "keyword" }, + { "round", "function" }, + { "self", "literal" }, + { "shr", "keyword" }, + { "protected", "keyword" }, + { "set", "keyword" }, + { "single", "keyword2" }, + + }, + "//", + {} + + } ); +} + +}}}} // namespace EE::UI::Doc::Language diff --git a/src/eepp/ui/doc/languages/pascal.hpp b/src/eepp/ui/doc/languages/pascal.hpp new file mode 100644 index 000000000..383a7bc3b --- /dev/null +++ b/src/eepp/ui/doc/languages/pascal.hpp @@ -0,0 +1,10 @@ +#ifndef EE_UI_DOC_Pascal +#define EE_UI_DOC_Pascal + +namespace EE { namespace UI { namespace Doc { namespace Language { + +extern void addPascal(); + +}}}} + +#endif diff --git a/src/eepp/ui/doc/syntaxdefinitionmanager.cpp b/src/eepp/ui/doc/syntaxdefinitionmanager.cpp index af3acbbea..15da3afc6 100644 --- a/src/eepp/ui/doc/syntaxdefinitionmanager.cpp +++ b/src/eepp/ui/doc/syntaxdefinitionmanager.cpp @@ -5,6 +5,8 @@ #include #include #include +#include +#include #include #include #include @@ -4145,8 +4147,10 @@ SyntaxDefinitionManager::SyntaxDefinitionManager() { addMeson(); addNelua(); addNim(); + addObjeck(); addObjetiveC(); addOdin(); + addPascal(); addPerl(); addPICO8(); addPHP();