# This is Cooledit syntax-file for Verilog and SystemVerilog
# Created by Andres Farfan, <nafraf@linuxmail.org>
# Updated by Andrei Purdea, <andrei@purdea.ro>
# Feel free to copy & modify this.
# 09/2004

wholechars abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_

# default colors
context default


#Compiler directives
    keyword  whole  `__FILE__ brightred/
    keyword  whole  `__LINE__ brightred/
    keyword  whole  `begin_keywords brightred/
    keyword  whole  `celldefine brightred/
    keyword  whole  `default_nettype brightred/
    keyword  whole  `define brightred/
    keyword  whole  `else brightred/
    keyword  whole  `elsif brightred/
    keyword  whole  `end_keywords brightred/
    keyword  whole  `endcelldefine brightred/
    keyword  whole  `endif brightred/
    keyword  whole  `ifdef brightred/
    keyword  whole  `ifndef brightred/
    keyword  whole  `include brightred/
    keyword  whole  `line brightred/
    keyword  whole  `nounconnected_drive brightred/
    keyword  whole  `pragma brightred/
    keyword  whole  `resetall brightred/
    keyword  whole  `timescale brightred/
    keyword  whole  `unconnected_drive brightred/
    keyword  whole  `undef brightred/
    keyword  whole  `undefineall brightred/

