dust.js 975 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /*
  2. Language: Dust
  3. Requires: xml.js
  4. Author: Michael Allen <michael.allen@benefitfocus.com>
  5. Description: Matcher for dust.js templates.
  6. Website: https://www.dustjs.com
  7. Category: template
  8. */
  9. function dust(hljs) {
  10. var EXPRESSION_KEYWORDS = 'if eq ne lt lte gt gte select default math sep';
  11. return {
  12. name: 'Dust',
  13. aliases: ['dst'],
  14. case_insensitive: true,
  15. subLanguage: 'xml',
  16. contains: [
  17. {
  18. className: 'template-tag',
  19. begin: /\{[#\/]/, end: /\}/, illegal: /;/,
  20. contains: [
  21. {
  22. className: 'name',
  23. begin: /[a-zA-Z\.-]+/,
  24. starts: {
  25. endsWithParent: true, relevance: 0,
  26. contains: [
  27. hljs.QUOTE_STRING_MODE
  28. ]
  29. }
  30. }
  31. ]
  32. },
  33. {
  34. className: 'template-variable',
  35. begin: /\{/, end: /\}/, illegal: /;/,
  36. keywords: EXPRESSION_KEYWORDS
  37. }
  38. ]
  39. };
  40. }
  41. module.exports = dust;