http.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /*
  2. Language: HTTP
  3. Description: HTTP request and response headers with automatic body highlighting
  4. Author: Ivan Sagalaev <maniac@softwaremaniacs.org>
  5. Category: common, protocols
  6. Website: https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview
  7. */
  8. function http(hljs) {
  9. var VERSION = 'HTTP/[0-9\\.]+';
  10. return {
  11. name: 'HTTP',
  12. aliases: ['https'],
  13. illegal: '\\S',
  14. contains: [
  15. {
  16. begin: '^' + VERSION, end: '$',
  17. contains: [{className: 'number', begin: '\\b\\d{3}\\b'}]
  18. },
  19. {
  20. begin: '^[A-Z]+ (.*?) ' + VERSION + '$', returnBegin: true, end: '$',
  21. contains: [
  22. {
  23. className: 'string',
  24. begin: ' ', end: ' ',
  25. excludeBegin: true, excludeEnd: true
  26. },
  27. {
  28. begin: VERSION
  29. },
  30. {
  31. className: 'keyword',
  32. begin: '[A-Z]+'
  33. }
  34. ]
  35. },
  36. {
  37. className: 'attribute',
  38. begin: '^\\w', end: ': ', excludeEnd: true,
  39. illegal: '\\n|\\s|=',
  40. starts: {end: '$', relevance: 0}
  41. },
  42. {
  43. begin: '\\n\\n',
  44. starts: {subLanguage: [], endsWithParent: true}
  45. }
  46. ]
  47. };
  48. }
  49. module.exports = http;