@rokucommunity/bslint
Version:
BrighterScript linter plugin
50 lines (49 loc) • 2.23 kB
TypeScript
import { BsLintConfig, BsLintRules } from './index';
import { Program, BscFile, DiagnosticSeverity } from 'brighterscript';
import { ChangeEntry, TextEdit } from './textEdit';
export declare function getDefaultRules(): BsLintConfig['rules'];
export declare function getDefaultSeverity(): {
assignAllPath: DiagnosticSeverity;
unreachableCode: DiagnosticSeverity;
unsafePathLoop: DiagnosticSeverity;
unsafeIterators: DiagnosticSeverity;
caseSensitivity: DiagnosticSeverity;
unusedVariable: DiagnosticSeverity;
consistentReturn: DiagnosticSeverity;
inlineIfStyle: import("./index").RuleInlineIf;
blockIfStyle: import("./index").RuleBlockIf;
conditionStyle: import("./index").RuleCondition;
namedFunctionStyle: import("./index").RuleFunction;
anonFunctionStyle: import("./index").RuleFunction;
aaCommaStyle: import("./index").RuleAAComma;
typeAnnotations: import("./index").RuleTypeAnnotations;
noPrint: DiagnosticSeverity;
noTodo: DiagnosticSeverity;
noStop: DiagnosticSeverity;
eolLast: import("./index").RuleEolLast;
colorFormat: import("./index").RuleColorFormat;
colorCase: import("./index").RuleColorCase;
colorAlpha: import("./index").RuleColorAlpha;
colorAlphaDefaults: import("./index").RuleColorAlphaDefaults;
colorCertCompliant: import("./index").RuleColorCertCompliant;
noAssocarrayComponentFieldType: DiagnosticSeverity;
noArrayComponentFieldType: DiagnosticSeverity;
noRegexDuplicates: DiagnosticSeverity;
};
export declare function normalizeConfig(options: BsLintConfig): BsLintConfig;
export declare function mergeConfigs(a: BsLintConfig, b: BsLintConfig): BsLintConfig;
export interface PluginContext {
program: Readonly<Program>;
severity: Readonly<BsLintRules>;
todoPattern: Readonly<RegExp>;
globals: string[];
ignores: (file: BscFile) => boolean;
fix: Readonly<boolean>;
checkUsage: Readonly<boolean>;
addFixes: (file: BscFile, entry: ChangeEntry) => void;
}
export interface PluginWrapperContext extends PluginContext {
pendingFixes: Map<string, TextEdit[]>;
applyFixes: () => Promise<void>;
}
export declare function createContext(program: Program): PluginWrapperContext;