tex.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. /*
  2. Language: TeX
  3. Author: Vladimir Moskva <[email protected]>
  4. Website: http://fulc.ru/
  5. Category: markup
  6. */
  7. function(hljs) {
  8. var COMMAND = {
  9. className: 'tag',
  10. begin: /\\/,
  11. relevance: 0,
  12. contains: [
  13. {
  14. className: 'name',
  15. variants: [
  16. {begin: /[a-zA-Zа-яА-я]+[*]?/},
  17. {begin: /[^a-zA-Zа-яА-я0-9]/}
  18. ],
  19. starts: {
  20. endsWithParent: true,
  21. relevance: 0,
  22. contains: [
  23. {
  24. className: 'string', // because it looks like attributes in HTML tags
  25. variants: [
  26. {begin: /\[/, end: /\]/},
  27. {begin: /\{/, end: /\}/}
  28. ]
  29. },
  30. {
  31. begin: /\s*=\s*/, endsWithParent: true,
  32. relevance: 0,
  33. contains: [
  34. {
  35. className: 'number',
  36. begin: /-?\d*\.?\d+(pt|pc|mm|cm|in|dd|cc|ex|em)?/
  37. }
  38. ]
  39. }
  40. ]
  41. }
  42. }
  43. ]
  44. };
  45. return {
  46. contains: [
  47. COMMAND,
  48. {
  49. className: 'formula',
  50. contains: [COMMAND],
  51. relevance: 0,
  52. variants: [
  53. {begin: /\$\$/, end: /\$\$/},
  54. {begin: /\$/, end: /\$/}
  55. ]
  56. },
  57. hljs.COMMENT(
  58. '%',
  59. '$',
  60. {
  61. relevance: 0
  62. }
  63. )
  64. ]
  65. };
  66. }