|
| 1 | +#include <eepp/ui/doc/languages/elena.hpp> |
| 2 | +#include <eepp/ui/doc/syntaxdefinitionmanager.hpp> |
| 3 | + |
| 4 | +namespace EE { namespace UI { namespace Doc { namespace Language { |
| 5 | + |
| 6 | +void addElena() { |
| 7 | + |
| 8 | + SyntaxDefinitionManager::instance() |
| 9 | + ->add( |
| 10 | + |
| 11 | + { "ELENA", |
| 12 | + { "%.l$" }, |
| 13 | + { |
| 14 | + { { "//.-\n" }, "comment" }, |
| 15 | + { { "/%*", "%*/" }, "comment" }, |
| 16 | + { { "\"", "\"", "\\" }, "string" }, |
| 17 | + { { "[%$%@]?\"", "\"", "\\" }, "string" }, |
| 18 | + { { "$x%x?%x?%x?%x" }, "string" }, |
| 19 | + { { "^%s*(import)%s+([%a_][%w_']*)%s*%f[%;]" }, |
| 20 | + { "normal", "keyword", "literal" } }, |
| 21 | + { { "(class%s+)([%a_][%w_]*)%s*(:)%s*([%a_][%w_]*)" }, |
| 22 | + { "normal", "keyword", "keyword2", "operator", "keyword2" } }, |
| 23 | + { { "(class%s+)([%a_][%w_]*)" }, { "normal", "keyword", "keyword2" } }, |
| 24 | + { { "(singleton%s+)([%a_][%w_]*)" }, { "normal", "keyword", "keyword2" } }, |
| 25 | + { { "(extension%s+)([%a_][%w_]*)" }, { "normal", "keyword", "keyword2" } }, |
| 26 | + { { "-?0x%x+" }, "number" }, |
| 27 | + { { "-?%d+[%d%.eE]*f?" }, "number" }, |
| 28 | + { { "-?%.?%d+f?" }, "number" }, |
| 29 | + { { "[%+%-=/%*%^%%<>!~|&]" }, "operator" }, |
| 30 | + { { "%?%?" }, "operator" }, |
| 31 | + { { "%?%." }, "operator" }, |
| 32 | + { { "[%a_][%w_]*%f[(]" }, "function" }, |
| 33 | + { { "[%a_][%w_]*" }, "symbol" }, |
| 34 | + |
| 35 | + }, |
| 36 | + { |
| 37 | + { "internal", "keyword" }, { "int", "keyword2" }, |
| 38 | + { "new", "keyword" }, { "continue", "keyword" }, |
| 39 | + { "default", "keyword" }, { "remove", "keyword" }, |
| 40 | + { "sizeof", "keyword" }, { "char", "keyword2" }, |
| 41 | + { "set", "keyword" }, { "bool", "keyword2" }, |
| 42 | + { "extern", "keyword" }, { "long", "keyword2" }, |
| 43 | + { "foreach", "keyword" }, { "namespace", "keyword" }, |
| 44 | + { "partial", "keyword" }, { "short", "keyword2" }, |
| 45 | + { "typeof", "keyword" }, { "object", "keyword2" }, |
| 46 | + { "false", "literal" }, { "for", "keyword" }, |
| 47 | + { "goto", "keyword" }, { "while", "keyword" }, |
| 48 | + { "const", "keyword" }, { "get", "keyword" }, |
| 49 | + { "delegate", "keyword" }, { "add", "keyword" }, |
| 50 | + { "null", "literal" }, { "unsafe", "keyword" }, |
| 51 | + { "fixed", "keyword" }, { "else", "keyword" }, |
| 52 | + { "stackalloc", "keyword" }, { "global", "keyword" }, |
| 53 | + { "record", "keyword" }, { "enum", "keyword" }, |
| 54 | + { "value", "keyword" }, { "lock", "keyword" }, |
| 55 | + { "operator", "keyword" }, { "when", "keyword" }, |
| 56 | + { "struct", "keyword" }, { "break", "keyword" }, |
| 57 | + { "is", "keyword" }, { "decimal", "keyword2" }, |
| 58 | + { "string", "keyword2" }, { "if", "keyword" }, |
| 59 | + { "await", "keyword" }, { "in", "keyword" }, |
| 60 | + { "public", "keyword" }, { "virtual", "keyword" }, |
| 61 | + { "dynamic", "keyword" }, { "private", "keyword" }, |
| 62 | + { "finally", "keyword" }, { "abstract", "keyword" }, |
| 63 | + { "unchecked", "keyword" }, { "volatile", "keyword" }, |
| 64 | + { "switch", "keyword" }, { "using", "keyword" }, |
| 65 | + { "checked", "keyword" }, { "double", "keyword2" }, |
| 66 | + { "event", "keyword" }, { "auto", "keyword" }, |
| 67 | + { "ulong", "keyword2" }, { "var", "keyword" }, |
| 68 | + { "out", "keyword" }, { "try", "keyword" }, |
| 69 | + { "as", "keyword" }, { "class", "keyword" }, |
| 70 | + { "byte", "keyword2" }, { "yield", "keyword" }, |
| 71 | + { "static", "keyword" }, { "super", "keyword" }, |
| 72 | + { "uint", "keyword2" }, { "explicit", "keyword" }, |
| 73 | + { "sbyte", "keyword2" }, { "throw", "keyword" }, |
| 74 | + { "self", "keyword" }, { "catch", "keyword" }, |
| 75 | + { "true", "literal" }, { "ushort", "keyword2" }, |
| 76 | + { "override", "keyword" }, { "sealed", "keyword" }, |
| 77 | + { "float", "keyword2" }, { "params", "keyword" }, |
| 78 | + { "readonly", "keyword" }, { "interface", "keyword" }, |
| 79 | + { "protected", "keyword" }, { "do", "keyword" }, |
| 80 | + { "implicit", "keyword" }, { "ref", "keyword" }, |
| 81 | + { "constructor", "keyword" }, { "singleton", "keyword" }, |
| 82 | + { "real", "keyword2" }, { "ifnot", "keyword" }, |
| 83 | + { "symbol", "keyword" }, |
| 84 | + |
| 85 | + }, |
| 86 | + "//", |
| 87 | + {} |
| 88 | + |
| 89 | + } ) |
| 90 | + .setFoldRangeType( FoldRangeType::Braces ) |
| 91 | + .setFoldBraces( { { '{', '}' } } ); |
| 92 | + ; |
| 93 | +} |
| 94 | + |
| 95 | +}}}} // namespace EE::UI::Doc::Language |
0 commit comments