@ks89/ngx-codemirror6
Version:
Codemirror 6 library for Angular
488 lines (481 loc) • 30.5 kB
TypeScript
import * as i0 from '@angular/core';
import { AfterViewInit, OnChanges, OnDestroy, EventEmitter, ElementRef, SimpleChanges } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import * as _codemirror_autocomplete from '@codemirror/autocomplete';
import { CompletionSource, Completion } from '@codemirror/autocomplete';
import { linter, LintSource } from '@codemirror/lint';
import { EditorView, KeyBinding, gutter, DecorationSet, tooltips, hoverTooltip, PanelConstructor, Tooltip, ViewUpdate, Panel } from '@codemirror/view';
import { Extension, EditorState, EditorSelection, EditorStateConfig, TransactionSpec } from '@codemirror/state';
import * as _codemirror_search from '@codemirror/search';
import { codeFolding, foldGutter } from '@codemirror/language';
/** Module type for the optional @codemirror/autocomplete package. */
type AutocompleteModule$1 = typeof _codemirror_autocomplete;
type SearchModule = typeof _codemirror_search;
type AutocompleteModule = typeof _codemirror_autocomplete;
/** Key binding input accepted by the wrapper, either a flat keymap or grouped keymaps. */
type KeymapInput = readonly KeyBinding[] | readonly (readonly KeyBinding[])[];
/** Configuration accepted by @codemirror/search's search extension. */
type CodemirrorSearchConfig = Parameters<SearchModule['search']>[0];
/** Configuration accepted by @codemirror/autocomplete's autocompletion extension. */
type CodemirrorAutocompletionConfig = Parameters<AutocompleteModule['autocompletion']>[0];
/** Configuration accepted by @codemirror/language's codeFolding extension. */
type CodemirrorCodeFoldingConfig = Parameters<typeof codeFolding>[0];
/** Configuration accepted by @codemirror/language's foldGutter extension. */
type CodemirrorFoldGutterConfig = Parameters<typeof foldGutter>[0];
/** Configuration accepted by @codemirror/lint's linter extension. */
type CodemirrorLintConfig = Parameters<typeof linter>[1];
/** Configuration accepted by @codemirror/view's gutter extension. */
type CodemirrorGutterConfig = Parameters<typeof gutter>[0];
/** Static or computed attributes for CodeMirror editor/content DOM elements. */
type CodemirrorAttributeSource = Record<string, string> | ((view: EditorView) => Record<string, string> | null);
/** Style spec accepted by EditorView.baseTheme. */
type CodemirrorBaseTheme = Parameters<typeof EditorView.baseTheme>[0];
/** Configuration accepted by @codemirror/view's tooltips extension. */
type CodemirrorTooltipConfig = Parameters<typeof tooltips>[0];
/** Source function accepted by @codemirror/view's hoverTooltip extension. */
type CodemirrorHoverTooltipSource = Parameters<typeof hoverTooltip>[0];
/** Options accepted by @codemirror/view's hoverTooltip extension. */
type CodemirrorHoverTooltipOptions = Parameters<typeof hoverTooltip>[1];
/** Decoration source accepted by EditorView.decorations. */
type CodemirrorDecorationSource = DecorationSet | ((view: EditorView) => DecorationSet);
/** Simple mark decoration range used by the wrapper markedRanges input. */
interface CodemirrorMarkedRange {
/** Inclusive start document offset, clamped to zero by the wrapper. */
from: number;
/** Exclusive end document offset, clamped to the document length by the wrapper. */
to: number;
/** CSS class applied to the marked range. */
class?: string;
/** DOM attributes applied to the generated mark. */
attributes?: Record<string, string>;
/** Optional tag name used for the mark element. */
tagName?: string;
/** Whether the mark is inclusive on both sides. */
inclusive?: boolean;
/** Whether the mark includes inserted content at the start boundary. */
inclusiveStart?: boolean;
/** Whether the mark includes inserted content at the end boundary. */
inclusiveEnd?: boolean;
}
/** Folded range returned by getFoldedRanges. */
interface CodemirrorFoldedRange {
/** Fold start document offset. */
from: number;
/** Fold end document offset. */
to: number;
}
/**
* The MIT License (MIT)
*
* Copyright (c) 2023-2026 Stefano Cappa (Ks89)
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
/**
* Angular wrapper component for CodeMirror 6.
* Provides declarative inputs for common CodeMirror extensions plus imperative methods for editor commands.
*/
declare class CodemirrorComponent implements AfterViewInit, ControlValueAccessor, OnChanges, OnDestroy {
/** Initial and externally controlled editor document text. */
content: string;
/** Additional CodeMirror extensions appended after the wrapper-managed extensions. */
appendExtensions: Extension[];
/** Language support extension, such as one returned by a @codemirror/lang-* package. */
language: Extension;
/**
* Main switch for read-only mode.
* Maps to CodeMirror's EditorState.readOnly facet, which editing commands and extensions consult before changing the document.
* In most applications this is the only input you need: true makes the editor read-only, false makes it editable.
*/
readOnly: boolean;
/**
* Advanced DOM editability override.
* Maps to CodeMirror's EditorView.editable facet, which controls whether the content DOM is browser-editable/focusable.
* Leave null for normal use; the wrapper then derives it from readOnly with editable = !readOnly.
*/
editable: boolean | null;
/** Theme extension or extensions applied to the editor view. */
theme: Extension | Extension[];
/** Enables CodeMirror's line wrapping extension for long visual lines. */
lineWrapping: boolean;
/** Placeholder text shown when the editor document is empty. */
placeholder: string;
/** Shows a line-number gutter. */
lineNumbers: boolean;
/** Custom formatter for displayed line numbers in the line-number gutter. */
lineNumberFormatter: ((lineNo: number, state: EditorState) => string) | null;
/** Highlights the visual line containing the primary selection. */
highlightActiveLine: boolean;
/** Highlights the gutter for the active line when a gutter is visible. */
highlightActiveLineGutter: boolean;
/** Enables bracket matching around the cursor through @codemirror/language. */
bracketMatching: boolean;
/** Highlights unusual or special characters with CodeMirror's special-character highlighter. */
highlightSpecialChars: boolean;
/** Renders visible markers for whitespace characters. */
highlightWhitespace: boolean;
/** Renders visible markers for trailing whitespace at line ends. */
highlightTrailingWhitespace: boolean;
/** Allows scrolling past the end of the document. */
scrollPastEnd: boolean;
/** Number of columns used to display tab characters in the editor state. */
tabSize: number;
/** Indentation unit used by language-aware indentation services. */
indentUnit: string;
/** Custom key bindings or groups of key bindings registered with CodeMirror's keymap extension. */
keymaps: KeymapInput;
/** Allows the editor state to hold multiple selection ranges. */
multipleSelections: boolean;
/** Draws the selection with editor-managed DOM so multiple selections and custom selection rendering are visible. */
drawSelection: boolean;
/**
* Non-read-only editing inputs.
* These inputs affect editing behavior and are useful only when the editor can accept document edits.
*/
/** Enables automatic indentation when typed input matches language indentation rules. */
indentOnInput: boolean;
/**
* Optional package: @codemirror/autocomplete.
* Install @codemirror/autocomplete in the consuming application to use these inputs.
* These inputs are also non-read-only editing inputs.
*/
/** Enables automatic closing of brackets through @codemirror/autocomplete when that optional package is installed. */
closeBrackets: boolean;
/** Enables the completion UI through @codemirror/autocomplete. */
autocompletion: boolean;
/** Completion source or sources added to language completions through CodeMirror language data. */
completions: CompletionSource | CompletionSource[] | null;
/** Configuration object forwarded to @codemirror/autocomplete's autocompletion extension. */
autocompletionConfig: CodemirrorAutocompletionConfig | null;
/**
* Optional package: @codemirror/commands.
* Install @codemirror/commands in the consuming application to use these inputs.
* These inputs are also non-read-only editing inputs.
*/
/** Adds CodeMirror's Tab indentation key binding through @codemirror/commands. */
indentWithTab: boolean;
/**
* Optional package: @codemirror/lint.
* Install @codemirror/lint in the consuming application to use these inputs.
*/
/** Enables lint diagnostics when a linter source is provided. */
lint: boolean;
/** Lint source used by @codemirror/lint to produce diagnostics for the current editor view. */
linter: LintSource | null;
/** Configuration object forwarded to @codemirror/lint's linter extension. */
lintConfig: CodemirrorLintConfig | null;
/** Shows CodeMirror's lint gutter for diagnostic markers. */
lintGutter: boolean;
/** Registers CodeMirror's default lint key bindings. */
lintKeymap: boolean;
/**
* Optional package: @codemirror/search.
* Install @codemirror/search in the consuming application to use these inputs.
*/
/** Highlights other occurrences of the current selection through @codemirror/search. */
highlightSelectionMatches: boolean;
/** Enables CodeMirror's search state and search panel support through @codemirror/search. */
search: boolean;
/** Configuration object forwarded to @codemirror/search's search extension. */
searchConfig: CodemirrorSearchConfig | null;
/** Registers the default search key bindings. */
searchKeymap: boolean;
/**
* Core dependency: @codemirror/language.
* These inputs do not require optional packages.
*/
/** Enables code folding commands and folded range state through @codemirror/language. */
codeFolding: boolean;
/** Configuration object forwarded to CodeMirror's codeFolding extension. */
codeFoldingConfig: CodemirrorCodeFoldingConfig | null;
/** Shows a gutter with fold controls. */
foldGutter: boolean;
/** Configuration object forwarded to CodeMirror's foldGutter extension. */
foldGutterConfig: CodemirrorFoldGutterConfig | null;
/** Registers CodeMirror's default folding key bindings. */
foldKeymap: boolean;
/**
* Core dependency: @codemirror/view gutters, decorations, panels, and tooltips.
* These inputs do not require optional packages.
*/
/** Custom gutter configurations forwarded to CodeMirror's gutter extension. */
customGutters: readonly CodemirrorGutterConfig[];
/** Controls whether configured gutters are fixed during horizontal scrolling; null keeps CodeMirror's default. */
guttersFixed: boolean | null;
/** Adds the wrapper's clickable breakpoint gutter. */
breakpointGutter: boolean;
/** One-based line numbers that should display breakpoint markers in the breakpoint gutter. */
breakpoints: readonly number[];
/** Decoration set or dynamic decoration sources registered with EditorView.decorations. */
decorations: CodemirrorDecorationSource | readonly CodemirrorDecorationSource[] | null;
/** Simple marked document ranges converted to CodeMirror mark decorations. */
markedRanges: readonly CodemirrorMarkedRange[];
/** Panel constructor or constructors shown with CodeMirror's showPanel facet. */
panels: PanelConstructor | readonly PanelConstructor[] | null;
/** Tooltip descriptor or descriptors shown with CodeMirror's showTooltip facet. */
tooltips: Tooltip | readonly (Tooltip | null)[] | null;
/** Tooltip positioning configuration forwarded to CodeMirror's tooltips extension. */
tooltipConfig: CodemirrorTooltipConfig | null;
/** Hover tooltip source used to create contextual tooltips from document positions. */
hoverTooltip: CodemirrorHoverTooltipSource | null;
/** Options forwarded to CodeMirror's hoverTooltip extension, such as hover delay. */
hoverTooltipOptions: CodemirrorHoverTooltipOptions | null;
/**
* Core dependency: @codemirror/view styling and security.
* These inputs do not require optional packages.
*/
/** CSP nonce attached to CodeMirror style elements created by the editor view. */
cspNonce: string | null;
/** Static attributes or an attribute provider applied to the outer .cm-editor element. */
editorAttributes: CodemirrorAttributeSource | null;
/** Static attributes or an attribute provider applied to the editable content element. */
contentAttributes: CodemirrorAttributeSource | null;
/** Base theme rules applied with EditorView.baseTheme for structural or feature-specific styling. */
baseTheme: CodemirrorBaseTheme | null;
/** Emits the created CodeMirror EditorView after the editor is initialized. */
editorReady: EventEmitter<EditorView>;
/** Emits the full document text after user/editor transactions change the document. */
contentChange: EventEmitter<string>;
/** Emits every CodeMirror ViewUpdate produced by the editor view. */
update: EventEmitter<ViewUpdate>;
/** Emits the current EditorSelection whenever a transaction changes the selection. */
selectionChange: EventEmitter<EditorSelection>;
/** Emits the updated one-based breakpoint line numbers after the breakpoint gutter toggles a marker. */
breakpointsChange: EventEmitter<number[]>;
host: ElementRef<HTMLElement> | undefined;
private editorView;
private languageCompartment;
private readOnlyCompartment;
private editableCompartment;
private themeCompartment;
private displayCompartment;
private indentationCompartment;
private keymapCompartment;
private selectionCompartment;
private autocompleteCompartment;
private lintCompartment;
private searchCompartment;
private foldingCompartment;
private gutterCompartment;
private decorationCompartment;
private panelCompartment;
private tooltipCompartment;
private stylingCompartment;
private appendExtensionsCompartment;
private cspNonceCompartment;
private readonly breakpointSetEffect;
private readonly breakpointToggleEffect;
private readonly breakpointStateField;
private readonly markedRangesSetEffect;
private readonly markedRangesStateField;
private disabled;
private destroyed;
private editorCreationVersion;
private reconfigureVersion;
private updatingContentFromModel;
private onChange;
private onTouched;
private optionalPackages;
private readonly errorHandler;
/** Creates the CodeMirror editor after Angular has initialized the host element. */
ngAfterViewInit(): void;
/** Reconfigures the live editor when Angular input bindings change. */
ngOnChanges(changes: SimpleChanges): void;
private reconfigureEditor;
/** Destroys the CodeMirror editor view and prevents pending async initialization from recreating it. */
ngOnDestroy(): void;
/**
* Implements ControlValueAccessor.writeValue.
* Angular forms call this method when the external form model writes a value into the editor.
*/
writeValue(value: string | null | undefined): void;
/**
* Implements ControlValueAccessor.registerOnChange.
* Angular forms call this method to register the callback that receives editor document changes.
*/
registerOnChange(fn: (value: string) => void): void;
/**
* Implements ControlValueAccessor.registerOnTouched.
* Angular forms call this method to register the callback emitted when the editor is touched.
*/
registerOnTouched(fn: () => void): void;
/**
* Implements ControlValueAccessor.setDisabledState.
* Angular forms call this method when the form control is enabled or disabled.
*/
setDisabledState(isDisabled: boolean): void;
/**
* Recreates the editor from a CodeMirror state configuration while preserving wrapper-managed behavior.
* User-provided extensions are appended after the wrapper extensions.
*/
resetEditor(config: EditorStateConfig): Promise<void>;
/** Moves focus to the CodeMirror editor when it exists. */
focus(): void;
/** Returns the current editor document text, or the pending content input before initialization. */
getValue(): string;
/** Replaces the full editor document and synchronizes the content input cache. */
setValue(value: string): void;
/** Dispatches one or more raw CodeMirror transaction specs to the editor. */
dispatch(...specs: TransactionSpec[]): void;
/** Replaces the current selection ranges with the provided text. */
replaceSelection(text: string): void;
/** Scrolls a document position into view, clamping the position to the document bounds. */
scrollToPosition(position: number): void;
/** Scrolls a one-based document line into view, clamping the line to the document bounds. */
scrollToLine(line: number): void;
/** Scrolls the primary selection range into view. */
scrollSelectionIntoView(): void;
/** Serializes the editor state, including history and fold state when those extensions are active. */
toJSON(): unknown;
/** Restores a serialized CodeMirror state produced by toJSON. */
restoreFromJSON(json: unknown): Promise<void>;
/** Runs the @codemirror/commands undo command. Requires @codemirror/commands. */
undo(): Promise<boolean>;
/** Runs the @codemirror/commands redo command. Requires @codemirror/commands. */
redo(): Promise<boolean>;
/** Opens CodeMirror's search panel. Requires @codemirror/search. */
openSearchPanel(): Promise<boolean>;
/** Closes CodeMirror's search panel. Requires @codemirror/search. */
closeSearchPanel(): Promise<boolean>;
/** Returns true when the search panel is open and @codemirror/search has been loaded. */
isSearchPanelOpen(): boolean;
/** Selects the next search match. Requires @codemirror/search. */
findNext(): Promise<boolean>;
/** Selects the previous search match. Requires @codemirror/search. */
findPrevious(): Promise<boolean>;
/** Replaces the current search match. Requires @codemirror/search. */
replaceNext(): Promise<boolean>;
/** Replaces all search matches. Requires @codemirror/search. */
replaceAll(): Promise<boolean>;
/** Opens CodeMirror's go-to-line command UI. Requires @codemirror/search. */
gotoLine(): Promise<boolean>;
/** Adds the next occurrence of the current selection to the selection set. Requires @codemirror/search. */
selectNextOccurrence(): Promise<boolean>;
/** Selects matches for the current selection. Requires @codemirror/search. */
selectSelectionMatches(): Promise<boolean>;
/** Selects all matches for the active search query. Requires @codemirror/search. */
selectMatches(): Promise<boolean>;
/** Folds the foldable range at the current selection. */
foldCode(): boolean;
/** Unfolds the folded range at the current selection. */
unfoldCode(): boolean;
/** Toggles folding at the current selection. */
toggleFold(): boolean;
/** Folds all foldable ranges in the document. */
foldAll(): boolean;
/** Unfolds all folded ranges in the document. */
unfoldAll(): boolean;
/** Returns the current folded document ranges. */
getFoldedRanges(): CodemirrorFoldedRange[];
/** Opens the completion UI. Requires @codemirror/autocomplete. */
startCompletion(): Promise<boolean>;
/** Closes the completion UI. Requires @codemirror/autocomplete. */
closeCompletion(): Promise<boolean>;
/** Accepts the selected completion. Requires @codemirror/autocomplete. */
acceptCompletion(): Promise<boolean>;
/** Returns the current completion UI status, or null before @codemirror/autocomplete is loaded. */
completionStatus(): ReturnType<AutocompleteModule$1['completionStatus']>;
/** Returns the currently available completion options, or an empty array when completion is inactive. */
currentCompletions(): readonly Completion[];
/** Returns the currently selected completion option, or null when none is selected. */
selectedCompletion(): Completion | null;
/** Returns the selected completion option index, or null when completion is inactive. */
selectedCompletionIndex(): number | null;
/** Toggles a breakpoint marker for a one-based line number and emits breakpointsChange. */
toggleBreakpoint(line: number): void;
/** Returns true when the one-based line number has a breakpoint marker. */
hasBreakpoint(line: number): boolean;
/** Adds a cursor on the line above the current selection. Requires @codemirror/commands. */
addCursorAbove(): Promise<boolean>;
/** Adds a cursor on the line below the current selection. Requires @codemirror/commands. */
addCursorBelow(): Promise<boolean>;
/** Toggles line or block comments for the current selection. Requires @codemirror/commands. */
toggleComment(): Promise<boolean>;
/** Toggles line comments for the current selection. Requires @codemirror/commands. */
toggleLineComment(): Promise<boolean>;
/** Adds line comments to the current selection. Requires @codemirror/commands. */
lineComment(): Promise<boolean>;
/** Removes line comments from the current selection. Requires @codemirror/commands. */
lineUncomment(): Promise<boolean>;
/** Toggles block comments for the current selection. Requires @codemirror/commands. */
toggleBlockComment(): Promise<boolean>;
/** Indents the current selection one level deeper. Requires @codemirror/commands. */
indentMore(): Promise<boolean>;
/** Reduces indentation for the current selection by one level. Requires @codemirror/commands. */
indentLess(): Promise<boolean>;
/** Applies language-aware indentation to the current selection. Requires @codemirror/commands. */
indentSelection(): Promise<boolean>;
/** Deletes the selected lines. Requires @codemirror/commands. */
deleteLine(): Promise<boolean>;
/** Moves the selected lines up. Requires @codemirror/commands. */
moveLineUp(): Promise<boolean>;
/** Moves the selected lines down. Requires @codemirror/commands. */
moveLineDown(): Promise<boolean>;
/** Selects the current line. Requires @codemirror/commands. */
selectLine(): Promise<boolean>;
/** Moves the cursor to the matching bracket when one is available. Requires @codemirror/commands. */
cursorMatchingBracket(): Promise<boolean>;
/** Toggles Tab focus mode. Requires @codemirror/commands. */
toggleTabFocusMode(): Promise<boolean>;
/** Returns true when hover tooltip sources are active in the editor state. */
hasHoverTooltips(): boolean;
/** Activates hover tooltips at a document position. */
activateHover(position: number, side?: -1 | 1): void;
/** Closes currently visible hover tooltips. */
closeHoverTooltips(): void;
/** Recomputes tooltip positions for the current editor layout. */
repositionTooltips(): void;
/** Returns the active panel instance for the given panel constructor, when mounted. */
getPanel(panel: PanelConstructor): Panel | null;
/** Recreates the editor with the same document and selection, clearing undo/redo history. */
clearHistory(): Promise<void>;
private createEditor;
private mountEditorState;
private createExtensions;
private getReconfigureEffects;
private getDisplayConfig;
private getIndentationConfig;
private getKeymapConfig;
private getSelectionConfig;
private getAutocompletionConfig;
private getLintConfig;
private getSearchConfig;
private getFoldingConfig;
private getGutterConfig;
private getDecorationConfig;
private getTooltipConfig;
private getStylingConfig;
private createBreakpointPositions;
private getBreakpointLineNumbers;
private toggleBreakpointPosition;
private normalizeBreakpointPositions;
private normalizeBreakpointLineNumbers;
private setEditorContent;
private destroyEditor;
static ɵfac: i0.ɵɵFactoryDeclaration<CodemirrorComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<CodemirrorComponent, "ks-codemirror", never, { "content": { "alias": "content"; "required": false; }; "appendExtensions": { "alias": "appendExtensions"; "required": false; }; "language": { "alias": "language"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; "editable": { "alias": "editable"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; "lineWrapping": { "alias": "lineWrapping"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "lineNumbers": { "alias": "lineNumbers"; "required": false; }; "lineNumberFormatter": { "alias": "lineNumberFormatter"; "required": false; }; "highlightActiveLine": { "alias": "highlightActiveLine"; "required": false; }; "highlightActiveLineGutter": { "alias": "highlightActiveLineGutter"; "required": false; }; "bracketMatching": { "alias": "bracketMatching"; "required": false; }; "highlightSpecialChars": { "alias": "highlightSpecialChars"; "required": false; }; "highlightWhitespace": { "alias": "highlightWhitespace"; "required": false; }; "highlightTrailingWhitespace": { "alias": "highlightTrailingWhitespace"; "required": false; }; "scrollPastEnd": { "alias": "scrollPastEnd"; "required": false; }; "tabSize": { "alias": "tabSize"; "required": false; }; "indentUnit": { "alias": "indentUnit"; "required": false; }; "keymaps": { "alias": "keymaps"; "required": false; }; "multipleSelections": { "alias": "multipleSelections"; "required": false; }; "drawSelection": { "alias": "drawSelection"; "required": false; }; "indentOnInput": { "alias": "indentOnInput"; "required": false; }; "closeBrackets": { "alias": "closeBrackets"; "required": false; }; "autocompletion": { "alias": "autocompletion"; "required": false; }; "completions": { "alias": "completions"; "required": false; }; "autocompletionConfig": { "alias": "autocompletionConfig"; "required": false; }; "indentWithTab": { "alias": "indentWithTab"; "required": false; }; "lint": { "alias": "lint"; "required": false; }; "linter": { "alias": "linter"; "required": false; }; "lintConfig": { "alias": "lintConfig"; "required": false; }; "lintGutter": { "alias": "lintGutter"; "required": false; }; "lintKeymap": { "alias": "lintKeymap"; "required": false; }; "highlightSelectionMatches": { "alias": "highlightSelectionMatches"; "required": false; }; "search": { "alias": "search"; "required": false; }; "searchConfig": { "alias": "searchConfig"; "required": false; }; "searchKeymap": { "alias": "searchKeymap"; "required": false; }; "codeFolding": { "alias": "codeFolding"; "required": false; }; "codeFoldingConfig": { "alias": "codeFoldingConfig"; "required": false; }; "foldGutter": { "alias": "foldGutter"; "required": false; }; "foldGutterConfig": { "alias": "foldGutterConfig"; "required": false; }; "foldKeymap": { "alias": "foldKeymap"; "required": false; }; "customGutters": { "alias": "customGutters"; "required": false; }; "guttersFixed": { "alias": "guttersFixed"; "required": false; }; "breakpointGutter": { "alias": "breakpointGutter"; "required": false; }; "breakpoints": { "alias": "breakpoints"; "required": false; }; "decorations": { "alias": "decorations"; "required": false; }; "markedRanges": { "alias": "markedRanges"; "required": false; }; "panels": { "alias": "panels"; "required": false; }; "tooltips": { "alias": "tooltips"; "required": false; }; "tooltipConfig": { "alias": "tooltipConfig"; "required": false; }; "hoverTooltip": { "alias": "hoverTooltip"; "required": false; }; "hoverTooltipOptions": { "alias": "hoverTooltipOptions"; "required": false; }; "cspNonce": { "alias": "cspNonce"; "required": false; }; "editorAttributes": { "alias": "editorAttributes"; "required": false; }; "contentAttributes": { "alias": "contentAttributes"; "required": false; }; "baseTheme": { "alias": "baseTheme"; "required": false; }; }, { "editorReady": "editorReady"; "contentChange": "contentChange"; "update": "update"; "selectionChange": "selectionChange"; "breakpointsChange": "breakpointsChange"; }, never, never, false, never>;
}
/** Angular module that declares and exports the ngx-codemirror6 component. */
declare class CodemirrorModule {
static ɵfac: i0.ɵɵFactoryDeclaration<CodemirrorModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<CodemirrorModule, [typeof CodemirrorComponent], never, [typeof CodemirrorComponent]>;
static ɵinj: i0.ɵɵInjectorDeclaration<CodemirrorModule>;
}
export { CodemirrorComponent, CodemirrorModule };
export type { CodemirrorAttributeSource, CodemirrorAutocompletionConfig, CodemirrorBaseTheme, CodemirrorCodeFoldingConfig, CodemirrorDecorationSource, CodemirrorFoldGutterConfig, CodemirrorFoldedRange, CodemirrorGutterConfig, CodemirrorHoverTooltipOptions, CodemirrorHoverTooltipSource, CodemirrorLintConfig, CodemirrorMarkedRange, CodemirrorSearchConfig, CodemirrorTooltipConfig, KeymapInput };