makefile.js 1006 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /*
  2. Language: Makefile
  3. Author: Ivan Sagalaev <[email protected]>
  4. Category: common
  5. */
  6. function(hljs) {
  7. var VARIABLE = {
  8. className: 'variable',
  9. begin: /\$\(/, end: /\)/,
  10. contains: [hljs.BACKSLASH_ESCAPE]
  11. };
  12. return {
  13. aliases: ['mk', 'mak'],
  14. contains: [
  15. hljs.HASH_COMMENT_MODE,
  16. {
  17. begin: /^\w+\s*\W*=/, returnBegin: true,
  18. relevance: 0,
  19. starts: {
  20. end: /\s*\W*=/, excludeEnd: true,
  21. starts: {
  22. end: /$/,
  23. relevance: 0,
  24. contains: [
  25. VARIABLE
  26. ]
  27. }
  28. }
  29. },
  30. {
  31. className: 'section',
  32. begin: /^[\w]+:\s*$/
  33. },
  34. {
  35. className: 'meta',
  36. begin: /^\.PHONY:/, end: /$/,
  37. keywords: {'meta-keyword': '.PHONY'}, lexemes: /[\.\w]+/
  38. },
  39. {
  40. begin: /^\t+/, end: /$/,
  41. relevance: 0,
  42. contains: [
  43. hljs.QUOTE_STRING_MODE,
  44. VARIABLE
  45. ]
  46. }
  47. ]
  48. };
  49. }