zk.lang 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. Syntax highlighting for zkas scripts.
  4. Copy into /usr/share/gtksourceview-4/language-specs/zk.lang
  5. -->
  6. <language id="zkas" name="zkas" version="2.0" _section="Source">
  7. <metadata>
  8. <!--<property name="mimetypes">text/zkas</property>-->
  9. <property name="globs">*.zk</property>
  10. <property name="line-comment-start">#</property>
  11. <property name="suggested-suffix">.zk</property>
  12. </metadata>
  13. <styles>
  14. <style id="keyword" name="Keyword" map-to="def:keyword"/>
  15. <style id="constant" name="Constant" map-to="def:special-constant"/>
  16. <style id="type" name="Data Type" map-to="def:type"/>
  17. <style id="function" name="Function" map-to="def:function"/>
  18. </styles>
  19. <definitions>
  20. <context id="keywords" style-ref="keyword">
  21. <keyword>k</keyword>
  22. <keyword>field</keyword>
  23. <keyword>constant</keyword>
  24. <keyword>witness</keyword>
  25. <keyword>circuit</keyword>
  26. </context>
  27. <context id="constants" style-ref="constant">
  28. <keyword>true</keyword>
  29. <keyword>false</keyword>
  30. <keyword>VALUE_COMMIT_VALUE</keyword>
  31. <keyword>VALUE_COMMIT_RANDOM</keyword>
  32. <keyword>NULLIFIER_K</keyword>
  33. </context>
  34. <context id="types" style-ref="type">
  35. <keyword>EcPoint</keyword>
  36. <keyword>EcFixedPoint</keyword>
  37. <keyword>EcFixedPointBase</keyword>
  38. <keyword>EcFixedPointShort</keyword>
  39. <keyword>EcNiPoint</keyword>
  40. <keyword>Base</keyword>
  41. <keyword>BaseArray</keyword>
  42. <keyword>Scalar</keyword>
  43. <keyword>ScalarArray</keyword>
  44. <keyword>MerklePath</keyword>
  45. <keyword>Uint32</keyword>
  46. <keyword>Uint64</keyword>
  47. </context>
  48. <context id="instructions" style-ref="function">
  49. <keyword>ec_add</keyword>
  50. <keyword>ec_mul</keyword>
  51. <keyword>ec_mul_base</keyword>
  52. <keyword>ec_mul_short</keyword>
  53. <keyword>ec_mul_var_base</keyword>
  54. <keyword>ec_get_x</keyword>
  55. <keyword>ec_get_y</keyword>
  56. <keyword>base_add</keyword>
  57. <keyword>base_mul</keyword>
  58. <keyword>base_sub</keyword>
  59. <keyword>poseidon_hash</keyword>
  60. <keyword>merkle_root</keyword>
  61. <keyword>range_check</keyword>
  62. <keyword>less_than_strict</keyword>
  63. <keyword>less_than_loose</keyword>
  64. <keyword>bool_check</keyword>
  65. <keyword>cond_select</keyword>
  66. <keyword>zero_cond</keyword>
  67. <keyword>witness_base</keyword>
  68. <keyword>constrain_equal_base</keyword>
  69. <keyword>constrain_equal_point</keyword>
  70. <keyword>constrain_instance</keyword>
  71. <keyword>debug</keyword>
  72. </context>
  73. <context id="zkas" class="no-spell-check">
  74. <include>
  75. <context ref="def:shell-like-comment"/>
  76. <context ref="def:string"/>
  77. <context ref="keywords"/>
  78. <context ref="constants"/>
  79. <context ref="types"/>
  80. <context ref="instructions"/>
  81. </include>
  82. </context>
  83. </definitions>
  84. </language>