zk.vim 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. " Syntax highlighting for zkas scripts.
  2. " Symlink into ~/.vim/syntax/zk.vim
  3. " Add to your vim init file:
  4. " au BufNewFile,BufRead,BufReadPost *.zk set syntax=zk
  5. if exists("b:current_syntax")
  6. finish
  7. endif
  8. syn keyword zkasKeyword
  9. \ constant
  10. \ witness
  11. \ circuit
  12. syn keyword zkasType
  13. \ EcPoint EcFixedPoint EcFixedPointBase EcFixedPointShort EcNiPoint
  14. \ Base BaseArray Scalar ScalarArray
  15. \ MerklePath Uint32 Uint64
  16. syn keyword zkasInstruction
  17. \ ec_add ec_mul ec_mul_base ec_mul_short ec_mul_var_base
  18. \ ec_get_x ec_get_y
  19. \ base_add base_mul base_sub
  20. \ poseidon_hash merkle_root
  21. \ range_check less_than_strict less_than_loose bool_check
  22. \ cond_select witness_base
  23. \ constrain_equal_base constrain_equal_point
  24. \ constrain_instance debug
  25. syn region zkasString start='"' end='"' contained
  26. syn keyword zkasTodo contained TODO FIXME XXX NOTE
  27. syn match zkasComment "#.*$" contains=zkasTodo
  28. hi def link zkasKeyword Statement
  29. hi def link zkasType Type
  30. hi def link zkasInstruction Function
  31. hi def link zkasString Constant
  32. hi def link zkasTodo Todo
  33. hi def link zkasComment Comment
  34. let b:current_syntax = "zk"