Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'runtime/queries/vhdl/highlights.scm')
| -rw-r--r-- | runtime/queries/vhdl/highlights.scm | 451 |
1 files changed, 104 insertions, 347 deletions
diff --git a/runtime/queries/vhdl/highlights.scm b/runtime/queries/vhdl/highlights.scm index 71b8a5bd..1b9742fc 100644 --- a/runtime/queries/vhdl/highlights.scm +++ b/runtime/queries/vhdl/highlights.scm @@ -1,377 +1,134 @@ -(line_comment) @comment.line - -(block_comment) @comment.block - -(identifier) @variable - [ - "access" - "after" - "alias" - "architecture" - "array" - "attribute" - "block" - "body" - "component" - "configuration" - "context" - "disconnect" - "entity" - "file" - "force" - "generate" - "generic" - "group" - "label" - "literal" - "map" - "new" - "package" - "parameter" - "port" - "property" - "range" - "reject" - "release" - "sequence" - "transport" - "unaffected" - "view" - "vunit" + "alias" "package" "file" "entity" "architecture" "type" "subtype" + "attribute" "to" "downto" "signal" "variable" "record" "array" + "others" "process" "component" "shared" "constant" "port" "generic" + "generate" "range" "map" "in" "inout" "of" "out" "configuration" + "pure" "impure" "is" "begin" "end" "context" "wait" "until" "after" + "report" "open" "exit" "assert" "next" "null" "force" "property" + "release" "sequence" "transport" "unaffected" "select" "severity" + "register" "reject" "postponed" "on" "new" "literal" "linkage" + "inertial" "guarded" "group" "disconnect" "bus" "buffer" "body" + "all" "block" "access" ] @keyword [ - (ALL) - (OTHERS) - "<>" - (DEFAULT) - (OPEN) -] @constant.builtin - -[ - "is" - "begin" - "end" -] @keyword - -(parameter_specification - "in" @keyword) - -[ - "process" - "wait" - "on" - "until" -] @keyword - -(timeout_clause - "for" @keyword) - -[ - "function" - "procedure" + "function" "procedure" ] @keyword.function [ - "to" - "downto" - "of" -] @keyword.operator - -[ - "library" - "use" -] @keyword.control.import - -[ - "subtype" - "type" - "record" - "units" - "constant" - "signal" - "variable" -] @keyword.storage.type + "return" +] @keyword.control.return [ - "protected" - "private" - "pure" - "impure" - "inertial" - "postponed" - "guarded" - "out" - "inout" - "linkage" - "buffer" - "register" - "bus" - "shared" -] @keyword.storage.modifier - -(mode - "in" @keyword.storage.modifier) - -(force_mode - "in" @keyword.storage.modifier) - -[ - "while" - "loop" - "next" - "exit" + "for" "loop" "while" ] @keyword.control.repeat -(for_loop - "for" @keyword.control.repeat) - -(block_configuration - "for" @keyword) - -(configuration_specification - "for" @keyword) - -(component_configuration - "for" @keyword) - -(end_for - "for" @keyword) - -"return" @keyword.control.return - -[ - "assert" - "report" - "severity" -] @keyword - -[ - "if" - "then" - "elsif" - "case" +[ + "if" "elsif" "else" "case" "then" "when" ] @keyword.control.conditional -(when_element - "when" @keyword.control.conditional) - -(case_generate_alternative - "when" @keyword.control.conditional) +[ + "library" "use" +] @keyword.control.import -(else_statement - "else" @keyword.control.conditional) +(comment) @comment -(else_generate - "else" @keyword.control.conditional) +(type_mark) @type [ - "with" - "select" -] @keyword.control.conditional - -(when_expression - "when" @keyword.control.conditional) - -(else_expression - "else" @keyword.control.conditional) - -(else_waveform - "else" @keyword.control.conditional) - -(else_expression_or_unaffected - "else" @keyword.control.conditional) - -"null" @constant.builtin - -(user_directive) @keyword.directive - -(protect_directive) @keyword.directive - -(warning_directive) @keyword.directive - -(error_directive) @keyword.directive - -(if_conditional_analysis - "if" @keyword.directive) - -(if_conditional_analysis - "then" @keyword.directive) - -(elsif_conditional_analysis - "elsif" @keyword.directive) - -(else_conditional_analysis - "else" @keyword.directive) - -(end_conditional_analysis - "end" @keyword.directive) - -(end_conditional_analysis - "if" @keyword.directive) - -(directive_body) @keyword.directive - -(directive_constant_builtin) @constant.builtin - -(directive_error) @keyword.directive - -(directive_protect) @keyword.directive + "(" ")" "[" "]" +] @punctuation.bracket -(directive_warning) @keyword.directive +[ + "." ";" "," ":" +] @punctuation.delimiter [ - (condition_conversion) - (relational_operator) - (sign) - (adding_operator) - (exponentiate) - (variable_assignment) - (signal_assignment) - "*" - "/" - ":" - "=>" + "=>" "<=" "+" ":=" "=" "/=" "<" ">" "-" "*" + "**" "/" "?>" "?<" "?<=" "?>=" "?=" "?/=" +; "?/" errors, maybe due to escape character + (attribute_name "'") + (index_subtype_definition (any)) ] @operator [ - (unary_operator) - (logical_operator) - (shift_operator) - "mod" - "not" - "rem" + "not" "xor" "xnor" "and" "nand" "or" "nor" "mod" "rem" + (attribute_name "'") + (index_subtype_definition (any)) ] @keyword.operator [ - "'" - "," - "." - ";" -] @punctuation.delimiters - -[ - "(" - ")" - "[" - "]" - "<<" - ">>" -] @punctuation.bracket - -"@" @punctuation.special - -[ - (decimal_integer) - (string_literal_std_logic) -] @constant.numeric.integer - -(decimal_float) @constant.numeric.float - -(bit_string_length) @type.parameter - -(bit_string_base) @type.builtin - -(bit_string_value) @constant.numeric.integer - -(based_literal - (based_base) @type.builtin - (based_integer) @constant.numeric.integer) - -(based_literal - (based_base) @type.builtin - (based_float) @constant.numeric.float) - -(string_literal) @string + (real_decimal) + (integer_decimal) +] @constant.numeric (character_literal) @constant.character -(library_constant_std_logic) @constant.builtin - -(library_constant) @constant.builtin - -(library_function) @function.builtin - -(library_constant_boolean) @constant.builtin.boolean - -(library_constant_character) @constant.character - -(unit) @keyword.storage.modifier - -(library_constant_unit) @keyword.storage.modifier - -(label) @label - -(generic_map_aspect - "generic" @constructor - "map" @constructor) - -(port_map_aspect - "port" @constructor - "map" @constructor) - -(selection - (identifier) @variable.other.member) - -(_ - view: (_) @type) - -(_ - type: (_) @type) - -(_ - library: (_) @namespace) - -(_ - package: (_) @namespace) - -(_ - entity: (_) @namespace) - -(_ - component: (_) @namespace) - -(_ - configuration: (_) @type.parameter) - -(_ - architecture: (_) @type.parameter) - -(_ - function: (_) @function) - -(_ - procedure: (_) @function.method) - -(_ - attribute: (_) @attribute) - -(_ - constant: (_) @constant) - -(_ - generic: (_) @variable.parameter) - -(_ - view: (name - (_)) @type) - -(_ - type: (name - (_)) @type) - -(_ - entity: (name - (_)) @namespace) - -(_ - component: (name - (_)) @namespace) - -(_ - configuration: (name - (_)) @namespace) - -(library_type) @type.builtin +[ + (string_literal) + (bit_string_literal) +] @string + +(physical_literal + unit: (simple_name) @attribute) + +(attribute_name + prefix: (_) @variable + designator: (_) @attribute) + +((simple_name) @variable.builtin (#any-of? @variable.builtin + "true" "false" "now")) + +(severity_expression) @constant.builtin + +(procedure_call_statement + procedure: (simple_name) @function) + +(ambiguous_name + prefix: (simple_name) @function.builtin (#any-of? @function.builtin + "rising_edge" "falling_edge" "find_rightmost" "find_leftmost" + "maximum" "minimum" "shift_left" "shift_right" "rotate_left" + "rotate_right" "sll" "srl" "rol" "ror" "sla" "sra" "resize" + "mod" "rem" "abs" "saturate" + "to_sfixed" "to_ufixed" "to_signed" "to_unsigned" "to_real" + "to_integer" "sfixed_low" "ufixed_low" "sfixed_high" + "ufixed_high" "to_slv" "to_stdulogicvector" "to_sulv" + "to_float" "std_logic" "std_logic_vector" "integer" "signed" + "unsigned" "real" "std_ulogic_vector" + "std_ulogic" "x01" "x01z" "ux01" "ux01Z" +;math_real + "sign" "ceil" "floor" "round" "fmax" "fmin" "uniform" "srand" + "rand" "get_rand_max" "sqrt" "cbrt" "exp" "log" "log2" "log10" + "sin" "cos" "tan" "asin" "acos" "atan" "atan2" "sinh" "cosh" + "tanh" "asinh" "acosh" "atanh" "realmax" "realmin" "trunc" + "conj" "arg" "polar_to_complex" "complex_to_polar" + "get_principal_value" "cmplx" +;std_textio + "read" "write" "hread" "hwrite" "to_hstring" "to_string" + "from_hstring" "from_string" + "justify" "readline" "sread" "string_read" " bread" + "binary_read" "oread" "octal_read" "hex_read" + "writeline" "swrite" "string_write" "bwrite" + "binary_write" "owrite" "octal_write" "hex_write" + "synthesis_return" +;std_logic_1164 + "resolved" "logic_type_encoding" "is_signed" "to_bit" + "to_bitvector" "to_stdulogic" "to_stdlogicvector" + "to_bit_vector" "to_bv" "to_std_logic_vector" + "to_std_ulogic_vector" "to_01" "to_x01" "to_x01z" "to_ux01" + "is_x" "to_bstring" "to_binary_string" "to_ostring" + "to_octal_string" "to_hex_string" +;float_pkg + "add" "subtract" "multiply" "divide" "remainder" "modulo" + "reciprocal" "dividebyp2" "mac" "eq" "ne" "lt" "gt" "le" "ge" + "to_float32" "to_float64" "to_float128" "realtobits" "bitstoreal" + "break_number" "normalize" "copysign" "scalb" "logb" "nextafter" + "unordered" "finite" "isnan" "zerofp" "nanfp" "qnanfp" + "pos_inffp" "neg_inffp" "neg_zerofp" "from_bstring" + "from_binary_string" "from_ostring" "from_octal_string" + "from_hex_string" +;fixed_pkg + "add_carry" "to_ufix" "to_sfix" "ufix_high" + "ufix_low" "sfix_high" "sfix_low" +)) |