/usr/share/nodejs/@types/codemirror/addon/lint
Edit: /usr/share/nodejs/@types/codemirror/addon/lint/lint.d.ts (2875B)
import * as CodeMirror from '../../';
export interface BaseLintStateOptions
{
/** debounce delay before linting onChange */
delay?: number | undefined;
/** callback to modify an annotation before display */
formatAnnotation?: ((annotation: Annotation) => Annotation) | undefined;
/** whether to lint onChange event */
lintOnChange?: boolean | undefined;
selfContain?: boolean | undefined;
/** callback after linter completes */
onUpdateLinting?(annotationsNotSorted: Annotation[], annotations: Annotation[], codeMirror: CodeMirror.Editor): void;
/**
* Passing rules in `options` property prevents JSHint (and other linters) from complaining
* about unrecognized rules like `onUpdateLinting`, `delay`, `lintOnChange`, etc.
*/
options?: T | undefined;
/** controls display of lint tooltips */
tooltips?: boolean | 'gutter' | undefined;
}
export interface SyncLintStateOptions extends BaseLintStateOptions {
async?: false | undefined;
getAnnotations?: Linter | undefined;
}
export interface AsyncLintStateOptions extends BaseLintStateOptions {
/** specifies that the lint process runs asynchronously */
async: true;
getAnnotations?: AsyncLinter | undefined;
}
export type LintStateOptions = SyncLintStateOptions | AsyncLintStateOptions;
/**
* A function that return errors found during the linting process.
*/
export interface Linter {
(content: string, options: T, codeMirror: CodeMirror.Editor):
| Annotation[]
| PromiseLike;
}
/**
* A function that calls the updateLintingCallback with any errors found during the linting process.
*/
export interface AsyncLinter {
(
content: string,
updateLintingCallback: UpdateLintingCallback,
options: T,
codeMirror: CodeMirror.Editor,
): void;
}
/**
* A function that, given an array of annotations, updates the CodeMirror linting GUI with those annotations
*/
export interface UpdateLintingCallback {
(annotations: Annotation[]): void;
(codeMirror: CodeMirror.Editor, annotations: Annotation[]): void;
}
/**
* An annotation contains a description of a lint error, detailing the location of the error within the code, the severity of the error,
* and an explaination as to why the error was thrown.
*/
export interface Annotation {
from: CodeMirror.Position;
message?: string | undefined;
severity?: string | undefined;
to?: CodeMirror.Position | undefined;
}
declare module '../../' {
interface Editor {
performLint: () => void;
}
interface EditorConfiguration {
/** Optional lint configuration to be used in conjunction with CodeMirror's linter addon. */
lint?: boolean | LintStateOptions | Linter | undefined;
}
namespace lint {}
}