Skip to content

Commit

Permalink
Merge branch 'master' into issue2909
Browse files Browse the repository at this point in the history
  • Loading branch information
RunDevelopment committed Sep 6, 2021
2 parents 32b8313 + 87e5a37 commit dac2419
Show file tree
Hide file tree
Showing 37 changed files with 1,030 additions and 15 deletions.
2 changes: 1 addition & 1 deletion components.js

Large diffs are not rendered by default.

12 changes: 11 additions & 1 deletion components.json
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,11 @@
"title": "AutoIt",
"owner": "Golmote"
},
"avro-idl": {
"title":"Avro IDL",
"alias": "avdl",
"owner": "RunDevelopment"
},
"bash": {
"title": "Bash",
"alias": "shell",
Expand Down Expand Up @@ -466,6 +471,11 @@
"require": "c",
"owner": "Golmote"
},
"gn": {
"title": "GN",
"alias": "gni",
"owner": "RunDevelopment"
},
"go": {
"title": "Go",
"require": "clike",
Expand Down Expand Up @@ -1464,7 +1474,7 @@
},
"highlight-keywords": {
"title": "Highlight Keywords",
"description": "Adds special CSS classes for each keyword matched in the code. For example, the keyword <code>if</code> will have the class <code>keyword-if</code> as well. You can have fine grained control over the appearance of each keyword by providing your own CSS rules.",
"description": "Adds special CSS classes for each keyword for fine-grained highlighting.",
"owner": "vkbansal",
"noCSS": true
},
Expand Down
57 changes: 57 additions & 0 deletions components/prism-avro-idl.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
// GitHub: https://github.com/apache/avro
// Docs: https://avro.apache.org/docs/current/idl.html

Prism.languages['avro-idl'] = {
'comment': {
pattern: /\/\/.*|\/\*[\s\S]*?\*\//,
greedy: true
},
'string': [
{
pattern: /(^|[^\\])"(?:[^\r\n"\\]|\\.)*"/,
lookbehind: true,
greedy: true
},
{
pattern: /(^|[^\\])'(?:[^\r\n'\\]|\\(?:[\s\S]|\d{1,3}))'/,
lookbehind: true,
greedy: true
}
],

