parser3.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. /*
  2. Language: Parser3
  3. Requires: xml.js
  4. Author: Oleg Volchkov <oleg@volchkov.net>
  5. Website: https://www.parser.ru/en/
  6. Category: template
  7. */
  8. function parser3(hljs) {
  9. var CURLY_SUBCOMMENT = hljs.COMMENT(
  10. '{',
  11. '}',
  12. {
  13. contains: ['self']
  14. }
  15. );
  16. return {
  17. name: 'Parser3',
  18. subLanguage: 'xml', relevance: 0,
  19. contains: [
  20. hljs.COMMENT('^#', '$'),
  21. hljs.COMMENT(
  22. '\\^rem{',
  23. '}',
  24. {
  25. relevance: 10,
  26. contains: [
  27. CURLY_SUBCOMMENT
  28. ]
  29. }
  30. ),
  31. {
  32. className: 'meta',
  33. begin: '^@(?:BASE|USE|CLASS|OPTIONS)$',
  34. relevance: 10
  35. },
  36. {
  37. className: 'title',
  38. begin: '@[\\w\\-]+\\[[\\w^;\\-]*\\](?:\\[[\\w^;\\-]*\\])?(?:.*)$'
  39. },
  40. {
  41. className: 'variable',
  42. begin: '\\$\\{?[\\w\\-\\.\\:]+\\}?'
  43. },
  44. {
  45. className: 'keyword',
  46. begin: '\\^[\\w\\-\\.\\:]+'
  47. },
  48. {
  49. className: 'number',
  50. begin: '\\^#[0-9a-fA-F]+'
  51. },
  52. hljs.C_NUMBER_MODE
  53. ]
  54. };
  55. }
  56. module.exports = parser3;