shellfie 2.0.19 → 2.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +63 -46
- package/dist/highlight/index.d.ts +41 -0
- package/dist/highlight/index.d.ts.map +1 -0
- package/dist/highlight/index.js +314 -0
- package/dist/highlight/index.js.map +1 -0
- package/dist/highlight/languages/bash.d.ts +3 -0
- package/dist/highlight/languages/bash.d.ts.map +1 -0
- package/dist/highlight/languages/bash.js +78 -0
- package/dist/highlight/languages/bash.js.map +1 -0
- package/dist/highlight/languages/c.d.ts +4 -0
- package/dist/highlight/languages/c.d.ts.map +1 -0
- package/dist/highlight/languages/c.js +101 -0
- package/dist/highlight/languages/c.js.map +1 -0
- package/dist/highlight/languages/csharp.d.ts +3 -0
- package/dist/highlight/languages/csharp.d.ts.map +1 -0
- package/dist/highlight/languages/csharp.js +78 -0
- package/dist/highlight/languages/csharp.js.map +1 -0
- package/dist/highlight/languages/go.d.ts +3 -0
- package/dist/highlight/languages/go.d.ts.map +1 -0
- package/dist/highlight/languages/go.js +47 -0
- package/dist/highlight/languages/go.js.map +1 -0
- package/dist/highlight/languages/html.d.ts +3 -0
- package/dist/highlight/languages/html.d.ts.map +1 -0
- package/dist/highlight/languages/html.js +44 -0
- package/dist/highlight/languages/html.js.map +1 -0
- package/dist/highlight/languages/index.d.ts +26 -0
- package/dist/highlight/languages/index.d.ts.map +1 -0
- package/dist/highlight/languages/index.js +65 -0
- package/dist/highlight/languages/index.js.map +1 -0
- package/dist/highlight/languages/java.d.ts +3 -0
- package/dist/highlight/languages/java.d.ts.map +1 -0
- package/dist/highlight/languages/java.js +57 -0
- package/dist/highlight/languages/java.js.map +1 -0
- package/dist/highlight/languages/javascript.d.ts +3 -0
- package/dist/highlight/languages/javascript.d.ts.map +1 -0
- package/dist/highlight/languages/javascript.js +53 -0
- package/dist/highlight/languages/javascript.js.map +1 -0
- package/dist/highlight/languages/json.d.ts +3 -0
- package/dist/highlight/languages/json.d.ts.map +1 -0
- package/dist/highlight/languages/json.js +25 -0
- package/dist/highlight/languages/json.js.map +1 -0
- package/dist/highlight/languages/python.d.ts +3 -0
- package/dist/highlight/languages/python.d.ts.map +1 -0
- package/dist/highlight/languages/python.js +80 -0
- package/dist/highlight/languages/python.js.map +1 -0
- package/dist/highlight/languages/rust.d.ts +3 -0
- package/dist/highlight/languages/rust.d.ts.map +1 -0
- package/dist/highlight/languages/rust.js +68 -0
- package/dist/highlight/languages/rust.js.map +1 -0
- package/dist/highlight/languages/typescript.d.ts +3 -0
- package/dist/highlight/languages/typescript.d.ts.map +1 -0
- package/dist/highlight/languages/typescript.js +77 -0
- package/dist/highlight/languages/typescript.js.map +1 -0
- package/dist/highlight/tokenizer.d.ts +41 -0
- package/dist/highlight/tokenizer.d.ts.map +1 -0
- package/dist/highlight/tokenizer.js +147 -0
- package/dist/highlight/tokenizer.js.map +1 -0
- package/dist/highlight/types.d.ts +47 -0
- package/dist/highlight/types.d.ts.map +1 -0
- package/dist/highlight/types.js +27 -0
- package/dist/highlight/types.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +23 -3
- package/dist/index.js.map +1 -1
- package/dist/renderer/customGlyphs.d.ts +1 -0
- package/dist/renderer/customGlyphs.d.ts.map +1 -1
- package/dist/renderer/customGlyphs.js +115 -52
- package/dist/renderer/customGlyphs.js.map +1 -1
- package/dist/renderer/text.d.ts.map +1 -1
- package/dist/renderer/text.js +1 -0
- package/dist/renderer/text.js.map +1 -1
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.bash = void 0;
|
|
4
|
+
const tokenizer_1 = require("../tokenizer");
|
|
5
|
+
const KEYWORDS = [
|
|
6
|
+
'if', 'then', 'else', 'elif', 'fi',
|
|
7
|
+
'case', 'esac', 'in',
|
|
8
|
+
'for', 'while', 'until', 'do', 'done',
|
|
9
|
+
'function', 'return', 'exit',
|
|
10
|
+
'break', 'continue',
|
|
11
|
+
'local', 'export', 'readonly', 'declare', 'typeset',
|
|
12
|
+
'source', 'eval', 'exec',
|
|
13
|
+
'trap', 'set', 'unset', 'shift',
|
|
14
|
+
'true', 'false',
|
|
15
|
+
];
|
|
16
|
+
const BUILTINS = [
|
|
17
|
+
'echo', 'printf', 'read', 'cd', 'pwd', 'pushd', 'popd',
|
|
18
|
+
'test', 'alias', 'unalias', 'type', 'which', 'whereis',
|
|
19
|
+
'bg', 'fg', 'jobs', 'kill', 'wait',
|
|
20
|
+
'umask', 'ulimit', 'times', 'history',
|
|
21
|
+
'getopts', 'hash', 'help', 'let',
|
|
22
|
+
];
|
|
23
|
+
const COMMON_COMMANDS = [
|
|
24
|
+
'ls', 'cat', 'grep', 'sed', 'awk', 'find', 'xargs',
|
|
25
|
+
'mkdir', 'rm', 'cp', 'mv', 'touch', 'chmod', 'chown',
|
|
26
|
+
'curl', 'wget', 'ssh', 'scp', 'rsync',
|
|
27
|
+
'git', 'docker', 'npm', 'yarn', 'pnpm', 'node', 'python', 'pip',
|
|
28
|
+
'make', 'cmake', 'cargo', 'go', 'rustc', 'gcc', 'clang',
|
|
29
|
+
'apt', 'yum', 'brew', 'pacman', 'dnf',
|
|
30
|
+
'sudo', 'su', 'man', 'info', 'head', 'tail', 'sort', 'uniq',
|
|
31
|
+
'cut', 'tr', 'wc', 'diff', 'patch', 'tar', 'gzip', 'zip', 'unzip',
|
|
32
|
+
'ps', 'top', 'htop', 'df', 'du', 'free', 'mount', 'umount',
|
|
33
|
+
'systemctl', 'service', 'journalctl',
|
|
34
|
+
];
|
|
35
|
+
const patterns = [
|
|
36
|
+
// Shebang
|
|
37
|
+
{ type: 'comment', pattern: /^#![^\n]*/ },
|
|
38
|
+
// Comments
|
|
39
|
+
{ type: 'comment', pattern: tokenizer_1.COMMON_PATTERNS.hashComment },
|
|
40
|
+
// Here-doc (simplified - captures the whole thing)
|
|
41
|
+
{ type: 'string', pattern: /<<-?\s*['"]?(\w+)['"]?[\s\S]*?\n\1\b/ },
|
|
42
|
+
// Strings
|
|
43
|
+
{ type: 'string', pattern: /\$'(?:[^'\\]|\\.)*'/ }, // ANSI-C quoting
|
|
44
|
+
{ type: 'string', pattern: tokenizer_1.COMMON_PATTERNS.doubleString },
|
|
45
|
+
{ type: 'string', pattern: tokenizer_1.COMMON_PATTERNS.singleString },
|
|
46
|
+
// Variable expansions
|
|
47
|
+
{ type: 'variable', pattern: /\$\{[^}]+\}/ },
|
|
48
|
+
{ type: 'variable', pattern: /\$[a-zA-Z_][a-zA-Z0-9_]*/ },
|
|
49
|
+
{ type: 'variable', pattern: /\$[0-9#?$!@*-]/ },
|
|
50
|
+
// Command substitution
|
|
51
|
+
{ type: 'builtin', pattern: /\$\([^)]+\)/ },
|
|
52
|
+
// Numbers
|
|
53
|
+
{ type: 'number', pattern: tokenizer_1.COMMON_PATTERNS.number },
|
|
54
|
+
// Keywords
|
|
55
|
+
{ type: 'keyword', pattern: (0, tokenizer_1.wordBoundary)(KEYWORDS) },
|
|
56
|
+
// Builtins and common commands
|
|
57
|
+
{ type: 'builtin', pattern: (0, tokenizer_1.wordBoundary)(BUILTINS) },
|
|
58
|
+
{ type: 'function', pattern: (0, tokenizer_1.wordBoundary)(COMMON_COMMANDS) },
|
|
59
|
+
// Operators
|
|
60
|
+
{ type: 'operator', pattern: /&&|\|\||[|&<>]=?|[!=]=|[-+*/%]=?|;/ },
|
|
61
|
+
// Redirections
|
|
62
|
+
{ type: 'operator', pattern: /[0-9]*>>?|[0-9]*<<?|[0-9]*>&[0-9]*|[0-9]*<&[0-9]*/ },
|
|
63
|
+
// Punctuation
|
|
64
|
+
{ type: 'punctuation', pattern: /[{}[\]();]/ },
|
|
65
|
+
// Flags/options
|
|
66
|
+
{ type: 'property', pattern: /--?[a-zA-Z][a-zA-Z0-9_-]*/ },
|
|
67
|
+
// Whitespace
|
|
68
|
+
{ type: 'text', pattern: tokenizer_1.COMMON_PATTERNS.whitespace },
|
|
69
|
+
// Identifiers
|
|
70
|
+
{ type: 'text', pattern: /[a-zA-Z_][a-zA-Z0-9_]*/ },
|
|
71
|
+
];
|
|
72
|
+
exports.bash = {
|
|
73
|
+
name: 'bash',
|
|
74
|
+
aliases: ['sh', 'shell', 'zsh', 'fish'],
|
|
75
|
+
extensions: ['.sh', '.bash', '.zsh', '.fish'],
|
|
76
|
+
tokenize: (code) => (0, tokenizer_1.tokenize)(code, patterns),
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=bash.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bash.js","sourceRoot":"","sources":["../../../src/highlight/languages/bash.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"c.d.ts","sourceRoot":"","sources":["../../../src/highlight/languages/c.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAS,MAAM,UAAU,CAAC;AAqGzD,eAAO,MAAM,CAAC,EAAE,iBAKf,CAAC;AAEF,eAAO,MAAM,GAAG,EAAE,iBAKjB,CAAC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cpp = exports.c = void 0;
|
|
4
|
+
const tokenizer_1 = require("../tokenizer");
|
|
5
|
+
// C keywords
|
|
6
|
+
const C_KEYWORDS = [
|
|
7
|
+
'auto', 'break', 'case', 'const', 'continue', 'default', 'do', 'else',
|
|
8
|
+
'enum', 'extern', 'for', 'goto', 'if', 'inline', 'register', 'restrict',
|
|
9
|
+
'return', 'sizeof', 'static', 'struct', 'switch', 'typedef', 'union',
|
|
10
|
+
'volatile', 'while', '_Alignas', '_Alignof', '_Atomic', '_Bool',
|
|
11
|
+
'_Complex', '_Generic', '_Imaginary', '_Noreturn', '_Static_assert',
|
|
12
|
+
'_Thread_local',
|
|
13
|
+
];
|
|
14
|
+
// C++ additional keywords
|
|
15
|
+
const CPP_KEYWORDS = [
|
|
16
|
+
...C_KEYWORDS,
|
|
17
|
+
'alignas', 'alignof', 'and', 'and_eq', 'asm', 'bitand', 'bitor',
|
|
18
|
+
'catch', 'class', 'compl', 'concept', 'consteval', 'constexpr',
|
|
19
|
+
'constinit', 'co_await', 'co_return', 'co_yield', 'decltype', 'delete',
|
|
20
|
+
'dynamic_cast', 'explicit', 'export', 'false', 'friend', 'mutable',
|
|
21
|
+
'namespace', 'new', 'noexcept', 'not', 'not_eq', 'nullptr', 'operator',
|
|
22
|
+
'or', 'or_eq', 'private', 'protected', 'public', 'reinterpret_cast',
|
|
23
|
+
'requires', 'static_assert', 'static_cast', 'template', 'this', 'throw',
|
|
24
|
+
'true', 'try', 'typeid', 'typename', 'using', 'virtual', 'xor', 'xor_eq',
|
|
25
|
+
'override', 'final',
|
|
26
|
+
];
|
|
27
|
+
const TYPES = [
|
|
28
|
+
'void', 'char', 'short', 'int', 'long', 'float', 'double', 'signed',
|
|
29
|
+
'unsigned', 'bool', 'wchar_t', 'char8_t', 'char16_t', 'char32_t',
|
|
30
|
+
'int8_t', 'int16_t', 'int32_t', 'int64_t',
|
|
31
|
+
'uint8_t', 'uint16_t', 'uint32_t', 'uint64_t',
|
|
32
|
+
'size_t', 'ssize_t', 'ptrdiff_t', 'intptr_t', 'uintptr_t',
|
|
33
|
+
'FILE', 'time_t', 'clock_t',
|
|
34
|
+
// C++ STL types
|
|
35
|
+
'string', 'wstring', 'vector', 'list', 'map', 'set', 'unordered_map',
|
|
36
|
+
'unordered_set', 'array', 'deque', 'queue', 'stack', 'pair', 'tuple',
|
|
37
|
+
'optional', 'variant', 'any', 'shared_ptr', 'unique_ptr', 'weak_ptr',
|
|
38
|
+
'span', 'string_view', 'function', 'thread', 'mutex', 'atomic',
|
|
39
|
+
];
|
|
40
|
+
const CONSTANTS = [
|
|
41
|
+
'true', 'false', 'NULL', 'nullptr', 'EOF', 'stdin', 'stdout', 'stderr',
|
|
42
|
+
];
|
|
43
|
+
const BUILTINS = [
|
|
44
|
+
'printf', 'scanf', 'fprintf', 'fscanf', 'sprintf', 'sscanf',
|
|
45
|
+
'malloc', 'calloc', 'realloc', 'free',
|
|
46
|
+
'memcpy', 'memmove', 'memset', 'memcmp',
|
|
47
|
+
'strlen', 'strcpy', 'strncpy', 'strcat', 'strncat', 'strcmp', 'strncmp',
|
|
48
|
+
'fopen', 'fclose', 'fread', 'fwrite', 'fgets', 'fputs',
|
|
49
|
+
'exit', 'abort', 'assert', 'sizeof', 'alignof',
|
|
50
|
+
// C++ functions
|
|
51
|
+
'cout', 'cin', 'cerr', 'endl', 'std',
|
|
52
|
+
'make_shared', 'make_unique', 'make_pair', 'make_tuple',
|
|
53
|
+
'move', 'forward', 'swap', 'begin', 'end', 'size',
|
|
54
|
+
];
|
|
55
|
+
const cPatterns = (0, tokenizer_1.createCLikePatterns)({
|
|
56
|
+
keywords: C_KEYWORDS,
|
|
57
|
+
types: TYPES,
|
|
58
|
+
constants: CONSTANTS,
|
|
59
|
+
builtins: BUILTINS,
|
|
60
|
+
extraPatterns: [
|
|
61
|
+
// Preprocessor directives
|
|
62
|
+
{ type: 'decorator', pattern: /#\s*(?:include|define|undef|ifdef|ifndef|if|else|elif|endif|error|pragma|line|warning)[^\n]*/ },
|
|
63
|
+
// Include headers
|
|
64
|
+
{ type: 'string', pattern: /<[a-zA-Z0-9_./]+>/ },
|
|
65
|
+
// Character literals
|
|
66
|
+
{ type: 'string', pattern: /L?'(?:[^'\\]|\\.)*'/ },
|
|
67
|
+
],
|
|
68
|
+
});
|
|
69
|
+
const cppPatterns = (0, tokenizer_1.createCLikePatterns)({
|
|
70
|
+
keywords: CPP_KEYWORDS,
|
|
71
|
+
types: TYPES,
|
|
72
|
+
constants: CONSTANTS,
|
|
73
|
+
builtins: BUILTINS,
|
|
74
|
+
extraPatterns: [
|
|
75
|
+
// Preprocessor directives
|
|
76
|
+
{ type: 'decorator', pattern: /#\s*(?:include|define|undef|ifdef|ifndef|if|else|elif|endif|error|pragma|line|warning)[^\n]*/ },
|
|
77
|
+
// Include headers
|
|
78
|
+
{ type: 'string', pattern: /<[a-zA-Z0-9_./]+>/ },
|
|
79
|
+
// Raw string literals (C++11)
|
|
80
|
+
{ type: 'string', pattern: /R"([^(]*)\([\s\S]*?\)\1"/ },
|
|
81
|
+
// Character literals
|
|
82
|
+
{ type: 'string', pattern: /[LuU]?'(?:[^'\\]|\\.)*'/ },
|
|
83
|
+
// Scope resolution
|
|
84
|
+
{ type: 'operator', pattern: /::/ },
|
|
85
|
+
// Lambda arrow
|
|
86
|
+
{ type: 'operator', pattern: /->/ },
|
|
87
|
+
],
|
|
88
|
+
});
|
|
89
|
+
exports.c = {
|
|
90
|
+
name: 'c',
|
|
91
|
+
aliases: ['h'],
|
|
92
|
+
extensions: ['.c', '.h'],
|
|
93
|
+
tokenize: (code) => (0, tokenizer_1.tokenize)(code, cPatterns),
|
|
94
|
+
};
|
|
95
|
+
exports.cpp = {
|
|
96
|
+
name: 'cpp',
|
|
97
|
+
aliases: ['c++', 'cxx', 'hpp', 'hxx', 'cc'],
|
|
98
|
+
extensions: ['.cpp', '.hpp', '.cxx', '.hxx', '.cc', '.hh', '.C', '.H'],
|
|
99
|
+
tokenize: (code) => (0, tokenizer_1.tokenize)(code, cppPatterns),
|
|
100
|
+
};
|
|
101
|
+
//# sourceMappingURL=c.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"c.js","sourceRoot":"","sources":["../../../src/highlight/languages/c.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csharp.d.ts","sourceRoot":"","sources":["../../../src/highlight/languages/csharp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAS,MAAM,UAAU,CAAC;AAiFzD,eAAO,MAAM,MAAM,EAAE,iBAKpB,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.csharp = void 0;
|
|
4
|
+
const tokenizer_1 = require("../tokenizer");
|
|
5
|
+
const KEYWORDS = [
|
|
6
|
+
'abstract', 'as', 'base', 'break', 'case', 'catch', 'checked', 'class',
|
|
7
|
+
'const', 'continue', 'default', 'delegate', 'do', 'else', 'enum', 'event',
|
|
8
|
+
'explicit', 'extern', 'finally', 'fixed', 'for', 'foreach', 'goto', 'if',
|
|
9
|
+
'implicit', 'in', 'interface', 'internal', 'is', 'lock', 'namespace', 'new',
|
|
10
|
+
'operator', 'out', 'override', 'params', 'private', 'protected', 'public',
|
|
11
|
+
'readonly', 'ref', 'return', 'sealed', 'sizeof', 'stackalloc', 'static',
|
|
12
|
+
'struct', 'switch', 'this', 'throw', 'try', 'typeof', 'unchecked', 'unsafe',
|
|
13
|
+
'using', 'virtual', 'volatile', 'while', 'yield',
|
|
14
|
+
// Contextual keywords
|
|
15
|
+
'add', 'alias', 'ascending', 'async', 'await', 'by', 'descending', 'dynamic',
|
|
16
|
+
'equals', 'from', 'get', 'global', 'group', 'init', 'into', 'join', 'let',
|
|
17
|
+
'managed', 'nameof', 'nint', 'not', 'notnull', 'nuint', 'on', 'or', 'orderby',
|
|
18
|
+
'partial', 'record', 'remove', 'required', 'scoped', 'select', 'set',
|
|
19
|
+
'unmanaged', 'value', 'var', 'when', 'where', 'with', 'and', 'file',
|
|
20
|
+
];
|
|
21
|
+
const TYPES = [
|
|
22
|
+
'bool', 'byte', 'char', 'decimal', 'double', 'float', 'int', 'long',
|
|
23
|
+
'object', 'sbyte', 'short', 'string', 'uint', 'ulong', 'ushort', 'void',
|
|
24
|
+
'dynamic', 'nint', 'nuint',
|
|
25
|
+
// Common .NET types
|
|
26
|
+
'String', 'Int32', 'Int64', 'Double', 'Single', 'Boolean', 'Char', 'Byte',
|
|
27
|
+
'Object', 'Decimal', 'DateTime', 'TimeSpan', 'Guid', 'Type', 'Enum',
|
|
28
|
+
'Array', 'List', 'Dictionary', 'HashSet', 'Queue', 'Stack', 'LinkedList',
|
|
29
|
+
'IEnumerable', 'ICollection', 'IList', 'IDictionary', 'IDisposable',
|
|
30
|
+
'Task', 'Action', 'Func', 'Predicate', 'Comparison', 'EventHandler',
|
|
31
|
+
'Exception', 'ArgumentException', 'NullReferenceException', 'InvalidOperationException',
|
|
32
|
+
'Nullable', 'Span', 'Memory', 'ReadOnlySpan', 'ReadOnlyMemory',
|
|
33
|
+
];
|
|
34
|
+
const CONSTANTS = [
|
|
35
|
+
'true', 'false', 'null', 'default',
|
|
36
|
+
];
|
|
37
|
+
const BUILTINS = [
|
|
38
|
+
'Console', 'Math', 'Convert', 'Environment', 'File', 'Directory', 'Path',
|
|
39
|
+
'Stream', 'StreamReader', 'StreamWriter', 'StringBuilder', 'Regex',
|
|
40
|
+
'Thread', 'Task', 'Parallel', 'Interlocked', 'Monitor', 'Mutex',
|
|
41
|
+
'Debug', 'Trace', 'Assert',
|
|
42
|
+
'WriteLine', 'ReadLine', 'Write', 'Read',
|
|
43
|
+
'ToString', 'GetType', 'Equals', 'GetHashCode', 'ReferenceEquals',
|
|
44
|
+
'Parse', 'TryParse', 'Format',
|
|
45
|
+
];
|
|
46
|
+
const patterns = (0, tokenizer_1.createCLikePatterns)({
|
|
47
|
+
keywords: KEYWORDS,
|
|
48
|
+
types: TYPES,
|
|
49
|
+
constants: CONSTANTS,
|
|
50
|
+
builtins: BUILTINS,
|
|
51
|
+
extraPatterns: [
|
|
52
|
+
// Preprocessor directives
|
|
53
|
+
{ type: 'decorator', pattern: /#\s*(?:if|else|elif|endif|define|undef|warning|error|line|region|endregion|pragma|nullable)[^\n]*/ },
|
|
54
|
+
// Attributes
|
|
55
|
+
{ type: 'decorator', pattern: /\[[a-zA-Z_][a-zA-Z0-9_]*(?:\([^\)]*\))?\]/ },
|
|
56
|
+
// Verbatim strings
|
|
57
|
+
{ type: 'string', pattern: /@"(?:[^"]|"")*"/ },
|
|
58
|
+
// Raw string literals (C# 11)
|
|
59
|
+
{ type: 'string', pattern: /"""[\s\S]*?"""/ },
|
|
60
|
+
// Interpolated strings
|
|
61
|
+
{ type: 'string', pattern: /\$"(?:[^"\\]|\\.|\{[^}]*\})*"/ },
|
|
62
|
+
{ type: 'string', pattern: /\$@"(?:[^"]|""|{{|}}|\{[^}]*\})*"/ },
|
|
63
|
+
// Character literals
|
|
64
|
+
{ type: 'string', pattern: /'(?:[^'\\]|\\.)'/ },
|
|
65
|
+
// Lambda and null operators
|
|
66
|
+
{ type: 'operator', pattern: /=>/ },
|
|
67
|
+
{ type: 'operator', pattern: /\?\?=?/ },
|
|
68
|
+
{ type: 'operator', pattern: /\?\./ },
|
|
69
|
+
{ type: 'operator', pattern: /\.\./ },
|
|
70
|
+
],
|
|
71
|
+
});
|
|
72
|
+
exports.csharp = {
|
|
73
|
+
name: 'csharp',
|
|
74
|
+
aliases: ['cs', 'c#', 'dotnet'],
|
|
75
|
+
extensions: ['.cs', '.csx'],
|
|
76
|
+
tokenize: (code) => (0, tokenizer_1.tokenize)(code, patterns),
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=csharp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csharp.js","sourceRoot":"","sources":["../../../src/highlight/languages/csharp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"go.d.ts","sourceRoot":"","sources":["../../../src/highlight/languages/go.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAS,MAAM,UAAU,CAAC;AA+CzD,eAAO,MAAM,EAAE,EAAE,iBAKhB,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.go = void 0;
|
|
4
|
+
const tokenizer_1 = require("../tokenizer");
|
|
5
|
+
const KEYWORDS = [
|
|
6
|
+
'break', 'case', 'chan', 'const', 'continue', 'default', 'defer',
|
|
7
|
+
'else', 'fallthrough', 'for', 'func', 'go', 'goto', 'if', 'import',
|
|
8
|
+
'interface', 'map', 'package', 'range', 'return', 'select', 'struct',
|
|
9
|
+
'switch', 'type', 'var',
|
|
10
|
+
];
|
|
11
|
+
const TYPES = [
|
|
12
|
+
'bool', 'byte', 'complex64', 'complex128', 'error', 'float32', 'float64',
|
|
13
|
+
'int', 'int8', 'int16', 'int32', 'int64', 'rune', 'string',
|
|
14
|
+
'uint', 'uint8', 'uint16', 'uint32', 'uint64', 'uintptr', 'any',
|
|
15
|
+
];
|
|
16
|
+
const CONSTANTS = [
|
|
17
|
+
'true', 'false', 'nil', 'iota',
|
|
18
|
+
];
|
|
19
|
+
const BUILTINS = [
|
|
20
|
+
'append', 'cap', 'close', 'complex', 'copy', 'delete', 'imag',
|
|
21
|
+
'len', 'make', 'new', 'panic', 'print', 'println', 'real', 'recover',
|
|
22
|
+
'min', 'max', 'clear',
|
|
23
|
+
];
|
|
24
|
+
const patterns = (0, tokenizer_1.createCLikePatterns)({
|
|
25
|
+
keywords: KEYWORDS,
|
|
26
|
+
types: TYPES,
|
|
27
|
+
constants: CONSTANTS,
|
|
28
|
+
builtins: BUILTINS,
|
|
29
|
+
extraPatterns: [
|
|
30
|
+
// Raw string literals
|
|
31
|
+
{ type: 'string', pattern: /`[^`]*`/ },
|
|
32
|
+
// Channel operator
|
|
33
|
+
{ type: 'operator', pattern: /<-/ },
|
|
34
|
+
// Short variable declaration
|
|
35
|
+
{ type: 'operator', pattern: /:=/ },
|
|
36
|
+
// Package names (simplified - after import)
|
|
37
|
+
{ type: 'string', pattern: /(?<=import\s+)"[^"]*"/ },
|
|
38
|
+
{ type: 'string', pattern: /(?<=import\s+\(\s*(?:[^)]*\n)*\s*)"[^"]*"/ },
|
|
39
|
+
],
|
|
40
|
+
});
|
|
41
|
+
exports.go = {
|
|
42
|
+
name: 'go',
|
|
43
|
+
aliases: ['golang'],
|
|
44
|
+
extensions: ['.go'],
|
|
45
|
+
tokenize: (code) => (0, tokenizer_1.tokenize)(code, patterns),
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=go.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"go.js","sourceRoot":"","sources":["../../../src/highlight/languages/go.ts"],"names":[],"mappings":";;;AACA,4CAA2E;AAE3E,MAAM,QAAQ,GAAG;IACf,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO;IAChE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ;IAClE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ;IACpE,QAAQ,EAAE,MAAM,EAAE,KAAK;CACxB,CAAC;AAEF,MAAM,KAAK,GAAG;IACZ,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;IACxE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ;IAC1D,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK;CAChE,CAAC;AAEF,MAAM,SAAS,GAAG;IAChB,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM;CAC/B,CAAC;AAEF,MAAM,QAAQ,GAAG;IACf,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAC7D,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;IACpE,KAAK,EAAE,KAAK,EAAE,OAAO;CACtB,CAAC;AAEF,MAAM,QAAQ,GAAG,IAAA,+BAAmB,EAAC;IACnC,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE,KAAK;IACZ,SAAS,EAAE,SAAS;IACpB,QAAQ,EAAE,QAAQ;IAClB,aAAa,EAAE;QACb,sBAAsB;QACtB,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE;QAEtC,mBAAmB;QACnB,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE;QAEnC,6BAA6B;QAC7B,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE;QAEnC,4CAA4C;QAC5C,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,uBAAuB,EAAE;QACpD,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,2CAA2C,EAAE;KACzE;CACF,CAAC,CAAC;AAEU,QAAA,EAAE,GAAsB;IACnC,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,CAAC,QAAQ,CAAC;IACnB,UAAU,EAAE,CAAC,KAAK,CAAC;IACnB,QAAQ,EAAE,CAAC,IAAY,EAAW,EAAE,CAAC,IAAA,oBAAQ,EAAC,IAAI,EAAE,QAAQ,CAAC;CAC9D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../../src/highlight/languages/html.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAuB,MAAM,UAAU,CAAC;AAiDvE,eAAO,MAAM,IAAI,EAAE,iBAKlB,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.html = void 0;
|
|
4
|
+
const tokenizer_1 = require("../tokenizer");
|
|
5
|
+
const patterns = [
|
|
6
|
+
// Comments
|
|
7
|
+
{ type: 'comment', pattern: /<!--[\s\S]*?-->/ },
|
|
8
|
+
// DOCTYPE
|
|
9
|
+
{ type: 'keyword', pattern: /<!DOCTYPE[^>]*>/i },
|
|
10
|
+
// CDATA sections
|
|
11
|
+
{ type: 'string', pattern: /<!\[CDATA\[[\s\S]*?\]\]>/ },
|
|
12
|
+
// Script and style content (treat as strings to avoid confusion)
|
|
13
|
+
{ type: 'string', pattern: /<script[^>]*>[\s\S]*?<\/script>/i },
|
|
14
|
+
{ type: 'string', pattern: /<style[^>]*>[\s\S]*?<\/style>/i },
|
|
15
|
+
// Closing tags
|
|
16
|
+
{ type: 'tag', pattern: /<\/[a-zA-Z][a-zA-Z0-9-]*\s*>/ },
|
|
17
|
+
// Self-closing tags and opening tags with attributes
|
|
18
|
+
{
|
|
19
|
+
type: 'tag',
|
|
20
|
+
pattern: /<[a-zA-Z][a-zA-Z0-9-]*(?=[\s/>])/,
|
|
21
|
+
},
|
|
22
|
+
// Attribute names
|
|
23
|
+
{ type: 'attribute', pattern: /(?<=\s)[a-zA-Z_:][a-zA-Z0-9_:.-]*(?=\s*=)/ },
|
|
24
|
+
// Boolean attributes (no value)
|
|
25
|
+
{ type: 'attribute', pattern: /(?<=\s)[a-zA-Z_:][a-zA-Z0-9_:.-]*(?=[\s/>])/ },
|
|
26
|
+
// Attribute values
|
|
27
|
+
{ type: 'string', pattern: tokenizer_1.COMMON_PATTERNS.doubleString },
|
|
28
|
+
{ type: 'string', pattern: tokenizer_1.COMMON_PATTERNS.singleString },
|
|
29
|
+
// Tag closing brackets
|
|
30
|
+
{ type: 'tag', pattern: /\/?>/ },
|
|
31
|
+
// Entities
|
|
32
|
+
{ type: 'constant', pattern: /&[a-zA-Z0-9#]+;/ },
|
|
33
|
+
// Whitespace
|
|
34
|
+
{ type: 'text', pattern: tokenizer_1.COMMON_PATTERNS.whitespace },
|
|
35
|
+
// Text content
|
|
36
|
+
{ type: 'text', pattern: /[^<>&]+/ },
|
|
37
|
+
];
|
|
38
|
+
exports.html = {
|
|
39
|
+
name: 'html',
|
|
40
|
+
aliases: ['htm', 'xhtml', 'xml', 'svg'],
|
|
41
|
+
extensions: ['.html', '.htm', '.xhtml', '.xml', '.svg'],
|
|
42
|
+
tokenize: (code) => (0, tokenizer_1.tokenize)(code, patterns),
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=html.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html.js","sourceRoot":"","sources":["../../../src/highlight/languages/html.ts"],"names":[],"mappings":";;;AACA,4CAAyD;AAEzD,MAAM,QAAQ,GAAmB;IAC/B,WAAW;IACX,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,EAAE;IAE/C,UAAU;IACV,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,kBAAkB,EAAE;IAEhD,iBAAiB;IACjB,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,0BAA0B,EAAE;IAEvD,iEAAiE;IACjE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,kCAAkC,EAAE;IAC/D,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,gCAAgC,EAAE;IAE7D,eAAe;IACf,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,8BAA8B,EAAE;IAExD,qDAAqD;IACrD;QACE,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,kCAAkC;KAC5C;IAED,kBAAkB;IAClB,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,2CAA2C,EAAE;IAE3E,gCAAgC;IAChC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,6CAA6C,EAAE;IAE7E,mBAAmB;IACnB,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,2BAAe,CAAC,YAAY,EAAE;IACzD,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,2BAAe,CAAC,YAAY,EAAE;IAEzD,uBAAuB;IACvB,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE;IAEhC,WAAW;IACX,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,EAAE;IAEhD,aAAa;IACb,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,2BAAe,CAAC,UAAU,EAAE;IAErD,eAAe;IACf,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;CACrC,CAAC;AAEW,QAAA,IAAI,GAAsB;IACrC,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC;IACvC,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;IACvD,QAAQ,EAAE,CAAC,IAAY,EAAW,EAAE,CAAC,IAAA,oBAAQ,EAAC,IAAI,EAAE,QAAQ,CAAC;CAC9D,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Language tokenizers registry
|
|
3
|
+
*
|
|
4
|
+
* To add a new language:
|
|
5
|
+
* 1. Create a new file in this directory (e.g., `ruby.ts`)
|
|
6
|
+
* 2. Export a LanguageTokenizer object
|
|
7
|
+
* 3. Import and add it to the `languages` array below
|
|
8
|
+
*/
|
|
9
|
+
import type { LanguageTokenizer } from '../types';
|
|
10
|
+
/**
|
|
11
|
+
* All registered language tokenizers
|
|
12
|
+
* Add new languages here
|
|
13
|
+
*/
|
|
14
|
+
export declare const languages: LanguageTokenizer[];
|
|
15
|
+
export { bash } from './bash';
|
|
16
|
+
export { c, cpp } from './c';
|
|
17
|
+
export { csharp } from './csharp';
|
|
18
|
+
export { go } from './go';
|
|
19
|
+
export { html } from './html';
|
|
20
|
+
export { java } from './java';
|
|
21
|
+
export { javascript } from './javascript';
|
|
22
|
+
export { json } from './json';
|
|
23
|
+
export { python } from './python';
|
|
24
|
+
export { rust } from './rust';
|
|
25
|
+
export { typescript } from './typescript';
|
|
26
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/highlight/languages/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAalD;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,iBAAiB,EAaxC,CAAC;AAGF,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Language tokenizers registry
|
|
4
|
+
*
|
|
5
|
+
* To add a new language:
|
|
6
|
+
* 1. Create a new file in this directory (e.g., `ruby.ts`)
|
|
7
|
+
* 2. Export a LanguageTokenizer object
|
|
8
|
+
* 3. Import and add it to the `languages` array below
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.typescript = exports.rust = exports.python = exports.json = exports.javascript = exports.java = exports.html = exports.go = exports.csharp = exports.cpp = exports.c = exports.bash = exports.languages = void 0;
|
|
12
|
+
const bash_1 = require("./bash");
|
|
13
|
+
const c_1 = require("./c");
|
|
14
|
+
const csharp_1 = require("./csharp");
|
|
15
|
+
const go_1 = require("./go");
|
|
16
|
+
const html_1 = require("./html");
|
|
17
|
+
const java_1 = require("./java");
|
|
18
|
+
const javascript_1 = require("./javascript");
|
|
19
|
+
const json_1 = require("./json");
|
|
20
|
+
const python_1 = require("./python");
|
|
21
|
+
const rust_1 = require("./rust");
|
|
22
|
+
const typescript_1 = require("./typescript");
|
|
23
|
+
/**
|
|
24
|
+
* All registered language tokenizers
|
|
25
|
+
* Add new languages here
|
|
26
|
+
*/
|
|
27
|
+
exports.languages = [
|
|
28
|
+
bash_1.bash,
|
|
29
|
+
javascript_1.javascript,
|
|
30
|
+
typescript_1.typescript,
|
|
31
|
+
python_1.python,
|
|
32
|
+
json_1.json,
|
|
33
|
+
go_1.go,
|
|
34
|
+
rust_1.rust,
|
|
35
|
+
java_1.java,
|
|
36
|
+
c_1.c,
|
|
37
|
+
c_1.cpp,
|
|
38
|
+
csharp_1.csharp,
|
|
39
|
+
html_1.html,
|
|
40
|
+
];
|
|
41
|
+
// Re-export individual languages for direct import
|
|
42
|
+
var bash_2 = require("./bash");
|
|
43
|
+
Object.defineProperty(exports, "bash", { enumerable: true, get: function () { return bash_2.bash; } });
|
|
44
|
+
var c_2 = require("./c");
|
|
45
|
+
Object.defineProperty(exports, "c", { enumerable: true, get: function () { return c_2.c; } });
|
|
46
|
+
Object.defineProperty(exports, "cpp", { enumerable: true, get: function () { return c_2.cpp; } });
|
|
47
|
+
var csharp_2 = require("./csharp");
|
|
48
|
+
Object.defineProperty(exports, "csharp", { enumerable: true, get: function () { return csharp_2.csharp; } });
|
|
49
|
+
var go_2 = require("./go");
|
|
50
|
+
Object.defineProperty(exports, "go", { enumerable: true, get: function () { return go_2.go; } });
|
|
51
|
+
var html_2 = require("./html");
|
|
52
|
+
Object.defineProperty(exports, "html", { enumerable: true, get: function () { return html_2.html; } });
|
|
53
|
+
var java_2 = require("./java");
|
|
54
|
+
Object.defineProperty(exports, "java", { enumerable: true, get: function () { return java_2.java; } });
|
|
55
|
+
var javascript_2 = require("./javascript");
|
|
56
|
+
Object.defineProperty(exports, "javascript", { enumerable: true, get: function () { return javascript_2.javascript; } });
|
|
57
|
+
var json_2 = require("./json");
|
|
58
|
+
Object.defineProperty(exports, "json", { enumerable: true, get: function () { return json_2.json; } });
|
|
59
|
+
var python_2 = require("./python");
|
|
60
|
+
Object.defineProperty(exports, "python", { enumerable: true, get: function () { return python_2.python; } });
|
|
61
|
+
var rust_2 = require("./rust");
|
|
62
|
+
Object.defineProperty(exports, "rust", { enumerable: true, get: function () { return rust_2.rust; } });
|
|
63
|
+
var typescript_2 = require("./typescript");
|
|
64
|
+
Object.defineProperty(exports, "typescript", { enumerable: true, get: function () { return typescript_2.typescript; } });
|
|
65
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/highlight/languages/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAGH,iCAA8B;AAC9B,2BAA6B;AAC7B,qCAAkC;AAClC,6BAA0B;AAC1B,iCAA8B;AAC9B,iCAA8B;AAC9B,6CAA0C;AAC1C,iCAA8B;AAC9B,qCAAkC;AAClC,iCAA8B;AAC9B,6CAA0C;AAE1C;;;GAGG;AACU,QAAA,SAAS,GAAwB;IAC5C,WAAI;IACJ,uBAAU;IACV,uBAAU;IACV,eAAM;IACN,WAAI;IACJ,OAAE;IACF,WAAI;IACJ,WAAI;IACJ,KAAC;IACD,OAAG;IACH,eAAM;IACN,WAAI;CACL,CAAC;AAEF,mDAAmD;AACnD,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,yBAA6B;AAApB,sFAAA,CAAC,OAAA;AAAE,wFAAA,GAAG,OAAA;AACf,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,2BAA0B;AAAjB,wFAAA,EAAE,OAAA;AACX,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,2CAA0C;AAAjC,wGAAA,UAAU,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"java.d.ts","sourceRoot":"","sources":["../../../src/highlight/languages/java.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAS,MAAM,UAAU,CAAC;AA2DzD,eAAO,MAAM,IAAI,EAAE,iBAKlB,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.java = void 0;
|
|
4
|
+
const tokenizer_1 = require("../tokenizer");
|
|
5
|
+
const KEYWORDS = [
|
|
6
|
+
'abstract', 'assert', 'break', 'case', 'catch', 'class', 'const',
|
|
7
|
+
'continue', 'default', 'do', 'else', 'enum', 'extends', 'final',
|
|
8
|
+
'finally', 'for', 'goto', 'if', 'implements', 'import', 'instanceof',
|
|
9
|
+
'interface', 'native', 'new', 'package', 'private', 'protected',
|
|
10
|
+
'public', 'return', 'static', 'strictfp', 'super', 'switch',
|
|
11
|
+
'synchronized', 'this', 'throw', 'throws', 'transient', 'try',
|
|
12
|
+
'volatile', 'while', 'yield', 'var', 'record', 'sealed', 'permits',
|
|
13
|
+
'non-sealed', 'when',
|
|
14
|
+
];
|
|
15
|
+
const TYPES = [
|
|
16
|
+
'boolean', 'byte', 'char', 'double', 'float', 'int', 'long', 'short', 'void',
|
|
17
|
+
'String', 'Object', 'Integer', 'Long', 'Double', 'Float', 'Boolean',
|
|
18
|
+
'Character', 'Byte', 'Short', 'Void', 'Class', 'System', 'Math',
|
|
19
|
+
'List', 'ArrayList', 'LinkedList', 'Map', 'HashMap', 'TreeMap',
|
|
20
|
+
'Set', 'HashSet', 'TreeSet', 'Collection', 'Collections', 'Arrays',
|
|
21
|
+
'Optional', 'Stream', 'Collectors', 'Function', 'Consumer', 'Supplier',
|
|
22
|
+
'Predicate', 'BiFunction', 'Comparable', 'Comparator', 'Iterable', 'Iterator',
|
|
23
|
+
'Exception', 'RuntimeException', 'Error', 'Throwable',
|
|
24
|
+
];
|
|
25
|
+
const CONSTANTS = [
|
|
26
|
+
'true', 'false', 'null',
|
|
27
|
+
];
|
|
28
|
+
const BUILTINS = [
|
|
29
|
+
'println', 'print', 'printf', 'format',
|
|
30
|
+
];
|
|
31
|
+
const patterns = (0, tokenizer_1.createCLikePatterns)({
|
|
32
|
+
keywords: KEYWORDS,
|
|
33
|
+
types: TYPES,
|
|
34
|
+
constants: CONSTANTS,
|
|
35
|
+
builtins: BUILTINS,
|
|
36
|
+
extraPatterns: [
|
|
37
|
+
// Annotations
|
|
38
|
+
{ type: 'decorator', pattern: /@[a-zA-Z_][a-zA-Z0-9_]*(?:\([^)]*\))?/ },
|
|
39
|
+
// Generic type parameters
|
|
40
|
+
{ type: 'type', pattern: /<[A-Z][a-zA-Z0-9]*(?:\s*,\s*[A-Z][a-zA-Z0-9]*)*>/ },
|
|
41
|
+
// Character literals
|
|
42
|
+
{ type: 'string', pattern: /'(?:[^'\\]|\\.)'/ },
|
|
43
|
+
// Text blocks (Java 15+)
|
|
44
|
+
{ type: 'string', pattern: /"""[\s\S]*?"""/ },
|
|
45
|
+
// Lambda arrow
|
|
46
|
+
{ type: 'operator', pattern: /->/ },
|
|
47
|
+
// Method reference
|
|
48
|
+
{ type: 'operator', pattern: /::/ },
|
|
49
|
+
],
|
|
50
|
+
});
|
|
51
|
+
exports.java = {
|
|
52
|
+
name: 'java',
|
|
53
|
+
aliases: [],
|
|
54
|
+
extensions: ['.java'],
|
|
55
|
+
tokenize: (code) => (0, tokenizer_1.tokenize)(code, patterns),
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=java.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"java.js","sourceRoot":"","sources":["../../../src/highlight/languages/java.ts"],"names":[],"mappings":";;;AACA,4CAA6D;AAE7D,MAAM,QAAQ,GAAG;IACf,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAChE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO;IAC/D,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY;IACpE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW;IAC/D,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ;IAC3D,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK;IAC7D,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS;IAClE,YAAY,EAAE,MAAM;CACrB,CAAC;AAEF,MAAM,KAAK,GAAG;IACZ,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAC5E,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS;IACnE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM;IAC/D,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS;IAC9D,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ;IAClE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IACtE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU;IAC7E,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW;CACtD,CAAC;AAEF,MAAM,SAAS,GAAG;IAChB,MAAM,EAAE,OAAO,EAAE,MAAM;CACxB,CAAC;AAEF,MAAM,QAAQ,GAAG;IACf,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ;CACvC,CAAC;AAEF,MAAM,QAAQ,GAAG,IAAA,+BAAmB,EAAC;IACnC,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE,KAAK;IACZ,SAAS,EAAE,SAAS;IACpB,QAAQ,EAAE,QAAQ;IAClB,aAAa,EAAE;QACb,cAAc;QACd,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,uCAAuC,EAAE;QAEvE,0BAA0B;QAC1B,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kDAAkD,EAAE;QAE7E,qBAAqB;QACrB,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAE;QAE/C,yBAAyB;QACzB,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE;QAE7C,eAAe;QACf,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE;QAEnC,mBAAmB;QACnB,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE;KACpC;CACF,CAAC,CAAC;AAEU,QAAA,IAAI,GAAsB;IACrC,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,EAAE;IACX,UAAU,EAAE,CAAC,OAAO,CAAC;IACrB,QAAQ,EAAE,CAAC,IAAY,EAAW,EAAE,CAAC,IAAA,oBAAQ,EAAC,IAAI,EAAE,QAAQ,CAAC;CAC9D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"javascript.d.ts","sourceRoot":"","sources":["../../../src/highlight/languages/javascript.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAS,MAAM,UAAU,CAAC;AAsDzD,eAAO,MAAM,UAAU,EAAE,iBAKxB,CAAC"}
|