@finos/legend-application-pure-ide
Version:
Legend Pure IDE application core
77 lines • 3.49 kB
TypeScript
/**
* Copyright (c) 2020-present, Goldman Sachs
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { type CommandRegistrar } from '@finos/legend-application';
import { type CodeEditorPosition } from '@finos/legend-code-editor';
import { type GeneratorFn } from '@finos/legend-shared';
import { editor as monacoEditorAPI, type Position, type Selection } from 'monaco-editor';
import { FileCoordinate, type File, type FileErrorCoordinate } from '../server/models/File.js';
import { type ConceptInfo } from '../server/models/Usage.js';
import type { PureIDEStore } from './PureIDEStore.js';
import { PureIDETabState } from './PureIDETabManagerState.js';
import type { TabState } from '@finos/legend-lego/application';
declare class FileTextEditorState {
readonly model: monacoEditorAPI.ITextModel;
editor?: monacoEditorAPI.IStandaloneCodeEditor | undefined;
private _dummyCursorObservable;
language: string;
viewState?: monacoEditorAPI.ICodeEditorViewState | undefined;
forcedCursorPosition: CodeEditorPosition | undefined;
wrapText: boolean;
constructor(fileEditorState: FileEditorState);
notifyCursorObserver(): void;
get cursorObserver(): {
position: Position | undefined;
selection: Selection | undefined;
} | undefined;
setViewState(val: monacoEditorAPI.ICodeEditorViewState | undefined): void;
setEditor(val: monacoEditorAPI.IStandaloneCodeEditor | undefined): void;
setForcedCursorPosition(val: CodeEditorPosition | undefined): void;
setWrapText(val: boolean): void;
}
export declare class FileEditorRenameConceptState {
readonly fileEditorState: FileEditorState;
readonly concept: ConceptInfo;
readonly coordinate: FileCoordinate;
constructor(fileEditorState: FileEditorState, concept: ConceptInfo, coordiate: FileCoordinate);
}
export declare class FileEditorState extends PureIDETabState implements CommandRegistrar {
readonly filePath: string;
readonly textEditorState: FileTextEditorState;
private _currentHashCode;
file: File;
renameConceptState: FileEditorRenameConceptState | undefined;
showGoToLinePrompt: boolean;
constructor(ideStore: PureIDEStore, file: File, filePath: string);
get label(): string;
get description(): string | undefined;
get fileName(): string;
match(tab: TabState): boolean;
onClose(): void;
get hasChanged(): boolean;
resetChangeDetection(): void;
setFile(val: File): void;
setShowGoToLinePrompt(val: boolean): void;
setConceptToRenameState(coordinate: FileCoordinate | undefined): GeneratorFn<void>;
runTest(coordinate: FileCoordinate | undefined): GeneratorFn<void>;
showError(coordinate: FileErrorCoordinate): void;
clearError(): void;
registerCommands(): void;
findConceptUsages(coordinate: FileCoordinate): void;
renameConcept(newName: string): Promise<void>;
deregisterCommands(): void;
}
export {};
//# sourceMappingURL=FileEditorState.d.ts.map