forked from tempestphp/highlight
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfileLanguage.php
More file actions
65 lines (58 loc) · 2.06 KB
/
DockerfileLanguage.php
File metadata and controls
65 lines (58 loc) · 2.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?php
declare(strict_types=1);
namespace Tempest\Highlight\Languages\Dockerfile;
use Override;
use Tempest\Highlight\Languages\Base\BaseLanguage;
use Tempest\Highlight\Languages\Dockerfile\Patterns\CommentPattern;
use Tempest\Highlight\Languages\Dockerfile\Patterns\DoubleQuoteValuePattern;
use Tempest\Highlight\Languages\Dockerfile\Patterns\ImageAliasKeywordPattern;
use Tempest\Highlight\Languages\Dockerfile\Patterns\ImageAliasNamePattern;
use Tempest\Highlight\Languages\Dockerfile\Patterns\ImageNamePattern;
use Tempest\Highlight\Languages\Dockerfile\Patterns\ImageTagPattern;
use Tempest\Highlight\Languages\Dockerfile\Patterns\KeywordPattern;
use Tempest\Highlight\Languages\Dockerfile\Patterns\SingleQuoteValuePattern;
class DockerfileLanguage extends BaseLanguage
{
public function getName(): string
{
return 'dockerfile';
}
#[Override]
public function getAliases(): array
{
return [
'docker',
];
}
#[Override]
public function getPatterns(): array
{
return [
new KeywordPattern('ADD'),
new KeywordPattern('ARG'),
new KeywordPattern('CMD'),
new KeywordPattern('COPY'),
new KeywordPattern('ENTRYPOINT'),
new KeywordPattern('ENV'),
new KeywordPattern('EXPOSE'),
new KeywordPattern('FROM'),
new KeywordPattern('HEALTHCHECK'),
new KeywordPattern('LABEL'),
new KeywordPattern('MAINTAINER'),
new KeywordPattern('ONBUILD'),
new KeywordPattern('RUN'),
new KeywordPattern('SHELL'),
new KeywordPattern('STOPSIGNAL'),
new KeywordPattern('USER'),
new KeywordPattern('VOLUME'),
new KeywordPattern('WORKDIR'),
new ImageNamePattern(),
new ImageAliasKeywordPattern(),
new ImageAliasNamePattern(),
new ImageTagPattern(),
new SingleQuoteValuePattern(),
new DoubleQuoteValuePattern(),
new CommentPattern(),
];
}
}