csp.js 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /*
  2. Language: CSP
  3. Description: Content Security Policy definition highlighting
  4. Author: Taras <oxdef@oxdef.info>
  5. Website: https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP
  6. vim: ts=2 sw=2 st=2
  7. */
  8. /** @type LanguageFn */
  9. function csp(hljs) {
  10. const KEYWORDS = [
  11. "base-uri",
  12. "child-src",
  13. "connect-src",
  14. "default-src",
  15. "font-src",
  16. "form-action",
  17. "frame-ancestors",
  18. "frame-src",
  19. "img-src",
  20. "manifest-src",
  21. "media-src",
  22. "object-src",
  23. "plugin-types",
  24. "report-uri",
  25. "sandbox",
  26. "script-src",
  27. "style-src",
  28. "trusted-types",
  29. "unsafe-hashes",
  30. "worker-src"
  31. ];
  32. return {
  33. name: 'CSP',
  34. case_insensitive: false,
  35. keywords: {
  36. $pattern: '[a-zA-Z][a-zA-Z0-9_-]*',
  37. keyword: KEYWORDS
  38. },
  39. contains: [
  40. {
  41. className: 'string',
  42. begin: "'",
  43. end: "'"
  44. },
  45. {
  46. className: 'attribute',
  47. begin: '^Content',
  48. end: ':',
  49. excludeEnd: true
  50. }
  51. ]
  52. };
  53. }
  54. module.exports = csp;