handlebars.json 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. {
  2. "aliases": [
  3. "hbs",
  4. "html.hbs",
  5. "html.handlebars"
  6. ],
  7. "case_insensitive": true,
  8. "subLanguage": "xml",
  9. "contains": [
  10. {
  11. "begin": "\\\\\\{\\{",
  12. "skip": true
  13. },
  14. {
  15. "begin": "\\\\\\\\(?=\\{\\{)",
  16. "skip": true
  17. },
  18. {
  19. "className": "comment",
  20. "begin": "\\{\\{!--",
  21. "end": "--\\}\\}",
  22. "contains": [
  23. {
  24. "begin": "\\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\\b"
  25. },
  26. {
  27. "className": "doctag",
  28. "begin": "(?:TODO|FIXME|NOTE|BUG|XXX):",
  29. "relevance": 0
  30. }
  31. ]
  32. },
  33. {
  34. "className": "comment",
  35. "begin": "\\{\\{!",
  36. "end": "\\}\\}",
  37. "contains": [
  38. {
  39. "$ref": "#contains.2.contains.0"
  40. },
  41. {
  42. "className": "doctag",
  43. "begin": "(?:TODO|FIXME|NOTE|BUG|XXX):",
  44. "relevance": 0
  45. }
  46. ]
  47. },
  48. {
  49. "className": "template-tag",
  50. "begin": "\\{\\{\\{\\{(?!\\\/)",
  51. "end": "\\}\\}\\}\\}",
  52. "contains": [
  53. {
  54. "begin": "\".*?\"|'.*?'|\\[.*?\\]|\\w+",
  55. "keywords": {
  56. "builtin-name": "each in with if else unless bindattr action collection debugger log outlet template unbound view yield lookup"
  57. },
  58. "starts": {
  59. "endsWithParent": true,
  60. "relevance": 0,
  61. "contains": [
  62. {
  63. "begin": "\".*?\"|'.*?'|\\[.*?\\]|\\w+",
  64. "relevance": 0
  65. }
  66. ]
  67. },
  68. "className": "name"
  69. }
  70. ],
  71. "starts": {
  72. "end": "\\{\\{\\{\\{\\\/",
  73. "returnEnd": true,
  74. "subLanguage": "xml"
  75. }
  76. },
  77. {
  78. "className": "template-tag",
  79. "begin": "\\{\\{\\{\\{\\\/",
  80. "end": "\\}\\}\\}\\}",
  81. "contains": [
  82. {
  83. "$ref": "#contains.4.contains.0"
  84. }
  85. ]
  86. },
  87. {
  88. "className": "template-tag",
  89. "begin": "\\{\\{[#\\\/]",
  90. "end": "\\}\\}",
  91. "contains": [
  92. {
  93. "$ref": "#contains.4.contains.0"
  94. }
  95. ]
  96. },
  97. {
  98. "className": "template-variable",
  99. "begin": "\\{\\{\\{",
  100. "end": "\\}\\}\\}",
  101. "keywords": {
  102. "$ref": "#contains.4.contains.0.keywords"
  103. },
  104. "contains": [
  105. {
  106. "begin": "\".*?\"|'.*?'|\\[.*?\\]|\\w+",
  107. "keywords": {
  108. "$ref": "#contains.4.contains.0.keywords"
  109. },
  110. "starts": {
  111. "$ref": "#contains.4.contains.0.starts"
  112. },
  113. "relevance": 0
  114. }
  115. ]
  116. },
  117. {
  118. "className": "template-variable",
  119. "begin": "\\{\\{",
  120. "end": "\\}\\}",
  121. "keywords": {
  122. "$ref": "#contains.4.contains.0.keywords"
  123. },
  124. "contains": [
  125. {
  126. "$ref": "#contains.7.contains.0"
  127. }
  128. ]
  129. }
  130. ]
  131. }