zk.lang 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  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>constant</keyword>
  22. <keyword>contract</keyword>
  23. <keyword>circuit</keyword>
  24. </context>
  25. <context id="constants" style-ref="constant">
  26. <keyword>true</keyword>
  27. <keyword>false</keyword>
  28. <keyword>VALUE_COMMIT_VALUE</keyword>
  29. <keyword>VALUE_COMMIT_RANDOM</keyword>
  30. <keyword>NULLIFIER_K</keyword>
  31. </context>
  32. <context id="types" style-ref="type">
  33. <keyword>EcPoint</keyword>
  34. <keyword>EcFixedPoint</keyword>
  35. <keyword>EcFixedPointBase</keyword>
  36. <keyword>EcFixedPointShort</keyword>
  37. <keyword>EcNiPoint</keyword>
  38. <keyword>Base</keyword>
  39. <keyword>BaseArray</keyword>
  40. <keyword>Scalar</keyword>
  41. <keyword>ScalarArray</keyword>
  42. <keyword>MerklePath</keyword>
  43. <keyword>Uint32</keyword>
  44. <keyword>Uint64</keyword>
  45. </context>
  46. <context id="instructions" style-ref="function">
  47. <keyword>ec_add</keyword>
  48. <keyword>ec_mul</keyword>
  49. <keyword>ec_mul_base</keyword>
  50. <keyword>ec_mul_short</keyword>
  51. <keyword>ec_mul_var_base</keyword>
  52. <keyword>ec_get_x</keyword>
  53. <keyword>ec_get_y</keyword>
  54. <keyword>base_add</keyword>
  55. <keyword>base_mul</keyword>
  56. <keyword>base_sub</keyword>
  57. <keyword>poseidon_hash</keyword>
  58. <keyword>merkle_root</keyword>
  59. <keyword>range_check</keyword>
  60. <keyword>less_than_strict</keyword>
  61. <keyword>less_than_loose</keyword>
  62. <keyword>bool_check</keyword>
  63. <keyword>witness_base</keyword>
  64. <keyword>constrain_equal_base</keyword>
  65. <keyword>constrain_equal_point</keyword>
  66. <keyword>constrain_instance</keyword>
  67. </context>
  68. <context id="zkas" class="no-spell-check">
  69. <include>
  70. <context ref="def:shell-like-comment"/>
  71. <context ref="def:string"/>
  72. <context ref="keywords"/>
  73. <context ref="constants"/>
  74. <context ref="types"/>
  75. <context ref="instructions"/>
  76. </include>
  77. </context>
  78. </definitions>
  79. </language>