325c34aac77b8de3ae8425c8cba1b8ee5a81638d35919a33d23d79b0705269c121a0b55dd257b27ec1ec2962767d87565cef3cd4b35022baf783e31d0a94ab 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import Delta from 'quill-delta';
  2. import type { Blot, ScrollBlot } from 'parchment';
  3. import Inline from '../blots/inline.js';
  4. import Quill from '../core/quill.js';
  5. import Module from '../core/module.js';
  6. import CodeBlock, { CodeBlockContainer } from '../formats/code.js';
  7. declare class CodeToken extends Inline {
  8. static formats(node: Element, scroll: ScrollBlot): any;
  9. constructor(scroll: ScrollBlot, domNode: Node, value: unknown);
  10. format(format: string, value: unknown): void;
  11. optimize(...args: unknown[]): void;
  12. }
  13. declare class SyntaxCodeBlock extends CodeBlock {
  14. static create(value: unknown): HTMLElement;
  15. static formats(domNode: Node): any;
  16. static register(): void;
  17. format(name: string, value: unknown): void;
  18. replaceWith(name: string | Blot, value?: any): Blot;
  19. }
  20. declare class SyntaxCodeBlockContainer extends CodeBlockContainer {
  21. forceNext?: boolean;
  22. cachedText?: string | null;
  23. attach(): void;
  24. format(name: string, value: unknown): void;
  25. formatAt(index: number, length: number, name: string, value: unknown): void;
  26. highlight(highlight: (text: string, language: string) => Delta, forced?: boolean): void;
  27. html(index: number, length: number): string;
  28. optimize(context: Record<string, any>): void;
  29. }
  30. interface SyntaxOptions {
  31. interval: number;
  32. languages: {
  33. key: string;
  34. label: string;
  35. }[];
  36. hljs: any;
  37. }
  38. declare class Syntax extends Module<SyntaxOptions> {
  39. static DEFAULTS: SyntaxOptions & {
  40. hljs: any;
  41. };
  42. static register(): void;
  43. languages: Record<string, true>;
  44. constructor(quill: Quill, options: Partial<SyntaxOptions>);
  45. initListener(): void;
  46. initTimer(): void;
  47. highlight(blot?: SyntaxCodeBlockContainer | null, force?: boolean): void;
  48. highlightBlot(text: string, language?: string): Delta;
  49. }
  50. export { SyntaxCodeBlock as CodeBlock, CodeToken, Syntax as default };