Dave Jarvis' Repositories

git clone https://repo.autonoma.ca/repo/treetrek.git
render/Highlighter.php
$language = match( $basename ) {
- 'Dockerfile' => 'dockerfile',
- 'Makefile' => 'makefile',
- 'Jenkinsfile' => 'groovy',
- default => null
+ 'Containerfile',
+ 'Dockerfile' => 'containerfile',
+ 'Makefile' => 'makefile',
+ 'Jenkinsfile' => 'groovy',
+ default => null
};
render/LanguageDefinitions.php
'function' => '/\b([a-zA-Z_.][a-zA-Z0-9_.]*)\s*(?=\()/',
'number' => '/' . $float . '/',
+ ],
+ 'csharp' => [
+ 'string' => '/(@"(?:""|[^"])*"|' . $str . ')/',
+ 'comment' => '/(\/\/[^\r\n]*|\/\*.*?\*\/)/ms',
+ 'preprocessor' => '/(^\s*#[^\r\n]*)/m',
+ 'keyword' => '/\b(?:abstract|as|base|bool|break|byte|case|catch|char|checked|class|const|continue|decimal|default|delegate|do|double|else|enum|event|explicit|extern|false|finally|fixed|float|for|foreach|goto|if|implicit|in|int|interface|internal|is|lock|long|namespace|new|null|object|operator|out|override|params|private|protected|public|readonly|ref|return|sbyte|sealed|short|sizeof|stackalloc|static|string|struct|switch|this|throw|true|try|typeof|uint|ulong|unchecked|unsafe|ushort|using|virtual|void|volatile|while)\b/',
+ 'function' => '/\b([a-zA-Z_][a-zA-Z0-9_]*)\s*(?=\()/',
+ 'number' => '/' . $int . '/',
+ ],
+ 'kotlin' => [
+ 'string' => '/("""[\s\S]*?"""|' . $str . ')/',
+ 'comment' => '/(\/\/[^\r\n]*|\/\*.*?\*\/)/ms',
+ 'keyword' => '/\b(?:as|break|class|continue|do|else|false|for|fun|if|in|interface|is|null|object|package|return|super|this|throw|true|try|typealias|typeof|val|var|when|while)\b/',
+ 'function' => '/\b([a-zA-Z_][a-zA-Z0-9_]*)\s*(?=\()/',
+ 'number' => '/' . $int . '/',
+ ],
+ 'scala' => [
+ 'string' => '/("""[\s\S]*?"""|' . $str . ')/',
+ 'comment' => '/(\/\/[^\r\n]*|\/\*.*?\*\/)/ms',
+ 'keyword' => '/\b(?:abstract|case|catch|class|def|do|else|extends|false|final|finally|for|forSome|if|implicit|import|lazy|match|new|null|object|override|package|private|protected|return|sealed|super|this|throw|trait|try|true|type|val|var|while|with|yield)\b/',
+ 'function' => '/\b([a-zA-Z_][a-zA-Z0-9_]*)\s*(?=\()/',
+ 'number' => '/' . $int . '/',
+ ],
+ 'groovy' => [
+ 'string' => '/(\'\'\'[\s\S]*?\'\'\'|""".*?"""|"(?:\\\\.|[^"\\\\])*"|\'(?:\\\\.|[^\'\\\\])*\'|\/[^\/]+\/)/',
+ 'comment' => '/(\/\/[^\r\n]*|\/\*.*?\*\/)/ms',
+ 'keyword' => '/\b(?:def|as|assert|break|case|catch|class|const|continue|default|do|else|enum|extends|false|finally|for|goto|if|implements|import|in|instanceof|interface|new|null|package|return|super|switch|this|throw|throws|trait|true|try|var|void|while)\b/',
+ 'function' => '/\b([a-zA-Z_][a-zA-Z0-9_]*)\s*(?=\()/',
+ 'number' => '/' . $int . '/',
+ ],
+ 'dart' => [
+ 'string' => '/(r?\'\'\'[\s\S]*?\'\'\'|r?"""[\s\S]*?"""|"(?:\\\\.|[^"\\\\])*"|\'(?:\\\\.|[^\'\\\\])*\')/',
+ 'comment' => '/(\/\/[^\r\n]*|\/\*.*?\*\/)/ms',
+ 'keyword' => '/\b(?:abstract|as|assert|async|await|break|case|catch|class|const|continue|default|do|else|enum|export|extends|extension|external|factory|false|final|finally|for|get|if|implements|import|in|interface|is|library|mixin|new|null|on|operator|part|rethrow|return|set|static|super|switch|sync|this|throw|true|try|typedef|var|void|while|with|yield)\b/',
+ 'function' => '/\b([a-zA-Z_][a-zA-Z0-9_]*)\s*(?=\()/',
+ 'number' => '/' . $int . '/',
+ ],
+ 'swift' => [
+ 'string' => '/("""[\s\S]*?"""|' . $str . ')/',
+ 'comment' => '/(\/\/[^\r\n]*|\/\*.*?\*\/)/ms',
+ 'keyword' => '/\b(?:associatedtype|class|deinit|enum|extension|fileprivate|func|import|init|inout|internal|let|open|operator|private|protocol|public|rethrows|static|struct|subscript|typealias|var|break|case|continue|default|defer|do|else|fallthrough|for|guard|if|in|repeat|return|switch|where|while|as|Any|catch|false|is|nil|super|self|Self|throw|throws|true|try)\b/',
+ 'function' => '/\b([a-zA-Z_][a-zA-Z0-9_]*)\s*(?=\()/',
+ 'number' => '/' . $int . '/',
+ ],
+ 'perl' => [
+ 'comment' => '/(#[^\r\n]*)/',
+ 'string' => '/(' . $str . '|`[^`]*`)/',
+ 'variable' => '/([$@%](?:\{[a-zA-Z_]\w*\}|[a-zA-Z_]\w*))/',
+ 'keyword' => '/\b(?:my|local|our|state|use|sub|package|if|else|elsif|unless|while|until|for|foreach|do|last|next|redo|goto|continue|return|print|printf|say|die|warn|eval|try|catch)\b/',
+ 'number' => '/' . $float . '/',
+ ],
+ 'powershell' => [
+ 'comment' => '/(<#[\s\S]*?#>|#[^\r\n]*)/',
+ 'string' => '/(@"(?:""|[^"])*"@|@\'(?:[^[\'])*\'@|"(?:`.|[^"`])*"|\'(?:[^[\'])*\')/',
+ 'variable' => '/(\$[a-zA-Z0-9_]+)/',
+ 'keyword' => '/(?i)\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|In|InlineScript|Hidden|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\b/',
+ 'function' => '/\b([a-zA-Z_][a-zA-Z0-9_-]*)\s*(?=\()/',
+ 'number' => '/' . $int . '/',
+ ],
+ 'dockerfile' => [
+ 'comment' => '/(#[^\r\n]*)/',
+ 'string' => '/' . $str . '/',
+ 'keyword' => '/(?i)^\s*(?:FROM|MAINTAINER|RUN|CMD|LABEL|EXPOSE|ENV|ADD|COPY|ENTRYPOINT|VOLUME|USER|WORKDIR|ARG|ONBUILD|STOPSIGNAL|HEALTHCHECK|SHELL)\b/m',
+ ],
+ 'containerfile' => [
+ 'comment' => '/(#[^\r\n]*)/',
+ 'string' => '/' . $str . '/',
+ 'keyword' => '/(?i)^\s*(?:FROM|MAINTAINER|RUN|CMD|LABEL|EXPOSE|ENV|ADD|COPY|ENTRYPOINT|VOLUME|USER|WORKDIR|ARG|ONBUILD|STOPSIGNAL|HEALTHCHECK|SHELL)\b/m',
+ ],
+ 'makefile' => [
+ 'comment' => '/(#[^\r\n]*)/',
+ 'variable' => '/(\$+[{(][^})]+[})])/',
+ 'keyword' => '/(?i)\b(?:include|define|endef|export|override|ifdef|ifndef|ifeq|ifneq|else|endif|vpath)\b/',
+ 'function' => '/^([a-zA-Z0-9._-]+):/m',
+ ],
+ 'diff' => [
+ 'comment' => '/^(?:---| \+\+\+|index|diff).*/m',
+ 'meta' => '/^(?:@@).*/m',
+ 'inserted' => '/(^\+.*)/m',
+ 'deleted' => '/(^-.*)/m',
]
];

Adds missing languages

Author Dave Jarvis <email>
Date 2026-02-15 13:54:10 GMT-0800
Commit d9d089247f1e9f6d8493021a4c1e8d3640907b13
Parent 304a784
Delta 85 lines added, 4 lines removed, 81-line increase