#Other -- these are not defined in the verilog standards, may be vendor-specific:
    keyword  whole  `accelerate brightred/
    keyword  whole  `autoexpand_vectornets brightred/
    keyword  whole  `endprotect brightred/
    keyword  whole  `endprotected brightred/
    keyword  whole  `expand_vectornets brightred/
    keyword  whole  `noaccelerate brightred/
    keyword  whole  `noexpand_vectornets brightred/
    keyword  whole  `noremove_gatenames brightred/
    keyword  whole  `noremove_netnames brightred/
    keyword  whole  `protect brightred/
    keyword  whole  `protected brightred/
    keyword  whole  `remove_gatenames brightred/
    keyword  whole  `remove_netnames brightred/
    keyword  whole  `signed brightred/
    keyword  whole  `unsigned brightred/

#Reserved Keywords IEEE1364-1995
    keyword  whole  always yellow
    keyword  whole  and yellow
    keyword  whole  assign yellow
    keyword  whole  begin yellow
    keyword  whole  buf yellow
    keyword  whole  bufif0 yellow
    keyword  whole  bufif1 yellow
    keyword  whole  case yellow
    keyword  whole  casex yellow
    keyword  whole  casez yellow
    keyword  whole  cmos yellow
    keyword  whole  deassign yellow
    keyword  whole  default yellow
    keyword  whole  defparam yellow
    keyword  whole  disable yellow
    keyword  whole  edge yellow
    keyword  whole  else yellow
    keyword  whole  end yellow
    keyword  whole  endcase yellow
    keyword  whole  endmodule yellow
    keyword  whole  endfunction yellow
    keyword  whole  endprimitive yellow
    keyword  whole  endspecify yellow
    keyword  whole  endtable yellow
    keyword  whole  endtask yellow
    keyword  whole  event yellow
    keyword  whole  for yellow
    keyword  whole  force yellow
    keyword  whole  forever yellow
    keyword  whole  fork yellow
    keyword  whole  function yellow
    keyword  whole  highz0 yellow
    keyword  whole  highz1 yellow
    keyword  whole  if yellow
    keyword  whole  ifnone yellow
    keyword  whole  initial yellow
    keyword  whole  inout yellow
    keyword  whole  input yellow
    keyword  whole  integer yellow
    keyword  whole  join yellow
    keyword  whole  large yellow
    keyword  whole  macromodule yellow
    keyword  whole  medium yellow
    keyword  whole  module yellow
    keyword  whole  nand yellow
    keyword  whole  negedge yellow
    keyword  whole  nmos yellow
    keyword  whole  nor yellow
    keyword  whole  not yellow
    keyword  whole  notif0 yellow
    keyword  whole  notif1 yellow
    keyword  whole  or yellow
    keyword  whole  output yellow
    keyword  whole  parameter yellow
    keyword  whole  pmos yellow
    keyword  whole  posedge yellow
    keyword  whole  primitive yellow
    keyword  whole  pull0 yellow
    keyword  whole  pull1 yellow
    keyword  whole  pullup yellow
    keyword  whole  pulldown yellow
    keyword  whole  rcmos yellow
    keyword  whole  real yellow
    keyword  whole  realtime yellow
    keyword  whole  reg yellow
    keyword  whole  release yellow
    keyword  whole  repeat yellow
    keyword  whole  rnmos yellow
    keyword  whole  rpmos yellow
    keyword  whole  rtran yellow
    keyword  whole  rtranif0 yellow
    keyword  whole  rtranif1 yellow
    keyword  whole  scalared yellow
    keyword  whole  small yellow
    keyword  whole  specify yellow
    keyword  whole  specparam yellow
    keyword  whole  strong0 yellow
    keyword  whole  strong1 yellow
    keyword  whole  supply0 yellow
    keyword  whole  supply1 yellow
    keyword  whole  table yellow
    keyword  whole  task yellow
    keyword  whole  time yellow
    keyword  whole  tran yellow
    keyword  whole  tranif0 yellow
    keyword  whole  tranif1 yellow
    keyword  whole  tri yellow
    keyword  whole  tri0 yellow
    keyword  whole  tri1 yellow
    keyword  whole  triand yellow
    keyword  whole  trior yellow
    keyword  whole  trireg yellow
    keyword  whole  vectored yellow
    keyword  whole  wait yellow
    keyword  whole  wand yellow
    keyword  whole  weak0 yellow
    keyword  whole  weak1 yellow
    keyword  whole  while yellow
    keyword  whole  wire yellow
    keyword  whole  wor yellow
    keyword  whole  xnor yellow
    keyword  whole  xor yellow

#Reserved Keywords IEEE1364-2001
    keyword  whole  automatic yellow
    keyword  whole  cell yellow
    keyword  whole  config yellow
    keyword  whole  design yellow
    keyword  whole  endconfig yellow
    keyword  whole  endgenerate yellow
    keyword  whole  generate yellow
    keyword  whole  genvar yellow
    keyword  whole  incdir yellow
    keyword  whole  include yellow
    keyword  whole  instance yellow
    keyword  whole  liblist yellow
    keyword  whole  library yellow
    keyword  whole  localparam yellow
    keyword  whole  noshowcancelled yellow
    keyword  whole  pulsestyle_ondetect yellow
    keyword  whole  pulsestyle_onevent yellow
    keyword  whole  showcancelled yellow
    keyword  whole  signed yellow
    keyword  whole  unsigned yellow
    keyword  whole  use yellow

#Reserved Keywords IEEE1364-2005
    keyword  whole  uwire yellow

#Reserved Keywords IEEE1800-2005
    keyword  whole  alias yellow
    keyword  whole  always_comb yellow
    keyword  whole  always_ff yellow
    keyword  whole  always_latch yellow
    keyword  whole  assert yellow
    keyword  whole  assume yellow
    keyword  whole  before yellow
    keyword  whole  bind yellow
    keyword  whole  bins yellow
    keyword  whole  binsof yellow
    keyword  whole  bit yellow
    keyword  whole  break yellow
    keyword  whole  byte yellow
    keyword  whole  chandle yellow
    keyword  whole  class yellow
    keyword  whole  clocking yellow
    keyword  whole  const yellow
    keyword  whole  constraint yellow
    keyword  whole  context yellow
    keyword  whole  continue yellow
    keyword  whole  cover yellow
    keyword  whole  covergroup yellow
    keyword  whole  coverpoint yellow
    keyword  whole  cross yellow
    keyword  whole  dist yellow
    keyword  whole  do yellow
    keyword  whole  endclass yellow
    keyword  whole  endclocking yellow
    keyword  whole  endgroup yellow
    keyword  whole  endinterface yellow
    keyword  whole  endpackage yellow
    keyword  whole  endprogram yellow
    keyword  whole  endproperty yellow
    keyword  whole  endsequence yellow
    keyword  whole  enum yellow
    keyword  whole  expect yellow
    keyword  whole  export yellow
    keyword  whole  extends yellow
    keyword  whole  extern yellow
    keyword  whole  final yellow
    keyword  whole  first_match yellow
    keyword  whole  foreach yellow
    keyword  whole  forkjoin yellow
    keyword  whole  iff yellow
    keyword  whole  ignore_bins yellow
    keyword  whole  illegal_bins yellow
    keyword  whole  import yellow
    keyword  whole  inside yellow
    keyword  whole  int yellow
    keyword  whole  interface yellow
    keyword  whole  intersect yellow
    keyword  whole  join_any yellow
    keyword  whole  join_none yellow
    keyword  whole  local yellow
    keyword  whole  logic yellow
    keyword  whole  longint yellow
    keyword  whole  matches yellow
    keyword  whole  modport yellow
    keyword  whole  new yellow
    keyword  whole  null yellow
    keyword  whole  package yellow
    keyword  whole  packed yellow
    keyword  whole  priority yellow
    keyword  whole  program yellow
    keyword  whole  property yellow
    keyword  whole  protected yellow
    keyword  whole  pure yellow
    keyword  whole  rand yellow
    keyword  whole  randc yellow
    keyword  whole  randcase yellow
    keyword  whole  randsequence yellow
    keyword  whole  ref yellow
    keyword  whole  return yellow
    keyword  whole  sequence yellow
    keyword  whole  shortint yellow
    keyword  whole  shortreal yellow
    keyword  whole  solve yellow
    keyword  whole  static yellow
    keyword  whole  string yellow
    keyword  whole  struct yellow
    keyword  whole  super yellow
    keyword  whole  tagged yellow
    keyword  whole  this yellow
    keyword  whole  throughout yellow
    keyword  whole  timeprecision yellow
    keyword  whole  timeunit yellow
    keyword  whole  type yellow
    keyword  whole  typedef yellow
    keyword  whole  union yellow
    keyword  whole  unique yellow
    keyword  whole  var yellow
    keyword  whole  virtual yellow
    keyword  whole  void yellow
    keyword  whole  wait_order yellow
    keyword  whole  wildcard yellow
    keyword  whole  with yellow
    keyword  whole  within yellow

#Reserved Keywords IEEE1800-2009
    keyword  whole  accept_on yellow
    keyword  whole  checker yellow
    keyword  whole  endchecker yellow
    keyword  whole  eventually
    keyword  whole  global yellow
    keyword  whole  implies yellow
    keyword  whole  let yellow
    keyword  whole  nexttime yellow
    keyword  whole  reject_on yellow
    keyword  whole  restrict yellow
    keyword  whole  s_always yellow
    keyword  whole  s_eventually yellow
    keyword  whole  s_nexttime yellow
    keyword  whole  s_until yellow
    keyword  whole  s_until_with yellow
    keyword  whole  strong yellow
    keyword  whole  sync_accept_on yellow
    keyword  whole  sync_reject_on yellow
    keyword  whole  unique0 yellow
    keyword  whole  until yellow
    keyword  whole  until_with yellow
    keyword  whole  untyped yellow
    keyword  whole  weak yellow

#Reserved Keywords IEEE1800-2012
    keyword  whole  implements yellow
    keyword  whole  interconnect yellow
    keyword  whole  nettype yellow
    keyword  whole  soft yellow

#Utility system tasks and system functions
    keyword  whole  $acos yellow
    keyword  whole  $acosh yellow
    keyword  whole  $asin yellow
    keyword  whole  $asinh yellow
    keyword  whole  $assertcontrol yellow
    keyword  whole  $assertfailoff yellow
    keyword  whole  $assertfailon yellow
    keyword  whole  $assertkill yellow
    keyword  whole  $assertnonvacuouson yellow
    keyword  whole  $assertoff yellow
    keyword  whole  $asserton yellow
    keyword  whole  $assertpassoff yellow
    keyword  whole  $assertpasson yellow
    keyword  whole  $assertvacuousoff yellow
    keyword  whole  $async$and$array yellow
    keyword  whole  $async$and$plane yellow
    keyword  whole  $async$nand$array yellow
    keyword  whole  $async$nand$plane yellow
    keyword  whole  $async$nor$array yellow
    keyword  whole  $async$nor$plane yellow
    keyword  whole  $async$or$array yellow
    keyword  whole  $async$or$plane yellow
    keyword  whole  $atan yellow
    keyword  whole  $atan2 yellow
    keyword  whole  $atanh yellow
    keyword  whole  $bits yellow
    keyword  whole  $bitstoreal yellow
    keyword  whole  $bitstoshortreal yellow
    keyword  whole  $cast yellow
    keyword  whole  $ceil yellow
    keyword  whole  $changed yellow
    keyword  whole  $changed_gclk yellow
    keyword  whole  $changing_gclk yellow
    keyword  whole  $clog2 yellow
    keyword  whole  $cos yellow
    keyword  whole  $cosh yellow
    keyword  whole  $countbits yellow
    keyword  whole  $countones yellow
    keyword  whole  $coverage_control yellow
    keyword  whole  $coverage_get yellow
    keyword  whole  $coverage_get_max yellow
    keyword  whole  $coverage_merge yellow
    keyword  whole  $coverage_save yellow
    keyword  whole  $dimensions yellow
    keyword  whole  $dist_chi_square yellow
    keyword  whole  $dist_erlang yellow
    keyword  whole  $dist_exponential yellow
    keyword  whole  $dist_normal yellow
    keyword  whole  $dist_poisson yellow
    keyword  whole  $dist_t yellow
    keyword  whole  $dist_uniform yellow
    keyword  whole  $error yellow
    keyword  whole  $error yellow
    keyword  whole  $exit yellow
    keyword  whole  $exp yellow
    keyword  whole  $falling_gclk yellow
    keyword  whole  $fatal yellow
    keyword  whole  $fatal yellow
    keyword  whole  $fell yellow
    keyword  whole  $fell_gclk yellow
    keyword  whole  $finish yellow
    keyword  whole  $floor yellow
    keyword  whole  $future_gclk yellow
    keyword  whole  $get_coverage yellow
    keyword  whole  $high yellow
    keyword  whole  $hypot yellow
    keyword  whole  $increment yellow
    keyword  whole  $info yellow
    keyword  whole  $info yellow
    keyword  whole  $isunbounded yellow
    keyword  whole  $isunknown yellow
    keyword  whole  $itor yellow
    keyword  whole  $left yellow
    keyword  whole  $ln yellow
    keyword  whole  $load_coverage_db yellow
    keyword  whole  $log10 yellow
    keyword  whole  $low yellow
    keyword  whole  $onehot yellow
    keyword  whole  $onehot0 yellow
    keyword  whole  $past yellow
    keyword  whole  $past_gclk yellow
    keyword  whole  $pow yellow
    keyword  whole  $printtimescale yellow
    keyword  whole  $q_add yellow
    keyword  whole  $q_exam yellow
    keyword  whole  $q_full yellow
    keyword  whole  $q_initialize yellow
    keyword  whole  $q_remove yellow
    keyword  whole  $random yellow
    keyword  whole  $realtime yellow
    keyword  whole  $realtobits yellow
    keyword  whole  $right yellow
    keyword  whole  $rising_gclk yellow
    keyword  whole  $rose yellow
    keyword  whole  $rose_gclk yellow
    keyword  whole  $rtoi yellow
    keyword  whole  $sampled yellow
    keyword  whole  $set_coverage_db_name yellow
    keyword  whole  $shortrealtobits yellow
    keyword  whole  $signed yellow
    keyword  whole  $sin yellow
    keyword  whole  $sinh yellow
    keyword  whole  $size yellow
    keyword  whole  $sqrt yellow
    keyword  whole  $stable yellow
    keyword  whole  $stable_gclk yellow
    keyword  whole  $steady_gclk yellow
    keyword  whole  $stime yellow
    keyword  whole  $stop yellow
    keyword  whole  $sync$and$array yellow
    keyword  whole  $sync$and$plane yellow
    keyword  whole  $sync$nand$array yellow
    keyword  whole  $sync$nand$plane yellow
    keyword  whole  $sync$nor$array yellow
    keyword  whole  $sync$nor$plane yellow
    keyword  whole  $sync$or$array yellow
    keyword  whole  $sync$or$plane yellow
    keyword  whole  $system yellow
    keyword  whole  $tan yellow
    keyword  whole  $tanh yellow
    keyword  whole  $time yellow
    keyword  whole  $timeformat yellow
    keyword  whole  $typename yellow
    keyword  whole  $unpacked_dimensions yellow
    keyword  whole  $unsigned yellow
    keyword  whole  $warning yellow

#Input/output system tasks and system functions
    keyword  whole  $display yellow
    keyword  whole  $displayb yellow
    keyword  whole  $displayh yellow
    keyword  whole  $displayo yellow
    keyword  whole  $dumpall yellow
    keyword  whole  $dumpfile yellow
    keyword  whole  $dumpflush yellow
    keyword  whole  $dumplimit yellow
    keyword  whole  $dumpoff yellow
    keyword  whole  $dumpon yellow
    keyword  whole  $dumpports yellow
    keyword  whole  $dumpportsall yellow
    keyword  whole  $dumpportsflush yellow
    keyword  whole  $dumpportslimit yellow
    keyword  whole  $dumpportsoff yellow
    keyword  whole  $dumpportson yellow
    keyword  whole  $dumpvars yellow
    keyword  whole  $fclose yellow
    keyword  whole  $fdisplay yellow
    keyword  whole  $fdisplayb yellow
    keyword  whole  $fdisplayh yellow
    keyword  whole  $fdisplayo yellow
    keyword  whole  $feof yellow
    keyword  whole  $ferror yellow
    keyword  whole  $fflush yellow
    keyword  whole  $fgetc yellow
    keyword  whole  $fgets yellow
    keyword  whole  $fmonitor yellow
    keyword  whole  $fmonitorb yellow
    keyword  whole  $fmonitorh yellow
    keyword  whole  $fmonitoro yellow
    keyword  whole  $fopen yellow
    keyword  whole  $fread yellow
    keyword  whole  $fscanf yellow
    keyword  whole  $fseek yellow
    keyword  whole  $fstrobe yellow
    keyword  whole  $fstrobeb yellow
    keyword  whole  $fstrobeh yellow
    keyword  whole  $fstrobeo yellow
    keyword  whole  $ftell yellow
    keyword  whole  $fwrite yellow
    keyword  whole  $fwriteb yellow
    keyword  whole  $fwriteh yellow
    keyword  whole  $fwriteo yellow
    keyword  whole  $monitor yellow
    keyword  whole  $monitorb yellow
    keyword  whole  $monitorh yellow
    keyword  whole  $monitoro yellow
    keyword  whole  $monitoroff yellow
    keyword  whole  $monitoron yellow
    keyword  whole  $readmemb yellow
    keyword  whole  $readmemh yellow
    keyword  whole  $rewind yellow
    keyword  whole  $sformat yellow
    keyword  whole  $sformatf yellow
    keyword  whole  $sscanf yellow
    keyword  whole  $strobe yellow
    keyword  whole  $strobeb yellow
    keyword  whole  $strobeh yellow
    keyword  whole  $strobeo yellow
    keyword  whole  $swrite yellow
    keyword  whole  $swriteb yellow
    keyword  whole  $swriteh yellow
    keyword  whole  $swriteo yellow
    keyword  whole  $test$plusargs yellow
    keyword  whole  $ungetc yellow
    keyword  whole  $value$plusargs yellow
    keyword  whole  $write yellow
    keyword  whole  $writeb yellow
    keyword  whole  $writeh yellow
    keyword  whole  $writememb yellow
    keyword  whole  $writememh yellow
    keyword  whole  $writeo yellow

#Timing checks
    keyword  whole  $fullskew yellow
    keyword  whole  $hold yellow
    keyword  whole  $nochange yellow
    keyword  whole  $period yellow
    keyword  whole  $recovery yellow
    keyword  whole  $recrem yellow
    keyword  whole  $removal yellow
    keyword  whole  $setup yellow
    keyword  whole  $setuphold yellow
    keyword  whole  $skew yellow
    keyword  whole  $timeskew yellow
    keyword  whole  $width yellow

#Other items (these are not specified in any verilog standard. These may be vendor-specific or deprecated):
    keyword  whole  $history yellow
    keyword  whole  $showvariables yellow

#Optional system tasks and system functions
    keyword  whole  $countdrivers yellow
    keyword  whole  $getpattern yellow
    keyword  whole  $incsave yellow
    keyword  whole  $input yellow
    keyword  whole  $key yellow
    keyword  whole  $list yellow
    keyword  whole  $log yellow
    keyword  whole  $nokey yellow
    keyword  whole  $nolog yellow
    keyword  whole  $reset yellow
    keyword  whole  $reset_count yellow
    keyword  whole  $reset_value yellow
    keyword  whole  $restart yellow
    keyword  whole  $save yellow
    keyword  whole  $scale yellow
    keyword  whole  $scope yellow
    keyword  whole  $showscopes yellow
    keyword  whole  $showvars yellow
    keyword  whole  $sreadmemb yellow
    keyword  whole  $sreadmemh yellow

    keyword > yellow
    keyword < yellow
    keyword \+ yellow
    keyword - yellow
    keyword \* yellow
    keyword / yellow
    keyword % yellow
    keyword = yellow
    keyword != yellow
    keyword == yellow
    keyword || yellow
    keyword && yellow
    keyword { brightcyan
    keyword } brightcyan
    keyword ( brightcyan
    keyword ) brightcyan
    keyword [ brightcyan
    keyword ] brightcyan
    keyword , brightcyan
    keyword . brightcyan
    keyword : brightcyan
    keyword ? brightcyan
    keyword ; brightmagenta
    keyword | brightmagenta
    keyword & brightmagenta
    keyword ~ brightmagenta
    keyword ^ brightmagenta


context exclusive /\* \*/ brown
    spellcheck

context exclusive // \n brown
    spellcheck

context " " green/
