Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var VHDL = internal.Register(MustNewLexer( &Config{ Name: "VHDL", Aliases: []string{"vhdl"}, Filenames: []string{"*.vhdl", "*.vhd"}, MimeTypes: []string{"text/x-vhdl"}, CaseInsensitive: true, }, Rules{ "root": { {`\n`, Text, nil}, {`\s+`, Text, nil}, {`\\\n`, Text, nil}, {`--.*?$`, CommentSingle, nil}, {`'(U|X|0|1|Z|W|L|H|-)'`, LiteralStringChar, nil}, {`[~!%^&*+=|?:<>/-]`, Operator, nil}, {`'[a-z_]\w*`, NameAttribute, nil}, {`[()\[\],.;\']`, Punctuation, nil}, {`"[^\n\\"]*"`, LiteralString, nil}, {`(library)(\s+)([a-z_]\w*)`, ByGroups(Keyword, Text, NameNamespace), nil}, {`(use)(\s+)(entity)`, ByGroups(Keyword, Text, Keyword), nil}, {`(use)(\s+)([a-z_][\w.]*\.)(all)`, ByGroups(Keyword, Text, NameNamespace, Keyword), nil}, {`(use)(\s+)([a-z_][\w.]*)`, ByGroups(Keyword, Text, NameNamespace), nil}, {`(std|ieee)(\.[a-z_]\w*)`, ByGroups(NameNamespace, NameNamespace), nil}, {Words(``, `\b`, `std`, `ieee`, `work`), NameNamespace, nil}, {`(entity|component)(\s+)([a-z_]\w*)`, ByGroups(Keyword, Text, NameClass), nil}, {`(architecture|configuration)(\s+)([a-z_]\w*)(\s+)(of)(\s+)([a-z_]\w*)(\s+)(is)`, ByGroups(Keyword, Text, NameClass, Text, Keyword, Text, NameClass, Text, Keyword), nil}, {`([a-z_]\w*)(:)(\s+)(process|for)`, ByGroups(NameClass, Operator, Text, Keyword), nil}, {`(end)(\s+)`, ByGroups(Keyword, Text), Push("endblock")}, Include("types"), Include("keywords"), Include("numbers"), {`[a-z_]\w*`, Name, nil}, }, "endblock": { Include("keywords"), {`[a-z_]\w*`, NameClass, nil}, {`(\s+)`, Text, nil}, {`;`, Punctuation, Pop(1)}, }, "types": { {Words(``, `\b`, `boolean`, `bit`, `character`, `severity_level`, `integer`, `time`, `delay_length`, `natural`, `positive`, `string`, `bit_vector`, `file_open_kind`, `file_open_status`, `std_ulogic`, `std_ulogic_vector`, `std_logic`, `std_logic_vector`, `signed`, `unsigned`), KeywordType, nil}, }, "keywords": { {Words(``, `\b`, `abs`, `access`, `after`, `alias`, `all`, `and`, `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`, `mod`, `nand`, `new`, `next`, `nor`, `not`, `null`, `of`, `on`, `open`, `or`, `others`, `out`, `package`, `port`, `postponed`, `procedure`, `process`, `pure`, `range`, `record`, `register`, `reject`, `rem`, `return`, `rol`, `ror`, `select`, `severity`, `signal`, `shared`, `sla`, `sll`, `sra`, `srl`, `subtype`, `then`, `to`, `transport`, `type`, `units`, `until`, `use`, `variable`, `wait`, `when`, `while`, `with`, `xnor`, `xor`), Keyword, nil}, }, "numbers": { {`\d{1,2}#[0-9a-f_]+#?`, LiteralNumberInteger, nil}, {`\d+`, LiteralNumberInteger, nil}, {`(\d+\.\d*|\.\d+|\d+)E[+-]?\d+`, LiteralNumberFloat, nil}, {`X"[0-9a-f_]+"`, LiteralNumberHex, nil}, {`O"[0-7_]+"`, LiteralNumberOct, nil}, {`B"[01_]+"`, LiteralNumberBin, nil}, }, }, ))
VHDL lexer.
View Source
var Verilog = internal.Register(MustNewLexer( &Config{ Name: "verilog", Aliases: []string{"verilog", "v"}, Filenames: []string{"*.v"}, MimeTypes: []string{"text/x-verilog"}, EnsureNL: true, }, Rules{ "root": { {"^\\s*`define", CommentPreproc, Push("macro")}, {`\n`, Text, nil}, {`\s+`, Text, nil}, {`\\\n`, Text, nil}, {`/(\\\n)?/(\n|(.|\n)*?[^\\]\n)`, CommentSingle, nil}, {`/(\\\n)?[*](.|\n)*?[*](\\\n)?/`, CommentMultiline, nil}, {`[{}#@]`, Punctuation, nil}, {`L?"`, LiteralString, Push("string")}, {`L?'(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])'`, LiteralStringChar, nil}, {`(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[lL]?`, LiteralNumberFloat, nil}, {`(\d+\.\d*|\.\d+|\d+[fF])[fF]?`, LiteralNumberFloat, nil}, {`([0-9]+)|(\'h)[0-9a-fA-F]+`, LiteralNumberHex, nil}, {`([0-9]+)|(\'b)[01]+`, LiteralNumberBin, nil}, {`([0-9]+)|(\'d)[0-9]+`, LiteralNumberInteger, nil}, {`([0-9]+)|(\'o)[0-7]+`, LiteralNumberOct, nil}, {`\'[01xz]`, LiteralNumber, nil}, {`\d+[Ll]?`, LiteralNumberInteger, nil}, {`\*/`, Error, nil}, {`[~!%^&*+=|?:<>/-]`, Operator, nil}, {`[()\[\],.;\']`, Punctuation, nil}, {"`[a-zA-Z_]\\w*", NameConstant, nil}, {`^(\s*)(package)(\s+)`, ByGroups(Text, KeywordNamespace, Text), nil}, {`^(\s*)(import)(\s+)`, ByGroups(Text, KeywordNamespace, Text), Push("import")}, {Words(``, `\b`, `always`, `always_comb`, `always_ff`, `always_latch`, `and`, `assign`, `automatic`, `begin`, `break`, `buf`, `bufif0`, `bufif1`, `case`, `casex`, `casez`, `cmos`, `const`, `continue`, `deassign`, `default`, `defparam`, `disable`, `do`, `edge`, `else`, `end`, `endcase`, `endfunction`, `endgenerate`, `endmodule`, `endpackage`, `endprimitive`, `endspecify`, `endtable`, `endtask`, `enum`, `event`, `final`, `for`, `force`, `forever`, `fork`, `function`, `generate`, `genvar`, `highz0`, `highz1`, `if`, `initial`, `inout`, `input`, `integer`, `join`, `large`, `localparam`, `macromodule`, `medium`, `module`, `nand`, `negedge`, `nmos`, `nor`, `not`, `notif0`, `notif1`, `or`, `output`, `packed`, `parameter`, `pmos`, `posedge`, `primitive`, `pull0`, `pull1`, `pulldown`, `pullup`, `rcmos`, `ref`, `release`, `repeat`, `return`, `rnmos`, `rpmos`, `rtran`, `rtranif0`, `rtranif1`, `scalared`, `signed`, `small`, `specify`, `specparam`, `strength`, `string`, `strong0`, `strong1`, `struct`, `table`, `task`, `tran`, `tranif0`, `tranif1`, `type`, `typedef`, `unsigned`, `var`, `vectored`, `void`, `wait`, `weak0`, `weak1`, `while`, `xnor`, `xor`), Keyword, nil}, {Words("`", `\b`, `accelerate`, `autoexpand_vectornets`, `celldefine`, `default_nettype`, `else`, `elsif`, `endcelldefine`, `endif`, `endprotect`, `endprotected`, `expand_vectornets`, `ifdef`, `ifndef`, `include`, `noaccelerate`, `noexpand_vectornets`, `noremove_gatenames`, `noremove_netnames`, `nounconnected_drive`, `protect`, `protected`, `remove_gatenames`, `remove_netnames`, `resetall`, `timescale`, `unconnected_drive`, `undef`), CommentPreproc, nil}, {Words(`\$`, `\b`, `bits`, `bitstoreal`, `bitstoshortreal`, `countdrivers`, `display`, `fclose`, `fdisplay`, `finish`, `floor`, `fmonitor`, `fopen`, `fstrobe`, `fwrite`, `getpattern`, `history`, `incsave`, `input`, `itor`, `key`, `list`, `log`, `monitor`, `monitoroff`, `monitoron`, `nokey`, `nolog`, `printtimescale`, `random`, `readmemb`, `readmemh`, `realtime`, `realtobits`, `reset`, `reset_count`, `reset_value`, `restart`, `rtoi`, `save`, `scale`, `scope`, `shortrealtobits`, `showscopes`, `showvariables`, `showvars`, `sreadmemb`, `sreadmemh`, `stime`, `stop`, `strobe`, `time`, `timeformat`, `write`), NameBuiltin, nil}, {Words(``, `\b`, `byte`, `shortint`, `int`, `longint`, `integer`, `time`, `bit`, `logic`, `reg`, `supply0`, `supply1`, `tri`, `triand`, `trior`, `tri0`, `tri1`, `trireg`, `uwire`, `wire`, `wand`, `woshortreal`, `real`, `realtime`), KeywordType, nil}, {`[a-zA-Z_]\w*:(?!:)`, NameLabel, nil}, {`\$?[a-zA-Z_]\w*`, Name, nil}, }, "string": { {`"`, LiteralString, Pop(1)}, {`\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|[0-7]{1,3})`, LiteralStringEscape, nil}, {`[^\\"\n]+`, LiteralString, nil}, {`\\\n`, LiteralString, nil}, {`\\`, LiteralString, nil}, }, "macro": { {`[^/\n]+`, CommentPreproc, nil}, {`/[*](.|\n)*?[*]/`, CommentMultiline, nil}, {`//.*?\n`, CommentSingle, Pop(1)}, {`/`, CommentPreproc, nil}, {`(?<=\\)\n`, CommentPreproc, nil}, {`\n`, CommentPreproc, Pop(1)}, }, "import": { {`[\w:]+\*?`, NameNamespace, Pop(1)}, }, }, ))
Verilog lexer.
View Source
var Viml = internal.Register(MustNewLexer( &Config{ Name: "VimL", Aliases: []string{"vim"}, Filenames: []string{"*.vim", ".vimrc", ".exrc", ".gvimrc", "_vimrc", "_exrc", "_gvimrc", "vimrc", "gvimrc"}, MimeTypes: []string{"text/x-vim"}, }, Rules{ "root": { {`^([ \t:]*)(py(?:t(?:h(?:o(?:n)?)?)?)?)([ \t]*)(<<)([ \t]*)(.*)((?:\n|.)*)(\6)`, ByGroups(UsingSelf("root"), Keyword, Text, Operator, Text, Text, Using(Python, nil), Text), nil}, {`^([ \t:]*)(py(?:t(?:h(?:o(?:n)?)?)?)?)([ \t])(.*)`, ByGroups(UsingSelf("root"), Keyword, Text, Using(Python, nil)), nil}, {`^\s*".*`, Comment, nil}, {`[ \t]+`, Text, nil}, {`/(\\\\|\\/|[^\n/])*/`, LiteralStringRegex, nil}, {`"(\\\\|\\"|[^\n"])*"`, LiteralStringDouble, nil}, {`'(''|[^\n'])*'`, LiteralStringSingle, nil}, {`(?<=\s)"[^\-:.%#=*].*`, Comment, nil}, {`-?\d+`, LiteralNumber, nil}, {`#[0-9a-f]{6}`, LiteralNumberHex, nil}, {`^:`, Punctuation, nil}, {`[()<>+=!|,~-]`, Punctuation, nil}, {`\b(let|if|else|endif|elseif|fun|function|endfunction)\b`, Keyword, nil}, {`\b(NONE|bold|italic|underline|dark|light)\b`, NameBuiltin, nil}, {`\b\w+\b`, NameOther, nil}, {`.`, Text, nil}, }, }, ))
Viml lexer.
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.