highlight.d.ts 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. import { Tree, NodeType } from "@lezer/common";
  2. export declare class Tag {
  3. readonly set: Tag[];
  4. static define(parent?: Tag): Tag;
  5. static defineModifier(): (tag: Tag) => Tag;
  6. }
  7. export declare function styleTags(spec: {
  8. [selector: string]: Tag | readonly Tag[];
  9. }): import("@lezer/common").NodePropSource;
  10. export interface Highlighter {
  11. style(tags: readonly Tag[]): string | null;
  12. scope?(node: NodeType): boolean;
  13. }
  14. export declare function tagHighlighter(tags: readonly {
  15. tag: Tag | readonly Tag[];
  16. class: string;
  17. }[], options?: {
  18. scope?: (node: NodeType) => boolean;
  19. all?: string;
  20. }): Highlighter;
  21. export declare function highlightTree(tree: Tree, highlighter: Highlighter | readonly Highlighter[], putStyle: (from: number, to: number, classes: string) => void, from?: number, to?: number): void;
  22. export declare const tags: {
  23. comment: Tag;
  24. lineComment: Tag;
  25. blockComment: Tag;
  26. docComment: Tag;
  27. name: Tag;
  28. variableName: Tag;
  29. typeName: Tag;
  30. tagName: Tag;
  31. propertyName: Tag;
  32. attributeName: Tag;
  33. className: Tag;
  34. labelName: Tag;
  35. namespace: Tag;
  36. macroName: Tag;
  37. literal: Tag;
  38. string: Tag;
  39. docString: Tag;
  40. character: Tag;
  41. attributeValue: Tag;
  42. number: Tag;
  43. integer: Tag;
  44. float: Tag;
  45. bool: Tag;
  46. regexp: Tag;
  47. escape: Tag;
  48. color: Tag;
  49. url: Tag;
  50. keyword: Tag;
  51. self: Tag;
  52. null: Tag;
  53. atom: Tag;
  54. unit: Tag;
  55. modifier: Tag;
  56. operatorKeyword: Tag;
  57. controlKeyword: Tag;
  58. definitionKeyword: Tag;
  59. moduleKeyword: Tag;
  60. operator: Tag;
  61. derefOperator: Tag;
  62. arithmeticOperator: Tag;
  63. logicOperator: Tag;
  64. bitwiseOperator: Tag;
  65. compareOperator: Tag;
  66. updateOperator: Tag;
  67. definitionOperator: Tag;
  68. typeOperator: Tag;
  69. controlOperator: Tag;
  70. punctuation: Tag;
  71. separator: Tag;
  72. bracket: Tag;
  73. angleBracket: Tag;
  74. squareBracket: Tag;
  75. paren: Tag;
  76. brace: Tag;
  77. content: Tag;
  78. heading: Tag;
  79. heading1: Tag;
  80. heading2: Tag;
  81. heading3: Tag;
  82. heading4: Tag;
  83. heading5: Tag;
  84. heading6: Tag;
  85. contentSeparator: Tag;
  86. list: Tag;
  87. quote: Tag;
  88. emphasis: Tag;
  89. strong: Tag;
  90. link: Tag;
  91. monospace: Tag;
  92. strikethrough: Tag;
  93. inserted: Tag;
  94. deleted: Tag;
  95. changed: Tag;
  96. invalid: Tag;
  97. meta: Tag;
  98. documentMeta: Tag;
  99. annotation: Tag;
  100. processingInstruction: Tag;
  101. definition: (tag: Tag) => Tag;
  102. constant: (tag: Tag) => Tag;
  103. function: (tag: Tag) => Tag;
  104. standard: (tag: Tag) => Tag;
  105. local: (tag: Tag) => Tag;
  106. special: (tag: Tag) => Tag;
  107. };
  108. export declare const classHighlighter: Highlighter;