prism-react-editor
Version:
Lightweight, extensible code editor component for React apps
45 lines (44 loc) • 1.43 kB
JavaScript
import { l as languages } from "../../index-k28m3HFc.js";
import { i as insertBefore, e as extend } from "../../language-gdIi4UL0-CMkpAmgk.js";
import "./clike.js";
var builtinTypes = /\b(?:bool|bytes|double|s?fixed(?:32|64)|float|[su]?int(?:32|64)|string)\b/;
insertBefore(
languages.protobuf = extend("clike", {
"class-name": [
{
pattern: /(\b(?:enum|extend|message|service)\s+)(?!\d)\w+(?=\s*\{)/,
lookbehind: true
},
{
pattern: /(\b(?:rpc\s+\w+|returns)\s*\(\s*(?:stream\s+)?)\.?(?!\d)\w+(?:\.(?!\d)\w+)*(?=\s*\))/,
lookbehind: true
}
],
"keyword": /\b(?:enum|extend|extensions|import|message|oneof|option|optional|package|public|repeated|required|reserved|returns|rpc(?=\s+\w)|service|stream|syntax|to)\b(?!\s*=\s*\d)/,
"function": /\b[a-z_]\w*(?=\s*\()/i
}),
"operator",
{
"map": {
pattern: /\bmap<\s*[\w.]+\s*,\s*[\w.]+\s*>(?=\s+[a-z_]\w*\s*[=;])/i,
alias: "class-name",
inside: {
"punctuation": /[<>.,]/,
"builtin": builtinTypes
}
},
"builtin": builtinTypes,
"positional-class-name": {
pattern: /(?:\b|\B\.)[a-z_]\w*(?:\.[a-z_]\w*)*(?=\s+[a-z_]\w*\s*[=;])/i,
alias: "class-name",
inside: {
"punctuation": /\./
}
},
"annotation": {
pattern: /(\[\s*)[a-z_]\w*(?=\s*=)/i,
lookbehind: true
}
}
);
//# sourceMappingURL=protobuf.js.map