diff options
| author | Armand Philippot <git@armandphilippot.com> | 2021-12-30 19:47:21 +0100 |
|---|---|---|
| committer | Armand Philippot <git@armandphilippot.com> | 2021-12-30 19:47:21 +0100 |
| commit | a98b5ea6fe8e8cc98a55e0fd793e6e8660ea31c1 (patch) | |
| tree | 542810ab5aef99150db228bb54fd58303dcb31c7 /public/prism/prism-vhdl.js | |
| parent | ab355897a12b7bda1089a44de326d41455a0f7a3 (diff) | |
chore: add prismjs for syntax highlighting
Diffstat (limited to 'public/prism/prism-vhdl.js')
| -rw-r--r-- | public/prism/prism-vhdl.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/public/prism/prism-vhdl.js b/public/prism/prism-vhdl.js new file mode 100644 index 0000000..3ec6bce --- /dev/null +++ b/public/prism/prism-vhdl.js @@ -0,0 +1,25 @@ +Prism.languages.vhdl = { + comment: /--.+/, + // support for all logic vectors + 'vhdl-vectors': { + pattern: /\b[oxb]"[\da-f_]+"|"[01uxzwlh-]+"/i, + alias: 'number', + }, + // support for operator overloading included + 'quoted-function': { + pattern: /"\S+?"(?=\()/, + alias: 'function', + }, + string: /"(?:[^\\"\r\n]|\\(?:\r\n|[\s\S]))*"/, + constant: /\b(?:library|use)\b/i, + // support for predefined attributes included + keyword: + /\b(?:'active|'ascending|'base|'delayed|'driving|'driving_value|'event|'high|'image|'instance_name|'last_active|'last_event|'last_value|'left|'leftof|'length|'low|'path_name|'pos|'pred|'quiet|'range|'reverse_range|'right|'rightof|'simple_name|'stable|'succ|'transaction|'val|'value|access|after|alias|all|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|new|next|null|of|on|open|others|out|package|port|postponed|procedure|process|pure|range|record|register|reject|report|return|select|severity|shared|signal|subtype|then|to|transport|type|unaffected|units|until|use|variable|wait|when|while|with)\b/i, + boolean: /\b(?:false|true)\b/i, + function: /\w+(?=\()/, + // decimal, based, physical, and exponential numbers supported + number: /'[01uxzwlh-]'|\b(?:\d+#[\da-f_.]+#|\d[\d_.]*)(?:e[-+]?\d+)?/i, + operator: + /[<>]=?|:=|[-+*/&=]|\b(?:abs|and|mod|nand|nor|not|or|rem|rol|ror|sla|sll|sra|srl|xnor|xor)\b/i, + punctuation: /[{}[\];(),.:]/, +}; |
