github-linguist 7.1.3 → 7.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/grammars/annotation.liquidhaskell.haskell.json +119 -4
- data/grammars/etc.json +148 -0
- data/grammars/hint.haskell.json +119 -4
- data/grammars/hint.message.haskell.json +119 -4
- data/grammars/hint.type.haskell.json +119 -4
- data/grammars/injections.etc.json +21 -0
- data/grammars/source.abap.json +2 -2
- data/grammars/source.ats.json +87 -17
- data/grammars/source.ballerina.json +236 -313
- data/grammars/source.batchfile.json +1 -1
- data/grammars/source.bdf.json +14 -8
- data/grammars/source.changelogs.rpm-spec.json +3 -3
- data/grammars/source.chapel.json +1 -1
- data/grammars/source.coffee.json +98 -0
- data/grammars/source.csound-document.json +26 -124
- data/grammars/source.curlrc.json +180 -0
- data/grammars/source.dart.json +5 -2
- data/grammars/source.elixir.json +20 -25
- data/grammars/source.emacs.lisp.json +23 -1
- data/grammars/source.gdb.json +1 -1
- data/grammars/source.gitattributes.json +111 -0
- data/grammars/source.gitconfig.json +450 -0
- data/grammars/source.gitignore.json +140 -0
- data/grammars/source.graphql.json +18 -0
- data/grammars/source.haproxy-config.json +10 -10
- data/grammars/source.haskell.json +119 -4
- data/grammars/source.hgignore.json +34 -0
- data/grammars/source.hsig.json +119 -4
- data/grammars/source.hx.json +2 -2
- data/grammars/source.jison.json +1 -1
- data/grammars/source.ltspice.symbol.json +294 -0
- data/grammars/source.m4.json +187 -0
- data/grammars/source.man-conf.json +141 -0
- data/grammars/source.nanorc.json +330 -0
- data/grammars/source.nim.comment.json +82 -0
- data/grammars/source.nim.json +1 -57
- data/grammars/source.nix.json +2 -2
- data/grammars/source.opts.json +98 -0
- data/grammars/source.reason.json +13 -0
- data/grammars/source.rust.json +35 -0
- data/grammars/source.terraform.json +4 -1
- data/grammars/source.ts.json +307 -39
- data/grammars/source.tsx.json +290 -37
- data/grammars/source.zig.json +286 -0
- data/grammars/text.html.basic.json +1 -1
- data/grammars/text.marko.json +61 -9
- data/grammars/text.tex.latex.haskell.json +119 -4
- data/grammars/text.zone_file.json +2 -2
- data/grammars/version +1 -1
- data/lib/linguist/VERSION +1 -1
- data/lib/linguist/generated.rb +0 -8
- data/lib/linguist/heuristics.yml +30 -3
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +143 -3
- data/lib/linguist/samples.json +4494 -646
- data/lib/linguist/vendor.yml +1 -2
- metadata +31 -4
- data/grammars/source.solidity.json +0 -189
@@ -0,0 +1,140 @@
|
|
1
|
+
{
|
2
|
+
"name": ".gitignore",
|
3
|
+
"scopeName": "source.gitignore",
|
4
|
+
"patterns": [
|
5
|
+
{
|
6
|
+
"include": "#main"
|
7
|
+
}
|
8
|
+
],
|
9
|
+
"repository": {
|
10
|
+
"bazaarPrefixes": {
|
11
|
+
"patterns": [
|
12
|
+
{
|
13
|
+
"name": "storage.modifier.bazaar.re-prefix.gitignore",
|
14
|
+
"match": "^RE(:)(?=\\S)"
|
15
|
+
},
|
16
|
+
{
|
17
|
+
"name": "keyword.operator.logical.not.negation.elevated.bazaar.gitignore",
|
18
|
+
"match": "^!!(?=\\S)"
|
19
|
+
}
|
20
|
+
]
|
21
|
+
},
|
22
|
+
"comment": {
|
23
|
+
"name": "comment.line.number-sign.gitignore",
|
24
|
+
"begin": "#",
|
25
|
+
"end": "$",
|
26
|
+
"beginCaptures": {
|
27
|
+
"0": {
|
28
|
+
"name": "punctuation.definition.comment.gitignore"
|
29
|
+
}
|
30
|
+
}
|
31
|
+
},
|
32
|
+
"cvsSyntax": {
|
33
|
+
"match": "\\A(syntax)(:)\\s+(glob)$",
|
34
|
+
"captures": {
|
35
|
+
"1": {
|
36
|
+
"name": "variable.parameter.assignment.glob-syntax.cvs.gitignore"
|
37
|
+
},
|
38
|
+
"2": {
|
39
|
+
"name": "keyword.operator.assignment.separator.key-value.cvs.gitignore"
|
40
|
+
},
|
41
|
+
"3": {
|
42
|
+
"name": "support.constant.language.syntax-type.cvs.gitignore"
|
43
|
+
}
|
44
|
+
}
|
45
|
+
},
|
46
|
+
"escape": {
|
47
|
+
"name": "constant.character.escape.backslash.gitignore",
|
48
|
+
"match": "(\\\\).",
|
49
|
+
"captures": {
|
50
|
+
"1": {
|
51
|
+
"name": "punctuation.definition.escape.backslash.gitignore"
|
52
|
+
}
|
53
|
+
}
|
54
|
+
},
|
55
|
+
"main": {
|
56
|
+
"patterns": [
|
57
|
+
{
|
58
|
+
"include": "#comment"
|
59
|
+
},
|
60
|
+
{
|
61
|
+
"include": "#cvsSyntax"
|
62
|
+
},
|
63
|
+
{
|
64
|
+
"include": "#pattern"
|
65
|
+
},
|
66
|
+
{
|
67
|
+
"include": "#escape"
|
68
|
+
}
|
69
|
+
]
|
70
|
+
},
|
71
|
+
"pattern": {
|
72
|
+
"name": "meta.pattern.gitignore",
|
73
|
+
"begin": "(?=[^#\\s])",
|
74
|
+
"end": "$|(?=#)",
|
75
|
+
"patterns": [
|
76
|
+
{
|
77
|
+
"include": "#bazaarPrefixes"
|
78
|
+
},
|
79
|
+
{
|
80
|
+
"include": "#patternInnards"
|
81
|
+
}
|
82
|
+
]
|
83
|
+
},
|
84
|
+
"patternInnards": {
|
85
|
+
"patterns": [
|
86
|
+
{
|
87
|
+
"include": "#escape"
|
88
|
+
},
|
89
|
+
{
|
90
|
+
"include": "#range"
|
91
|
+
},
|
92
|
+
{
|
93
|
+
"name": "keyword.operator.logical.not.negation.gitignore",
|
94
|
+
"match": "\\G!"
|
95
|
+
},
|
96
|
+
{
|
97
|
+
"name": "keyword.operator.glob.wildcard.globstar.gitignore",
|
98
|
+
"match": "\\*\\*"
|
99
|
+
},
|
100
|
+
{
|
101
|
+
"name": "keyword.operator.glob.wildcard.gitignore",
|
102
|
+
"match": "[*?]"
|
103
|
+
},
|
104
|
+
{
|
105
|
+
"name": "punctuation.directory.separator.meta.gitignore",
|
106
|
+
"match": "/"
|
107
|
+
},
|
108
|
+
{
|
109
|
+
"name": "entity.other.file.name.gitignore",
|
110
|
+
"match": "[^\\[\\]\\\\*?#/\\s]+"
|
111
|
+
}
|
112
|
+
]
|
113
|
+
},
|
114
|
+
"range": {
|
115
|
+
"name": "meta.character-range.gitignore",
|
116
|
+
"contentName": "constant.character.class.gitignore",
|
117
|
+
"begin": "\\[",
|
118
|
+
"end": "\\]|(?=$)",
|
119
|
+
"patterns": [
|
120
|
+
{
|
121
|
+
"include": "#escape"
|
122
|
+
},
|
123
|
+
{
|
124
|
+
"name": "punctuation.delimiter.range.character-set.gitignore",
|
125
|
+
"match": "-"
|
126
|
+
}
|
127
|
+
],
|
128
|
+
"beginCaptures": {
|
129
|
+
"0": {
|
130
|
+
"name": "punctuation.definition.square.bracket.begin.gitignore"
|
131
|
+
}
|
132
|
+
},
|
133
|
+
"endCaptures": {
|
134
|
+
"0": {
|
135
|
+
"name": "punctuation.definition.square.bracket.end.gitignore"
|
136
|
+
}
|
137
|
+
}
|
138
|
+
}
|
139
|
+
}
|
140
|
+
}
|
@@ -190,6 +190,12 @@
|
|
190
190
|
},
|
191
191
|
{
|
192
192
|
"include": "#graphql-enum-value"
|
193
|
+
},
|
194
|
+
{
|
195
|
+
"include": "#graphql-blockstring-value"
|
196
|
+
},
|
197
|
+
{
|
198
|
+
"include": "#graphql-string-value"
|
193
199
|
}
|
194
200
|
],
|
195
201
|
"beginCaptures": {
|
@@ -770,6 +776,12 @@
|
|
770
776
|
},
|
771
777
|
{
|
772
778
|
"include": "#graphql-type-definition"
|
779
|
+
},
|
780
|
+
{
|
781
|
+
"include": "#graphql-blockstring-value"
|
782
|
+
},
|
783
|
+
{
|
784
|
+
"include": "#graphql-string-value"
|
773
785
|
}
|
774
786
|
],
|
775
787
|
"beginCaptures": {
|
@@ -940,6 +952,12 @@
|
|
940
952
|
},
|
941
953
|
{
|
942
954
|
"include": "#graphql-variable-definition"
|
955
|
+
},
|
956
|
+
{
|
957
|
+
"include": "#graphql-blockstring-value"
|
958
|
+
},
|
959
|
+
{
|
960
|
+
"include": "#graphql-string-value"
|
943
961
|
}
|
944
962
|
],
|
945
963
|
"captures": {
|
@@ -24,29 +24,29 @@
|
|
24
24
|
"name": "comment.line.number-sign.haproxy-config",
|
25
25
|
"match": "#.+$"
|
26
26
|
},
|
27
|
-
{
|
28
|
-
"name": "constant.numeric.haproxy-config",
|
29
|
-
"match": "\\b[0-9]+([\\.:][0-9]+)*[a-z]?\\b"
|
30
|
-
},
|
31
27
|
{
|
32
28
|
"name": "variable.parameter.ip-port.haproxy-config",
|
33
29
|
"match": "(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})?:\\d{1,5}"
|
34
30
|
},
|
31
|
+
{
|
32
|
+
"name": "constant.numeric.haproxy-config",
|
33
|
+
"match": "\\b[0-9]+([\\.:][0-9]+)*[a-z]?\\b"
|
34
|
+
},
|
35
35
|
{
|
36
36
|
"name": "keyword.other.no-validate-params.haproxy-config",
|
37
37
|
"match": "^\\s*(acl|appsession|backlog|balance|bind|bind-process|block|clitimeout|compression|contimeout|cookie|default-server|default_backend|description|disabled|dispatch|enabled|errorfile|errorloc|errorloc302|errorloc303|filter|force-persist|fullconn|grace|hash-type|http-request|http-response|http-reuse|http-send-name-header|id|ignore-persist|load-server-state-from-file|log|log-format|log-format-sd|log-tag|max-keep-alive-queue|maxconn|mode|monitor-net|monitor-uri|redirect|redisp|redispatch|reqadd|reqallow|reqdel|reqdeny|reqiallow|reqidel|reqideny|reqipass|reqirep|reqitarpit|reqpass|reqrep|reqtarpit|retries|rspadd|rspdel|rspdeny|rspidel|rspideny|rspirep|rsprep|server|server-state-file-name|server-template|source|srvtimeout|stick-table|transparent|unique-id-format|unique-id-header|use-server|use_backend)\\b"
|
38
38
|
},
|
39
39
|
{
|
40
40
|
"name": "keyword.other.no-validate-params.haproxy-config",
|
41
|
-
"match": "^\\s*(51degrees-cache-size|51degrees-data-file|51degrees-property-name-list|51degrees-property-separator|ca-base|chroot|cpu-map|crt-base|daemon|debug|description|deviceatlas-json-file|deviceatlas-log-level|deviceatlas-properties-cookie|deviceatlas-separator|external-check|gid|group|hard-stop-after|log|log-send-hostname|log-tag|lua-load|max-spread-checks|maxcompcpuusage|maxcomprate|maxconn|maxconnrate|maxpipes|maxsessrate|maxsslconn|maxsslrate|maxzlibmem|nbproc|nbthread|node|noepoll|nogetaddrinfo|nokqueue|nopoll|noreuseport|nosplice|pidfile|presetenv|quiet|resetenv|server-state-base|server-state-file|setenv|spread-checks|ssl-default-bind-ciphers|ssl-default-bind-options|ssl-default-server-ciphers|ssl-default-server-options|ssl-dh-param-file|ssl-engine|ssl-mode-async|ssl-server-verify|stats|tune.buffers.limit|tune.buffers.reserve|tune.bufsize|tune.chksize|tune.comp.maxlevel|tune.h2.header-table-size|tune.h2.initial-window-size|tune.h2.max-concurrent-streams|tune.http.cookielen|tune.http.logurilen|tune.http.maxhdr|tune.idletimer|tune.lua.forced-yield|tune.lua.maxmem|tune.lua.service-timeout|tune.lua.session-timeout|tune.lua.task-timeout|tune.maxaccept|tune.maxpollevents|tune.maxrewrite|tune.pattern.cache-size|tune.pipesize|tune.rcvbuf.client|tune.rcvbuf.server|tune.recv_enough|tune.sndbuf.client|tune.sndbuf.server|tune.ssl.cachesize|tune.ssl.capture-cipherlist-size|tune.ssl.default-dh-param|tune.ssl.force-private-cache|tune.ssl.lifetime|tune.ssl.maxrecord|tune.ssl.ssl-ctx-cache-size|tune.vars.global-max-size|tune.vars.proc-max-size|tune.vars.reqres-max-size|tune.vars.sess-max-size|tune.vars.txn-max-size|tune.zlib.memlevel|tune.zlib.windowsize|uid|ulimit-n|unix-bind|unsetenv|user|wurfl-cache-size|wurfl-data-file|wurfl-engine-mode|wurfl-information-list|wurfl-information-list-separator|wurfl-useragent-priority)\\b"
|
41
|
+
"match": "^\\s*(51degrees-cache-size|51degrees-data-file|51degrees-property-name-list|51degrees-property-separator|ca-base|chroot|cpu-map|crt-base|daemon|debug|description|deviceatlas-json-file|deviceatlas-log-level|deviceatlas-properties-cookie|deviceatlas-separator|external-check|gid|group|hard-stop-after|log|log-send-hostname|log-tag|lua-load|max-spread-checks|maxcompcpuusage|maxcomprate|maxconn|maxconnrate|maxpipes|maxsessrate|maxsslconn|maxsslrate|maxzlibmem|nbproc|nbthread|node|noepoll|nogetaddrinfo|nokqueue|nopoll|noreuseport|nosplice|pidfile|presetenv|quiet|resetenv|server-state-base|server-state-file|setenv|spread-checks|ssl-default-bind-ciphers|ssl-default-bind-ciphersuites|ssl-default-bind-options|ssl-default-server-ciphers|ssl-default-server-ciphersuites|ssl-default-server-options|ssl-dh-param-file|ssl-engine|ssl-mode-async|ssl-server-verify|stats|tune.buffers.limit|tune.buffers.reserve|tune.bufsize|tune.chksize|tune.comp.maxlevel|tune.h2.header-table-size|tune.h2.initial-window-size|tune.h2.max-concurrent-streams|tune.http.cookielen|tune.http.logurilen|tune.http.maxhdr|tune.idletimer|tune.lua.forced-yield|tune.lua.maxmem|tune.lua.service-timeout|tune.lua.session-timeout|tune.lua.task-timeout|tune.maxaccept|tune.maxpollevents|tune.maxrewrite|tune.pattern.cache-size|tune.pipesize|tune.rcvbuf.client|tune.rcvbuf.server|tune.recv_enough|tune.sndbuf.client|tune.sndbuf.server|tune.ssl.cachesize|tune.ssl.capture-cipherlist-size|tune.ssl.default-dh-param|tune.ssl.force-private-cache|tune.ssl.lifetime|tune.ssl.maxrecord|tune.ssl.ssl-ctx-cache-size|tune.vars.global-max-size|tune.vars.proc-max-size|tune.vars.reqres-max-size|tune.vars.sess-max-size|tune.vars.txn-max-size|tune.zlib.memlevel|tune.zlib.windowsize|uid|ulimit-n|unix-bind|unsetenv|user|wurfl-cache-size|wurfl-data-file|wurfl-engine-mode|wurfl-information-list|wurfl-information-list-separator|wurfl-useragent-priority)\\b"
|
42
42
|
},
|
43
43
|
{
|
44
44
|
"name": "keyword.other.no-validate-params.haproxy-config",
|
45
|
-
"match": "\\s+(mailer|timeout)(?=\\s
|
45
|
+
"match": "\\s+(mailer|timeout)(?=\\s+|$)"
|
46
46
|
},
|
47
47
|
{
|
48
48
|
"name": "keyword.other.no-validate-params.haproxy-config",
|
49
|
-
"match": "\\s+(disabled|enable|peer)(?=\\s
|
49
|
+
"match": "\\s+(disabled|enable|peer)(?=\\s+|$)"
|
50
50
|
},
|
51
51
|
{
|
52
52
|
"name": "keyword.other.no-validate-params.haproxy-config",
|
@@ -54,15 +54,15 @@
|
|
54
54
|
},
|
55
55
|
{
|
56
56
|
"name": "variable.language.reserved.haproxy-config",
|
57
|
-
"match": "\\s+(abortonclose|accept-invalid-http-request|accept-invalid-http-response|admin|allbackups|auth|capture|check|checkcache|client|client-fin|clitcpka|clitimeout|command|connect|connection|content|contimeout|contstats|cookie|disable-on-404|dontlog-normal|dontlognull|enable|expect|external-check|fail|forceclose|forwardfor|from|hide-version|http-buffer-request|http-ignore-probes|http-keep-alive|http-no-delay|http-pretend-keepalive|http-request|http-server-close|http-tunnel|http-use-proxy-header|http_proxy|httpchk|httpclose|httplog|independent-streams|inspect-delay|ldap-check|level|log-health-checks|log-separate-errors|logasap|mailers|match|myhostname|mysql-check|nolinger|on|originalto|path|persist|pgsql-check|prefer-last-server|queue|rdp-cookie|realm|redis-check|redispatch|refresh|scope|send|send-binary|send-state|server|server-fin|session|sessions|show-desc|show-legends|show-node|smtpchk|socket-stats|splice-auto|splice-request|splice-response|spop-check|srvtcpka|srvtimeout|ssl-hello-chk|store-request|store-response|tarpit|tcp-check|tcp-smart-accept|tcp-smart-connect|tcpka|tcplog|to|transparent|tunnel|uri)(?=\\s
|
57
|
+
"match": "\\s+(abortonclose|accept-invalid-http-request|accept-invalid-http-response|admin|allbackups|auth|capture|check|checkcache|client|client-fin|clitcpka|clitimeout|command|connect|connection|content|contimeout|contstats|cookie|disable-on-404|dontlog-normal|dontlognull|enable|expect|external-check|fail|forceclose|forwardfor|from|hide-version|http-buffer-request|http-ignore-probes|http-keep-alive|http-no-delay|http-pretend-keepalive|http-request|http-server-close|http-tunnel|http-use-proxy-header|http_proxy|httpchk|httpclose|httplog|independent-streams|inspect-delay|ldap-check|level|log-health-checks|log-separate-errors|logasap|mailers|match|myhostname|mysql-check|nolinger|on|originalto|path|persist|pgsql-check|prefer-last-server|queue|rdp-cookie|realm|redis-check|redispatch|refresh|scope|send|send-binary|send-state|server|server-fin|session|sessions|show-desc|show-legends|show-node|smtpchk|socket-stats|splice-auto|splice-request|splice-response|spop-check|srvtcpka|srvtimeout|ssl-hello-chk|store-request|store-response|tarpit|tcp-check|tcp-smart-accept|tcp-smart-connect|tcpka|tcplog|to|transparent|tunnel|uri)(?=\\s+|$)"
|
58
58
|
},
|
59
59
|
{
|
60
60
|
"name": "variable.language.reserved.haproxy-config",
|
61
|
-
"match": "\\s+(accept-netscaler-cip|accept-proxy|allow-0rtt|alpn|backlog|ca-file|ca-ignore-err|ca-sign-file|ca-sign-pass|ciphers|crl-file|crt|crt-ignore-err|crt-list|curves|defer-accept|ecdhe|expose-fd|force-sslv3|force-tlsv10|force-tlsv11|force-tlsv12|force-tlsv13|generate-certificates|gid|group|id|interface|level|maxconn|mode|mss|name|namespace|nice|no-ca-names|no-sslv3|no-tls-tickets|no-tlsv10|no-tlsv11|no-tlsv12|no-tlsv13|npn|prefer-client-ciphers|process|severity-output|ssl|ssl-max-ver|ssl-min-ver|strict-sni|tcp-ut|tfo|tls-ticket-keys|transparent|uid|user|v4v6|v6only|verify)(?=\\s
|
61
|
+
"match": "\\s+(accept-netscaler-cip|accept-proxy|allow-0rtt|alpn|backlog|ca-file|ca-ignore-err|ca-sign-file|ca-sign-pass|ciphers|ciphersuites|crl-file|crt|crt-ignore-err|crt-list|curves|defer-accept|ecdhe|expose-fd|force-sslv3|force-tlsv10|force-tlsv11|force-tlsv12|force-tlsv13|generate-certificates|gid|group|id|interface|level|maxconn|mode|mss|name|namespace|nice|no-ca-names|no-sslv3|no-tls-tickets|no-tlsv10|no-tlsv11|no-tlsv12|no-tlsv13|npn|prefer-client-ciphers|process|severity-output|ssl|ssl-max-ver|ssl-min-ver|strict-sni|tcp-ut|tfo|tls-ticket-keys|transparent|uid|user|v4v6|v6only|verify)(?=\\s+|$)"
|
62
62
|
},
|
63
63
|
{
|
64
64
|
"name": "variable.language.reserved.haproxy-config",
|
65
|
-
"match": "\\s+(addr|agent-addr|agent-check|agent-inter|agent-port|agent-send|backup|ca-file|check|check-send-proxy|check-sni|check-ssl|ciphers|cookie|crl-file|crt|disabled|downinter|enabled|error-limit|fall|fastinter|force-sslv3|force-tlsv10|force-tlsv11|force-tlsv12|force-tlsv13|id|init-addr|inter|maxconn|maxqueue|minconn|namespace|no-agent-check|no-backup|no-check|no-check-ssl|no-send-proxy|no-send-proxy-v2|no-send-proxy-v2-ssl|no-send-proxy-v2-ssl-cn|no-ssl|no-ssl-reuse|no-sslv3|no-tls-tickets|no-tlsv10|no-tlsv11|no-tlsv12|no-tlsv13|no-verifyhost|non-stick|observe|on-error|on-marked-down|on-marked-up|port|redir|resolve-net|resolve-opts|resolve-prefer|resolvers|rise|send-proxy|send-proxy-v2|send-proxy-v2-ssl|send-proxy-v2-ssl-cn|slowstart|sni|source|ssl|ssl-max-ver|ssl-min-ver|ssl-reuse|stick|tcp-ut|tls-tickets|track|verify|verifyhost|weight)(?=\\s
|
65
|
+
"match": "\\s+(addr|agent-addr|agent-check|agent-inter|agent-port|agent-send|backup|ca-file|check|check-send-proxy|check-sni|check-ssl|ciphers|ciphersuites|cookie|crl-file|crt|disabled|downinter|enabled|error-limit|fall|fastinter|force-sslv3|force-tlsv10|force-tlsv11|force-tlsv12|force-tlsv13|id|init-addr|inter|maxconn|maxqueue|minconn|namespace|no-agent-check|no-backup|no-check|no-check-ssl|no-send-proxy|no-send-proxy-v2|no-send-proxy-v2-ssl|no-send-proxy-v2-ssl-cn|no-ssl|no-ssl-reuse|no-sslv3|no-tls-tickets|no-tlsv10|no-tlsv11|no-tlsv12|no-tlsv13|no-verifyhost|non-stick|observe|on-error|on-marked-down|on-marked-up|port|redir|resolve-net|resolve-opts|resolve-prefer|resolvers|rise|send-proxy|send-proxy-v2|send-proxy-v2-ssl|send-proxy-v2-ssl-cn|slowstart|sni|source|ssl|ssl-max-ver|ssl-min-ver|ssl-reuse|stick|tcp-ut|tls-tickets|track|verify|verifyhost|weight)(?=\\s+|$)"
|
66
66
|
},
|
67
67
|
{
|
68
68
|
"name": "variable.language.reserved.haproxy-config",
|
@@ -256,6 +256,9 @@
|
|
256
256
|
{
|
257
257
|
"include": "#deriving"
|
258
258
|
},
|
259
|
+
{
|
260
|
+
"include": "#via"
|
261
|
+
},
|
259
262
|
{
|
260
263
|
"include": "#assignment_op"
|
261
264
|
},
|
@@ -354,7 +357,7 @@
|
|
354
357
|
{
|
355
358
|
"name": "meta.declaration.instance.deriving.haskell",
|
356
359
|
"contentName": "meta.type-signature.haskell",
|
357
|
-
"begin": "^([ \\t]*)(deriving\\s+instance)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
|
360
|
+
"begin": "^([ \\t]*)(?:(deriving)(?:\\s+([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*))?)\\s+(instance)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
|
358
361
|
"end": "^(?!\\1[ \\t]|[ \\t]*$)",
|
359
362
|
"patterns": [
|
360
363
|
{
|
@@ -362,11 +365,24 @@
|
|
362
365
|
},
|
363
366
|
{
|
364
367
|
"include": "#type_signature"
|
368
|
+
},
|
369
|
+
{
|
370
|
+
"include": "#deriving_via"
|
365
371
|
}
|
366
372
|
],
|
367
373
|
"beginCaptures": {
|
368
374
|
"2": {
|
369
375
|
"name": "keyword.other.haskell"
|
376
|
+
},
|
377
|
+
"3": {
|
378
|
+
"patterns": [
|
379
|
+
{
|
380
|
+
"include": "#deriving_strategies"
|
381
|
+
}
|
382
|
+
]
|
383
|
+
},
|
384
|
+
"4": {
|
385
|
+
"name": "keyword.other.haskell"
|
370
386
|
}
|
371
387
|
}
|
372
388
|
}
|
@@ -376,10 +392,17 @@
|
|
376
392
|
"patterns": [
|
377
393
|
{
|
378
394
|
"name": "meta.deriving.haskell",
|
379
|
-
"match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(deriving)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
|
395
|
+
"match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(?:(deriving)(?:\\s+([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*))?)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
|
380
396
|
"captures": {
|
381
397
|
"1": {
|
382
398
|
"name": "keyword.other.haskell"
|
399
|
+
},
|
400
|
+
"2": {
|
401
|
+
"patterns": [
|
402
|
+
{
|
403
|
+
"include": "#deriving_strategies"
|
404
|
+
}
|
405
|
+
]
|
383
406
|
}
|
384
407
|
}
|
385
408
|
}
|
@@ -389,7 +412,7 @@
|
|
389
412
|
"patterns": [
|
390
413
|
{
|
391
414
|
"name": "meta.deriving.haskell",
|
392
|
-
"begin": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(deriving)\\s*\\(",
|
415
|
+
"begin": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(?:(deriving)(?:\\s+([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*))?)\\s*\\(",
|
393
416
|
"end": "\\)",
|
394
417
|
"patterns": [
|
395
418
|
{
|
@@ -404,6 +427,13 @@
|
|
404
427
|
"beginCaptures": {
|
405
428
|
"1": {
|
406
429
|
"name": "keyword.other.haskell"
|
430
|
+
},
|
431
|
+
"2": {
|
432
|
+
"patterns": [
|
433
|
+
{
|
434
|
+
"include": "#deriving_strategies"
|
435
|
+
}
|
436
|
+
]
|
407
437
|
}
|
408
438
|
}
|
409
439
|
}
|
@@ -413,18 +443,38 @@
|
|
413
443
|
"patterns": [
|
414
444
|
{
|
415
445
|
"name": "meta.deriving.haskell",
|
416
|
-
"match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(deriving)\\s*([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
|
446
|
+
"match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(?:(deriving)(?:\\s+([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*))?)\\s*([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
|
417
447
|
"captures": {
|
418
448
|
"1": {
|
419
449
|
"name": "keyword.other.haskell"
|
420
450
|
},
|
421
451
|
"2": {
|
452
|
+
"patterns": [
|
453
|
+
{
|
454
|
+
"include": "#deriving_strategies"
|
455
|
+
}
|
456
|
+
]
|
457
|
+
},
|
458
|
+
"3": {
|
422
459
|
"name": "entity.other.inherited-class.haskell"
|
423
460
|
}
|
424
461
|
}
|
425
462
|
}
|
426
463
|
]
|
427
464
|
},
|
465
|
+
"deriving_strategies": {
|
466
|
+
"patterns": [
|
467
|
+
{
|
468
|
+
"name": "meta.deriving.strategy.haskell",
|
469
|
+
"match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(stock|newtype|anyclass)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
|
470
|
+
"captures": {
|
471
|
+
"1": {
|
472
|
+
"name": "keyword.other.haskell"
|
473
|
+
}
|
474
|
+
}
|
475
|
+
}
|
476
|
+
]
|
477
|
+
},
|
428
478
|
"double_colon_operator": {
|
429
479
|
"patterns": [
|
430
480
|
{
|
@@ -1477,6 +1527,71 @@
|
|
1477
1527
|
}
|
1478
1528
|
]
|
1479
1529
|
},
|
1530
|
+
"via": {
|
1531
|
+
"patterns": [
|
1532
|
+
{
|
1533
|
+
"include": "#via_list"
|
1534
|
+
},
|
1535
|
+
{
|
1536
|
+
"include": "#via_simple"
|
1537
|
+
},
|
1538
|
+
{
|
1539
|
+
"include": "#via_keyword"
|
1540
|
+
}
|
1541
|
+
]
|
1542
|
+
},
|
1543
|
+
"via_keyword": {
|
1544
|
+
"patterns": [
|
1545
|
+
{
|
1546
|
+
"name": "meta.via.haskell",
|
1547
|
+
"match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(via)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
|
1548
|
+
"captures": {
|
1549
|
+
"1": {
|
1550
|
+
"name": "keyword.other.haskell"
|
1551
|
+
}
|
1552
|
+
}
|
1553
|
+
}
|
1554
|
+
]
|
1555
|
+
},
|
1556
|
+
"via_list": {
|
1557
|
+
"patterns": [
|
1558
|
+
{
|
1559
|
+
"name": "meta.via.haskell",
|
1560
|
+
"begin": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(via)\\s*\\(",
|
1561
|
+
"end": "\\)",
|
1562
|
+
"patterns": [
|
1563
|
+
{
|
1564
|
+
"include": "#type_signature"
|
1565
|
+
}
|
1566
|
+
],
|
1567
|
+
"beginCaptures": {
|
1568
|
+
"1": {
|
1569
|
+
"name": "keyword.other.haskell"
|
1570
|
+
}
|
1571
|
+
}
|
1572
|
+
}
|
1573
|
+
]
|
1574
|
+
},
|
1575
|
+
"via_simple": {
|
1576
|
+
"patterns": [
|
1577
|
+
{
|
1578
|
+
"name": "meta.via.haskell",
|
1579
|
+
"match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(via)\\s*([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
|
1580
|
+
"captures": {
|
1581
|
+
"1": {
|
1582
|
+
"name": "keyword.other.haskell"
|
1583
|
+
},
|
1584
|
+
"2": {
|
1585
|
+
"patterns": [
|
1586
|
+
{
|
1587
|
+
"include": "#type_signature"
|
1588
|
+
}
|
1589
|
+
]
|
1590
|
+
}
|
1591
|
+
}
|
1592
|
+
}
|
1593
|
+
]
|
1594
|
+
},
|
1480
1595
|
"where": {
|
1481
1596
|
"patterns": [
|
1482
1597
|
{
|
@@ -0,0 +1,34 @@
|
|
1
|
+
{
|
2
|
+
"name": ".hgignore",
|
3
|
+
"scopeName": "source.hgignore",
|
4
|
+
"patterns": [
|
5
|
+
{
|
6
|
+
"include": "#main"
|
7
|
+
}
|
8
|
+
],
|
9
|
+
"repository": {
|
10
|
+
"main": {
|
11
|
+
"patterns": [
|
12
|
+
{
|
13
|
+
"include": "source.regexp"
|
14
|
+
},
|
15
|
+
{
|
16
|
+
"name": "keyword.operator.logical.not.negation.hgignore",
|
17
|
+
"match": "^!"
|
18
|
+
},
|
19
|
+
{
|
20
|
+
"match": "[^\\s$^]+",
|
21
|
+
"captures": {
|
22
|
+
"0": {
|
23
|
+
"patterns": [
|
24
|
+
{
|
25
|
+
"include": "source.gitignore#patternInnards"
|
26
|
+
}
|
27
|
+
]
|
28
|
+
}
|
29
|
+
}
|
30
|
+
}
|
31
|
+
]
|
32
|
+
}
|
33
|
+
}
|
34
|
+
}
|