'annotation': {
pattern: /@(?:[$\w.-]|`[^\r\n`]+`)+/,
greedy: true,
alias: 'function'
},
'function-identifier': {
pattern: /`[^\r\n`]+`(?=\s*\()/,
greedy: true,
alias: 'function'
},
'identifier': {
pattern: /`[^\r\n`]+`/,
greedy: true
},

'class-name': {
pattern: /(\b(?:enum|error|protocol|record|throws)\b\s+)[$\w]+/,
lookbehind: true,
greedy: true
},
'keyword': /\b(?:array|boolean|bytes|date|decimal|double|enum|error|false|fixed|float|idl|import|int|local_timestamp_ms|long|map|null|oneway|protocol|record|schema|string|throws|time_ms|timestamp_ms|true|union|uuid|void)\b/,
'function': /\b[a-z_]\w*(?=\s*\()/i,

'number': [
{
pattern: /(^|[^\w.])-?(?:(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|0x(?:[a-f0-9]+(?:\.[a-f0-9]*)?|\.[a-f0-9]+)(?:p[+-]?\d+)?)[dfl]?(?![\w.])/i,
lookbehind: true
},
/-?\b(?:NaN|Infinity)\b/
],

'operator': /=/,
'punctuation': /[()\[\]{}<>.:,;-]/
};

Prism.languages.avdl = Prism.languages['avro-idl'];
1 change: 1 addition & 0 deletions components/prism-avro-idl.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion components/prism-cpp.js
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@

Prism.languages.insertBefore('cpp', 'keyword', {
'generic-function': {
pattern: /\b[a-z_]\w*\s*<(?:[^<>]|<(?:[^<>])*>)*>(?=\s*\()/i,
pattern: /\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,
inside: {
'function': /^\w+/,
'generic': {
Expand Down
2 changes: 1 addition & 1 deletion components/prism-cpp.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

51 changes: 51 additions & 0 deletions components/prism-gn.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
// https://gn.googlesource.com/gn/+/refs/heads/main/docs/reference.md#grammar

Prism.languages.gn = {
'comment': {
pattern: /#.*/,
greedy: true
},
'string-literal': {
pattern: /(^|[^\\"])"(?:[^\r\n"\\]|\\.)*"/,
lookbehind: true,
greedy: true,
inside: {
'interpolation': {
pattern: /((?:^|[^\\])(?:\\{2})*)\$(?:\{[\s\S]*?\}|[a-zA-Z_]\w*|0x[a-fA-F0-9]{2})/,
lookbehind: true,
inside: {
'number': /^\$0x[\s\S]{2}$/,
'variable': /^\$\w+$/,
'interpolation-punctuation': {
pattern: /^\$\{|\}$/,
alias: 'punctuation'
},
'expression': {
pattern: /[\s\S]+/,
inside: null // see below
}
}
},
'string': /[\s\S]+/
}
},

'keyword': /\b(?:else|if)\b/,
'boolean': /\b(?:true|false)\b/,
'builtin-function': {
// a few functions get special highlighting to improve readability
pattern: /\b(?:assert|defined|foreach|import|pool|print|template|tool|toolchain)(?=\s*\()/i,
alias: 'keyword'
},
'function': /\b[a-z_]\w*(?=\s*\()/i,
'constant': /\b(?:current_cpu|current_os|current_toolchain|default_toolchain|host_cpu|host_os|root_build_dir|root_gen_dir|root_out_dir|target_cpu|target_gen_dir|target_out_dir|target_os)\b/,

'number': /-?\b\d+\b/,

'operator': /[-+!=<>]=?|&&|\|\|/,
'punctuation': /[(){}[\],.]/
};

Prism.languages.gn['string-literal'].inside['interpolation'].inside['expression'].inside = Prism.languages.gn;

Prism.languages.gni = Prism.languages.gn;
1 change: 1 addition & 0 deletions components/prism-gn.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 14 additions & 3 deletions components/prism-shell-session.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,22 @@
'command': {
pattern: RegExp(
// user info
/^(?:[^\s@:$#%*!/\\]+@[^\r\n@:$#%*!/\\]+(?::[^\0-\x1F$#%*?"<>:;|]+)?|[^\0-\x1F$#%*?"<>@:;|]+)?/.source +
/^/.source +
'(?:' +
(
// <user> ":" ( <path> )?
/[^\s@:$#%*!/\\]+@[^\r\n@:$#%*!/\\]+(?::[^\0-\x1F$#%*?"<>:;|]+)?/.source +
'|' +
// <path>
// Since the path pattern is quite general, we will require it to start with a special character to
// prevent false positives.
/[/~.][^\0-\x1F$#%*?"<>@:;|]*/.source
) +
')?' +
// shell symbol
/[$#%]/.source +
/[$#%](?=\s)/.source +
// bash command
/(?:[^\\\r\n'"<$]|\\(?:[^\r]|\r\n?)|\$(?!')|<<str>>)+/.source.replace(/<<str>>/g, function () { return strings; }),
/(?:[^\\\r\n \t'"<$]|[ \t](?:(?!#)|#.*$)|\\(?:[^\r]|\r\n?)|\$(?!')|<(?!<)|<<str>>)+/.source.replace(/<<str>>/g, function () { return strings; }),
'm'
),
greedy: true,
Expand Down
2 changes: 1 addition & 1 deletion components/prism-shell-session.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

44 changes: 44 additions & 0 deletions examples/prism-avro-idl.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
<h2>Full example</h2>
<pre><code>// Source: https://avro.apache.org/docs/current/idl.html#example

/**
* An example protocol in Avro IDL
*/
@namespace("org.apache.avro.test")
protocol Simple {

@aliases(["org.foo.KindOf"])
enum Kind {
FOO,
BAR, // the bar enum value
BAZ
}

fixed MD5(16);

record TestRecord {
@order("ignore")
string name;

@order("descending")
Kind kind;

MD5 hash;

union { MD5, null} @aliases(["hash"]) nullableHash;

array&lt;long> arrayOfLongs;
}

error TestError {
string message;
}

string hello(string greeting);
TestRecord echo(TestRecord `record`);
int add(int arg1, int arg2);
bytes echoBytes(bytes data);
void `error`() throws TestError;
void ping() oneway;
}
</code></pre>
24 changes: 24 additions & 0 deletions examples/prism-gn.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<h2>Full example</h2>
<pre><code># Source: https://gn.googlesource.com/gn/+/main/docs/cross_compiles.md

declare_args() {
# Applies only to toolchains targeting target_cpu.
sysroot = ""
}

config("my_config") {
# Uses current_cpu because compile flags are toolchain-dependent.
if (current_cpu == "arm") {
defines = [ "CPU_IS_32_BIT" ]
} else {
defines = [ "CPU_IS_64_BIT" ]
}
# Compares current_cpu with target_cpu to see whether current_toolchain
# has the same architecture as target_toolchain.
if (sysroot != "" && current_cpu == target_cpu) {
cflags = [
"-isysroot",
sysroot,
]
}
}</code></pre>
2 changes: 2 additions & 0 deletions plugins/autoloader/prism-autoloader.js
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,7 @@
"js": "javascript",
"g4": "antlr4",
"adoc": "asciidoc",
"avdl": "avro-idl",
"shell": "bash",
"shortcode": "bbcode",
"rbnf": "bnf",
Expand All @@ -189,6 +190,7 @@
"xlsx": "excel-formula",
"xls": "excel-formula",
"gamemakerlanguage": "gml",
"gni": "gn",
"hbs": "handlebars",
"hs": "haskell",
"idr": "idris",
Expand Down
Loading

0 comments on commit dac2419

Please sign in to comment.