]> git.lizzy.rs Git - micro.git/blob - runtime/syntax/vhdl.yaml
Merge branch 'python-highlight-zero' of https://github.com/a11ce/micro into a11ce...
[micro.git] / runtime / syntax / vhdl.yaml
1 filetype: vhdl
2
3 detect: 
4     filename: "\\.vhdl?$"
5
6 rules:
7     - type: "(i)\\b(string|integer|natural|positive|(un)?signed|std_u?logic(_vector)?|bit(_vector)?|boolean|u?x01z?|array|range)\\b"
8     - identifier: "(?i)library[[:space:]]+[a-zA-Z_0-9]+"
9     - identifier: "(?i)use[[:space:]]+[a-zA-Z_0-9\\.]+"
10     - identifier: "(?i)component[[:space:]]+[a-zA-Z_0-9]+"
11     - identifier: "(?i)(architecture|configuration)[[:space:]]+[a-zA-Z_0-9]+[[:space:]]+of[[:space:]]+[a-zA-Z_0-9]+"
12     - identifier: "(?i)(entity|package)[[:space:]]+[a-zA-Z_0-9]+[[:space:]]+is"
13     - identifier: "(?i)end[[:space:]]+((architecture|entity|component|process|package|generate)[[:space:]]+)?[a-zA-Z_0-9]+"
14     - statement: "(?i)\\b(abs|access|after|alias|all|and|architecture|assert|attribute)\\b"
15     - statement: "(?i)\\b(begin|block|body|buffer|bus|case|component|configuration|constant)\\b"
16     - statement: "(?i)\\b(disconnect|downto|else|elsif|end|entity|exit)\\b"
17     - statement: "(?i)\\b(file|for|function|generate|generic|guarded)\\b"
18     - statement: "(?i)\\b(if|impure|in|inertial|inout|is)\\b"
19     - statement: "(?i)\\b(label|library|linkage|literal|loop|map|mod)\\b"
20     - statement: "(?i)\\b(nand|new|next|nor|not|null|of|on|open|or|others|out)\\b"
21     - statement: "(?i)\\b(package|port|postponed|procedure|process|pure)\\b"
22     - statement: "(?i)\\b(range|record|register|reject|rem|report|return|rol|ror)\\b"
23     - statement: "(?i)\\b(select|severity|shared|signal|sla|sll|sra|srl|subtype)\\b"
24     - statement: "(?i)\\b(then|to|transport|type|unaffected|units|until|use)\\b"
25     - statement: "(?i)\\b(variable|wait|when|while|with|xnor|xor)\\b"
26     - statement: "(?i)'(base|left|right|high|low|pos|val|succ|pred|leftof|rightof|image|(last_)?value)"
27     - statement: "(?i)'((reverse_)?range|length|ascending|event|stable)"
28     - statement: "(?i)'(simple|path|instance)_name"
29     - statement: "(?i)\\b(std_match|(rising|falling)_edge|is_x)\\b"
30     - statement: "(?i)\\bto_(unsigned|signed|integer|u?x01z?|stdu?logic(vector)?)\\b"
31     - symbol.operator: "(\\+|-|\\*|/|&|<|>|=|\\.|:)"
32     - constant.number: "(?i)'([0-1]|u|x|z|w|l|h|-)'|[box]?\"([0-1a-fA-F]|u|x|z|w|l|h|-)+\""
33     - constant.number: "(?i)\\b[0-9\\._]+(e[\\-]?[0-9]+)?( ?[fpnum]?s)?\\b"
34     - constant.bool: "(?i)\\b(true|false)\\b"
35     - constant: "(?i)\\b(note|warning|error|failure)\\b"
36     - constant.string: "\"[^\"]*\""
37     - comment: "--.*"