diff --git a/build/monaco/monaco.d.ts.recipe b/build/monaco/monaco.d.ts.recipe index 16aaf48759c..c8f3930e150 100644 --- a/build/monaco/monaco.d.ts.recipe +++ b/build/monaco/monaco.d.ts.recipe @@ -43,8 +43,8 @@ declare module monaco { #include(vs/base/common/htmlContent): MarkedString #include(vs/base/browser/keyboardEvent): IKeyboardEvent #include(vs/base/browser/mouseEvent): IMouseEvent -#include(vs/editor/common/editorCommon): IScrollEvent, IPosition, IRange, ISelection -#include(vs/editor/common/core/position): Position +#include(vs/editor/common/editorCommon): IScrollEvent, IRange, ISelection +#include(vs/editor/common/core/position): IPosition, Position #include(vs/editor/common/core/range): Range #include(vs/editor/common/core/selection): Selection, SelectionDirection #include(vs/editor/common/core/token): Token diff --git a/src/vs/editor/browser/editorBrowser.ts b/src/vs/editor/browser/editorBrowser.ts index 520308f7d0e..937e94183aa 100644 --- a/src/vs/editor/browser/editorBrowser.ts +++ b/src/vs/editor/browser/editorBrowser.ts @@ -9,7 +9,7 @@ import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent'; import { IMouseEvent } from 'vs/base/browser/mouseEvent'; import { IConstructorSignature1 } from 'vs/platform/instantiation/common/instantiation'; import * as editorCommon from 'vs/editor/common/editorCommon'; -import { Position } from 'vs/editor/common/core/position'; +import { Position, IPosition } from 'vs/editor/common/core/position'; import { Range } from 'vs/editor/common/core/range'; import { FastDomNode } from 'vs/base/browser/fastDomNode'; import { ViewOutgoingEvents } from 'vs/editor/browser/view/viewOutgoingEvents'; @@ -272,7 +272,7 @@ export interface IContentWidgetPosition { * Desired position for the content widget. * `preference` will also affect the placement. */ - position: editorCommon.IPosition; + position: IPosition; /** * Placement preference for position, in order of preference. */ @@ -550,7 +550,7 @@ export interface ICodeEditor extends editorCommon.ICommonCodeEditor { * Explanation 2: the results of this method will not change if the container of the editor gets repositioned. * Warning: the results of this method are innacurate for positions that are outside the current editor viewport. */ - getScrolledVisiblePosition(position: editorCommon.IPosition): { top: number; left: number; height: number; }; + getScrolledVisiblePosition(position: IPosition): { top: number; left: number; height: number; }; /** * Set the model ranges that will be hidden in the view. diff --git a/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.ts b/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.ts index 0a7b9790bbb..88d7bc0ede5 100644 --- a/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.ts +++ b/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.ts @@ -7,18 +7,17 @@ import * as dom from 'vs/base/browser/dom'; import { FastDomNode, createFastDomNode } from 'vs/base/browser/fastDomNode'; -import * as editorCommon from 'vs/editor/common/editorCommon'; import { ClassNames, ContentWidgetPositionPreference, IContentWidget } from 'vs/editor/browser/editorBrowser'; import { ViewPart, PartFingerprint, PartFingerprints } from 'vs/editor/browser/view/viewPart'; import { ViewContext } from 'vs/editor/common/view/viewContext'; import { RenderingContext, RestrictedRenderingContext } from 'vs/editor/common/view/renderingContext'; -import { Position } from 'vs/editor/common/core/position'; +import { Position, IPosition } from 'vs/editor/common/core/position'; import * as viewEvents from 'vs/editor/common/view/viewEvents'; interface IWidgetData { allowEditorOverflow: boolean; widget: IContentWidget; - position: editorCommon.IPosition; + position: IPosition; preference: ContentWidgetPositionPreference[]; isVisible: boolean; domNode: FastDomNode; @@ -184,7 +183,7 @@ export class ViewContentWidgets extends ViewPart { this.setShouldRender(); } - public setWidgetPosition(widget: IContentWidget, position: editorCommon.IPosition, preference: ContentWidgetPositionPreference[]): void { + public setWidgetPosition(widget: IContentWidget, position: IPosition, preference: ContentWidgetPositionPreference[]): void { let widgetData = this._widgets[widget.getId()]; widgetData.position = position; diff --git a/src/vs/editor/browser/widget/codeEditorWidget.ts b/src/vs/editor/browser/widget/codeEditorWidget.ts index 1b9501a52f8..429615f881b 100644 --- a/src/vs/editor/browser/widget/codeEditorWidget.ts +++ b/src/vs/editor/browser/widget/codeEditorWidget.ts @@ -30,6 +30,7 @@ import Event, { Emitter } from 'vs/base/common/event'; import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent'; import { InternalEditorAction } from 'vs/editor/common/editorAction'; import { IEditorOptions } from "vs/editor/common/config/editorOptions"; +import { IPosition } from "vs/editor/common/core/position"; export abstract class CodeEditorWidget extends CommonCodeEditor implements editorBrowser.ICodeEditor { @@ -452,7 +453,7 @@ export abstract class CodeEditorWidget extends CommonCodeEditor implements edito return this._view.getCodeEditorHelper().getTargetAtClientPoint(clientX, clientY); } - public getScrolledVisiblePosition(rawPosition: editorCommon.IPosition): { top: number; left: number; height: number; } { + public getScrolledVisiblePosition(rawPosition: IPosition): { top: number; left: number; height: number; } { if (!this.hasView) { return null; } diff --git a/src/vs/editor/browser/widget/diffEditorWidget.ts b/src/vs/editor/browser/widget/diffEditorWidget.ts index 9e137b959c3..0a5ee5bca70 100644 --- a/src/vs/editor/browser/widget/diffEditorWidget.ts +++ b/src/vs/editor/browser/widget/diffEditorWidget.ts @@ -25,7 +25,7 @@ import * as editorBrowser from 'vs/editor/browser/editorBrowser'; import { CodeEditor } from 'vs/editor/browser/codeEditor'; import { ViewLineToken } from 'vs/editor/common/core/viewLineToken'; import { Configuration } from 'vs/editor/browser/config/configuration'; -import { Position } from 'vs/editor/common/core/position'; +import { Position, IPosition } from 'vs/editor/common/core/position'; import { Selection } from 'vs/editor/common/core/selection'; import { InlineDecoration } from 'vs/editor/common/viewModel/viewModel'; import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection'; @@ -578,7 +578,7 @@ export class DiffEditorWidget extends Disposable implements editorBrowser.IDiffE return this._domElement; } - public getVisibleColumnFromPosition(position: editorCommon.IPosition): number { + public getVisibleColumnFromPosition(position: IPosition): number { return this.modifiedEditor.getVisibleColumnFromPosition(position); } @@ -586,7 +586,7 @@ export class DiffEditorWidget extends Disposable implements editorBrowser.IDiffE return this.modifiedEditor.getPosition(); } - public setPosition(position: editorCommon.IPosition, reveal?: boolean, revealVerticalInCenter?: boolean, revealHorizontal?: boolean): void { + public setPosition(position: IPosition, reveal?: boolean, revealVerticalInCenter?: boolean, revealHorizontal?: boolean): void { this.modifiedEditor.setPosition(position, reveal, revealVerticalInCenter, revealHorizontal); } @@ -602,15 +602,15 @@ export class DiffEditorWidget extends Disposable implements editorBrowser.IDiffE this.modifiedEditor.revealLineInCenterIfOutsideViewport(lineNumber); } - public revealPosition(position: editorCommon.IPosition, revealVerticalInCenter: boolean = false, revealHorizontal: boolean = false): void { + public revealPosition(position: IPosition, revealVerticalInCenter: boolean = false, revealHorizontal: boolean = false): void { this.modifiedEditor.revealPosition(position, revealVerticalInCenter, revealHorizontal); } - public revealPositionInCenter(position: editorCommon.IPosition): void { + public revealPositionInCenter(position: IPosition): void { this.modifiedEditor.revealPositionInCenter(position); } - public revealPositionInCenterIfOutsideViewport(position: editorCommon.IPosition): void { + public revealPositionInCenterIfOutsideViewport(position: IPosition): void { this.modifiedEditor.revealPositionInCenterIfOutsideViewport(position); } diff --git a/src/vs/editor/common/commonCodeEditor.ts b/src/vs/editor/common/commonCodeEditor.ts index 9e645bd7c88..8101c9239db 100644 --- a/src/vs/editor/common/commonCodeEditor.ts +++ b/src/vs/editor/common/commonCodeEditor.ts @@ -17,7 +17,7 @@ import { Cursor, CursorEventType } from 'vs/editor/common/controller/cursor'; import { CursorColumns } from 'vs/editor/common/controller/cursorCommon'; import { IViewModelHelper } from 'vs/editor/common/controller/oneCursor'; import { EditorState } from 'vs/editor/common/core/editorState'; -import { Position } from 'vs/editor/common/core/position'; +import { Position, IPosition } from 'vs/editor/common/core/position'; import { Range } from 'vs/editor/common/core/range'; import { Selection } from 'vs/editor/common/core/selection'; import * as editorCommon from 'vs/editor/common/editorCommon'; @@ -263,7 +263,7 @@ export abstract class CommonCodeEditor extends Disposable implements editorCommo protected abstract _getCompletelyVisibleViewRange(): Range; - public getVisibleColumnFromPosition(rawPosition: editorCommon.IPosition): number { + public getVisibleColumnFromPosition(rawPosition: IPosition): number { if (!this.model) { return rawPosition.column; } @@ -281,7 +281,7 @@ export abstract class CommonCodeEditor extends Disposable implements editorCommo return this.cursor.getPosition().clone(); } - public setPosition(position: editorCommon.IPosition, reveal: boolean = false, revealVerticalInCenter: boolean = false, revealHorizontal: boolean = false): void { + public setPosition(position: IPosition, reveal: boolean = false, revealVerticalInCenter: boolean = false, revealHorizontal: boolean = false): void { if (!this.cursor) { return; } @@ -342,7 +342,7 @@ export abstract class CommonCodeEditor extends Disposable implements editorCommo ); } - public revealPosition(position: editorCommon.IPosition, revealVerticalInCenter: boolean = false, revealHorizontal: boolean = false): void { + public revealPosition(position: IPosition, revealVerticalInCenter: boolean = false, revealHorizontal: boolean = false): void { this._revealPosition( position, revealVerticalInCenter ? editorCommon.VerticalRevealType.Center : editorCommon.VerticalRevealType.Simple, @@ -350,7 +350,7 @@ export abstract class CommonCodeEditor extends Disposable implements editorCommo ); } - public revealPositionInCenter(position: editorCommon.IPosition): void { + public revealPositionInCenter(position: IPosition): void { this._revealPosition( position, editorCommon.VerticalRevealType.Center, @@ -358,7 +358,7 @@ export abstract class CommonCodeEditor extends Disposable implements editorCommo ); } - public revealPositionInCenterIfOutsideViewport(position: editorCommon.IPosition): void { + public revealPositionInCenterIfOutsideViewport(position: IPosition): void { this._revealPosition( position, editorCommon.VerticalRevealType.CenterIfOutsideViewport, @@ -366,7 +366,7 @@ export abstract class CommonCodeEditor extends Disposable implements editorCommo ); } - private _revealPosition(position: editorCommon.IPosition, verticalType: editorCommon.VerticalRevealType, revealHorizontal: boolean): void { + private _revealPosition(position: IPosition, verticalType: editorCommon.VerticalRevealType, revealHorizontal: boolean): void { if (!Position.isIPosition(position)) { throw new Error('Invalid arguments'); } diff --git a/src/vs/editor/common/controller/oneCursor.ts b/src/vs/editor/common/controller/oneCursor.ts index c73422602f1..29441d32367 100644 --- a/src/vs/editor/common/controller/oneCursor.ts +++ b/src/vs/editor/common/controller/oneCursor.ts @@ -5,7 +5,7 @@ 'use strict'; import { SingleCursorState, CursorConfiguration, ICursorSimpleModel, CursorState } from 'vs/editor/common/controller/cursorCommon'; -import { Position } from 'vs/editor/common/core/position'; +import { Position, IPosition } from 'vs/editor/common/core/position'; import { Range } from 'vs/editor/common/core/range'; import { Selection, SelectionDirection } from 'vs/editor/common/core/selection'; import * as editorCommon from 'vs/editor/common/editorCommon'; @@ -45,7 +45,7 @@ export class CursorContext { this._coordinatesConverter = viewModelHelper.coordinatesConverter; } - public validateModelPosition(position: editorCommon.IPosition): Position { + public validateModelPosition(position: IPosition): Position { return this.model.validatePosition(position); } @@ -316,7 +316,7 @@ export class OneCursorOp { // -------------------- START handlers that simply change cursor state - public static moveTo(context: CursorContext, cursor: OneCursor, inSelectionMode: boolean, _position: editorCommon.IPosition, _viewPosition: editorCommon.IPosition): CursorState { + public static moveTo(context: CursorContext, cursor: OneCursor, inSelectionMode: boolean, _position: IPosition, _viewPosition: IPosition): CursorState { const position = context.validateModelPosition(_position); const viewPosition = ( _viewPosition @@ -742,7 +742,7 @@ export class OneCursorOp { )); } - public static line(context: CursorContext, cursor: OneCursor, inSelectionMode: boolean, _position: editorCommon.IPosition, _viewPosition: editorCommon.IPosition): CursorState { + public static line(context: CursorContext, cursor: OneCursor, inSelectionMode: boolean, _position: IPosition, _viewPosition: IPosition): CursorState { const position = context.validateModelPosition(_position); const viewPosition = ( _viewPosition @@ -801,7 +801,7 @@ export class OneCursorOp { } } - public static word(context: CursorContext, cursor: OneCursor, inSelectionMode: boolean, _position: editorCommon.IPosition): CursorState { + public static word(context: CursorContext, cursor: OneCursor, inSelectionMode: boolean, _position: IPosition): CursorState { const position = context.validateModelPosition(_position); return this._fromModelCursorState(context, cursor, WordOperations.word(context.config, context.model, cursor.modelState, inSelectionMode, position)); } diff --git a/src/vs/editor/common/core/position.ts b/src/vs/editor/common/core/position.ts index 2e16fc22223..52d21eb7dee 100644 --- a/src/vs/editor/common/core/position.ts +++ b/src/vs/editor/common/core/position.ts @@ -4,7 +4,19 @@ *--------------------------------------------------------------------------------------------*/ 'use strict'; -import { IPosition } from 'vs/editor/common/editorCommon'; +/** + * A position in the editor. This interface is suitable for serialization. + */ +export interface IPosition { + /** + * line number (starts at 1) + */ + readonly lineNumber: number; + /** + * column (the first character in a line is between column 1 and column 2) + */ + readonly column: number; +} /** * A position in the editor. diff --git a/src/vs/editor/common/core/range.ts b/src/vs/editor/common/core/range.ts index b7f475d89f9..3826b774f87 100644 --- a/src/vs/editor/common/core/range.ts +++ b/src/vs/editor/common/core/range.ts @@ -5,8 +5,8 @@ 'use strict'; -import { Position } from 'vs/editor/common/core/position'; -import { IPosition, IRange } from 'vs/editor/common/editorCommon'; +import { Position, IPosition } from 'vs/editor/common/core/position'; +import { IRange } from 'vs/editor/common/editorCommon'; /** * A range in the editor. (startLineNumber,startColumn) is <= (endLineNumber,endColumn) diff --git a/src/vs/editor/common/editorCommon.ts b/src/vs/editor/common/editorCommon.ts index b543d79b355..be2d1e73b4e 100644 --- a/src/vs/editor/common/editorCommon.ts +++ b/src/vs/editor/common/editorCommon.ts @@ -13,7 +13,7 @@ import { ServicesAccessor, IConstructorSignature1 } from 'vs/platform/instantiat import { LanguageId, LanguageIdentifier, StandardTokenType } from 'vs/editor/common/modes'; import { LineTokens } from 'vs/editor/common/core/lineTokens'; import { IDisposable } from 'vs/base/common/lifecycle'; -import { Position } from 'vs/editor/common/core/position'; +import { Position, IPosition } from 'vs/editor/common/core/position'; import { Range } from 'vs/editor/common/core/range'; import { Selection } from 'vs/editor/common/core/selection'; import { IndentRange } from 'vs/editor/common/model/indentRanges'; @@ -35,20 +35,6 @@ export interface Event { // --- position & range -/** - * A position in the editor. This interface is suitable for serialization. - */ -export interface IPosition { - /** - * line number (starts at 1) - */ - readonly lineNumber: number; - /** - * column (the first character in a line is between column 1 and column 2) - */ - readonly column: number; -} - /** * A range in the editor. This interface is suitable for serialization. */ diff --git a/src/vs/editor/common/model/mirrorModel2.ts b/src/vs/editor/common/model/mirrorModel2.ts index 11fba39b227..2d3e6ef3b47 100644 --- a/src/vs/editor/common/model/mirrorModel2.ts +++ b/src/vs/editor/common/model/mirrorModel2.ts @@ -5,9 +5,10 @@ 'use strict'; import URI from 'vs/base/common/uri'; -import { IPosition, IRange } from 'vs/editor/common/editorCommon'; +import { IRange } from 'vs/editor/common/editorCommon'; import { PrefixSumComputer } from 'vs/editor/common/viewModel/prefixSumComputer'; import { IModelContentChange } from 'vs/editor/common/model/textModelEvents'; +import { IPosition } from "vs/editor/common/core/position"; export interface IModelChangedEvent { readonly changes: IModelContentChange[]; diff --git a/src/vs/editor/common/model/textModel.ts b/src/vs/editor/common/model/textModel.ts index a36b4b170eb..48009e0b0de 100644 --- a/src/vs/editor/common/model/textModel.ts +++ b/src/vs/editor/common/model/textModel.ts @@ -6,7 +6,7 @@ import { OrderGuaranteeEventEmitter, BulkListenerCallback } from 'vs/base/common/eventEmitter'; import * as strings from 'vs/base/common/strings'; -import { Position } from 'vs/editor/common/core/position'; +import { Position, IPosition } from 'vs/editor/common/core/position'; import { Range } from 'vs/editor/common/core/range'; import * as editorCommon from 'vs/editor/common/editorCommon'; import { ModelLine } from 'vs/editor/common/model/modelLine'; @@ -257,7 +257,7 @@ export class TextModel implements editorCommon.ITextModel { } } - public getOffsetAt(rawPosition: editorCommon.IPosition): number { + public getOffsetAt(rawPosition: IPosition): number { this._assertNotDisposed(); let position = this._validatePosition(rawPosition.lineNumber, rawPosition.column, false); this._ensureLineStarts(); @@ -721,7 +721,7 @@ export class TextModel implements editorCommon.ITextModel { return new Position(lineNumber, column); } - public validatePosition(position: editorCommon.IPosition): Position { + public validatePosition(position: IPosition): Position { this._assertNotDisposed(); return this._validatePosition(position.lineNumber, position.column, true); } @@ -768,7 +768,7 @@ export class TextModel implements editorCommon.ITextModel { return new Range(startLineNumber, startColumn, endLineNumber, endColumn + 1); } - public modifyPosition(rawPosition: editorCommon.IPosition, offset: number): Position { + public modifyPosition(rawPosition: IPosition, offset: number): Position { this._assertNotDisposed(); return this.getPositionAt(this.getOffsetAt(rawPosition) + offset); } @@ -829,13 +829,13 @@ export class TextModel implements editorCommon.ITextModel { return TextModelSearch.findMatches(this, new SearchParams(searchString, isRegex, matchCase, wholeWord), searchRange, captureMatches, limitResultCount); } - public findNextMatch(searchString: string, rawSearchStart: editorCommon.IPosition, isRegex: boolean, matchCase: boolean, wholeWord: boolean, captureMatches: boolean): editorCommon.FindMatch { + public findNextMatch(searchString: string, rawSearchStart: IPosition, isRegex: boolean, matchCase: boolean, wholeWord: boolean, captureMatches: boolean): editorCommon.FindMatch { this._assertNotDisposed(); const searchStart = this.validatePosition(rawSearchStart); return TextModelSearch.findNextMatch(this, new SearchParams(searchString, isRegex, matchCase, wholeWord), searchStart, captureMatches); } - public findPreviousMatch(searchString: string, rawSearchStart: editorCommon.IPosition, isRegex: boolean, matchCase: boolean, wholeWord: boolean, captureMatches: boolean): editorCommon.FindMatch { + public findPreviousMatch(searchString: string, rawSearchStart: IPosition, isRegex: boolean, matchCase: boolean, wholeWord: boolean, captureMatches: boolean): editorCommon.FindMatch { this._assertNotDisposed(); const searchStart = this.validatePosition(rawSearchStart); return TextModelSearch.findPreviousMatch(this, new SearchParams(searchString, isRegex, matchCase, wholeWord), searchStart, captureMatches); diff --git a/src/vs/editor/common/model/textModelWithTokens.ts b/src/vs/editor/common/model/textModelWithTokens.ts index df7ddb3f238..f2f9e70eccf 100644 --- a/src/vs/editor/common/model/textModelWithTokens.ts +++ b/src/vs/editor/common/model/textModelWithTokens.ts @@ -16,7 +16,7 @@ import { ITokenizationSupport, IState, TokenizationRegistry, LanguageId, Languag import { NULL_LANGUAGE_IDENTIFIER, nullTokenize2 } from 'vs/editor/common/modes/nullMode'; import { ignoreBracketsInToken } from 'vs/editor/common/modes/supports'; import { BracketsUtils, RichEditBrackets, RichEditBracket } from 'vs/editor/common/modes/supports/richEditBrackets'; -import { Position } from 'vs/editor/common/core/position'; +import { Position, IPosition } from 'vs/editor/common/core/position'; import { LanguageConfigurationRegistry } from 'vs/editor/common/modes/languageConfigurationRegistry'; import { LineTokens, LineToken } from 'vs/editor/common/core/lineTokens'; import { getWordAtText } from 'vs/editor/common/model/wordHelper'; @@ -401,7 +401,7 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke // Having tokens allows implementing additional helper methods - public getWordAtPosition(_position: editorCommon.IPosition): editorCommon.IWordAtPosition { + public getWordAtPosition(_position: IPosition): editorCommon.IWordAtPosition { this._assertNotDisposed(); let position = this.validatePosition(_position); let lineContent = this.getLineContent(position.lineNumber); @@ -442,7 +442,7 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke return result; } - public getWordUntilPosition(position: editorCommon.IPosition): editorCommon.IWordAtPosition { + public getWordUntilPosition(position: IPosition): editorCommon.IWordAtPosition { var wordAtPosition = this.getWordAtPosition(position); if (!wordAtPosition) { return { @@ -458,14 +458,14 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke }; } - public tokenIterator(position: editorCommon.IPosition, callback: (it: TokenIterator) => any): any { + public tokenIterator(position: IPosition, callback: (it: TokenIterator) => any): any { var iter = new TokenIterator(this, this.validatePosition(position)); var result = callback(iter); iter._invalidate(); return result; } - public findMatchingBracketUp(_bracket: string, _position: editorCommon.IPosition): Range { + public findMatchingBracketUp(_bracket: string, _position: IPosition): Range { let bracket = _bracket.toLowerCase(); let position = this.validatePosition(_position); @@ -486,7 +486,7 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke return this._findMatchingBracketUp(data, position); } - public matchBracket(position: editorCommon.IPosition): [Range, Range] { + public matchBracket(position: IPosition): [Range, Range] { return this._matchBracket(this.validatePosition(position)); } @@ -710,7 +710,7 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke return null; } - public findPrevBracket(_position: editorCommon.IPosition): editorCommon.IFoundBracket { + public findPrevBracket(_position: IPosition): editorCommon.IFoundBracket { const position = this.validatePosition(_position); let languageId: LanguageId = -1; @@ -753,7 +753,7 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke return null; } - public findNextBracket(_position: editorCommon.IPosition): editorCommon.IFoundBracket { + public findNextBracket(_position: IPosition): editorCommon.IFoundBracket { const position = this.validatePosition(_position); let languageId: LanguageId = -1; diff --git a/src/vs/editor/common/services/editorSimpleWorker.ts b/src/vs/editor/common/services/editorSimpleWorker.ts index 79d8c1a328a..62f9e7f04fd 100644 --- a/src/vs/editor/common/services/editorSimpleWorker.ts +++ b/src/vs/editor/common/services/editorSimpleWorker.ts @@ -13,7 +13,7 @@ import { Range } from 'vs/editor/common/core/range'; import { DiffComputer } from 'vs/editor/common/diff/diffComputer'; import { stringDiff } from 'vs/base/common/diff/diff'; import * as editorCommon from 'vs/editor/common/editorCommon'; -import { Position } from 'vs/editor/common/core/position'; +import { Position, IPosition } from 'vs/editor/common/core/position'; import { MirrorModel2, IModelChangedEvent } from 'vs/editor/common/model/mirrorModel2'; import { IInplaceReplaceSupportResult, ILink, ISuggestResult, ISuggestion, TextEdit } from 'vs/editor/common/modes'; import { computeLinks } from 'vs/editor/common/modes/linkComputer'; @@ -56,12 +56,12 @@ export interface ICommonModel { getLinesContent(): string[]; getLineCount(): number; getLineContent(lineNumber: number): string; - getWordUntilPosition(position: editorCommon.IPosition, wordDefinition: RegExp): editorCommon.IWordAtPosition; + getWordUntilPosition(position: IPosition, wordDefinition: RegExp): editorCommon.IWordAtPosition; getAllUniqueWords(wordDefinition: RegExp, skipWordOnce?: string): string[]; getValueInRange(range: editorCommon.IRange): string; - getWordAtPosition(position: editorCommon.IPosition, wordDefinition: RegExp): Range; - offsetAt(position: editorCommon.IPosition): number; - positionAt(offset: number): editorCommon.IPosition; + getWordAtPosition(position: IPosition, wordDefinition: RegExp): Range; + offsetAt(position: IPosition): number; + positionAt(offset: number): IPosition; } /** @@ -97,7 +97,7 @@ class MirrorModel extends MirrorModel2 implements ICommonModel { return this._lines[lineNumber - 1]; } - public getWordAtPosition(position: editorCommon.IPosition, wordDefinition: RegExp): Range { + public getWordAtPosition(position: IPosition, wordDefinition: RegExp): Range { let wordAtText = getWordAtText( position.column, @@ -113,7 +113,7 @@ class MirrorModel extends MirrorModel2 implements ICommonModel { return null; } - public getWordUntilPosition(position: editorCommon.IPosition, wordDefinition: RegExp): editorCommon.IWordAtPosition { + public getWordUntilPosition(position: IPosition, wordDefinition: RegExp): editorCommon.IWordAtPosition { var wordAtPosition = this.getWordAtPosition(position, wordDefinition); if (!wordAtPosition) { return { @@ -193,13 +193,13 @@ class MirrorModel extends MirrorModel2 implements ICommonModel { return resultLines.join(lineEnding); } - public offsetAt(position: editorCommon.IPosition): number { + public offsetAt(position: IPosition): number { position = this._validatePosition(position); this._ensureLineStarts(); return this._lineStarts.getAccumulatedValue(position.lineNumber - 2) + (position.column - 1); } - public positionAt(offset: number): editorCommon.IPosition { + public positionAt(offset: number): IPosition { offset = Math.floor(offset); offset = Math.max(0, offset); @@ -235,7 +235,7 @@ class MirrorModel extends MirrorModel2 implements ICommonModel { return range; } - private _validatePosition(position: editorCommon.IPosition): editorCommon.IPosition { + private _validatePosition(position: IPosition): IPosition { if (!Position.isIPosition(position)) { throw new Error('bad position'); } @@ -400,7 +400,7 @@ export abstract class BaseEditorSimpleWorker { // ---- BEGIN suggest -------------------------------------------------------------------------- - public textualSuggest(modelUrl: string, position: editorCommon.IPosition, wordDef: string, wordDefFlags: string): TPromise { + public textualSuggest(modelUrl: string, position: IPosition, wordDef: string, wordDefFlags: string): TPromise { const model = this._getModel(modelUrl); if (model) { const suggestions: ISuggestion[] = []; diff --git a/src/vs/editor/common/services/editorWorkerServiceImpl.ts b/src/vs/editor/common/services/editorWorkerServiceImpl.ts index 993225285c8..d13dea7e09f 100644 --- a/src/vs/editor/common/services/editorWorkerServiceImpl.ts +++ b/src/vs/editor/common/services/editorWorkerServiceImpl.ts @@ -12,7 +12,7 @@ import { SimpleWorkerClient, logOnceWebWorkerWarning } from 'vs/base/common/work import { DefaultWorkerFactory } from 'vs/base/worker/defaultWorkerFactory'; import * as editorCommon from 'vs/editor/common/editorCommon'; import * as modes from 'vs/editor/common/modes'; -import { Position } from 'vs/editor/common/core/position'; +import { Position, IPosition } from 'vs/editor/common/core/position'; import { IEditorWorkerService } from 'vs/editor/common/services/editorWorkerService'; import { IModelService } from 'vs/editor/common/services/modelService'; import { EditorSimpleWorkerImpl } from 'vs/editor/common/services/editorSimpleWorker'; @@ -361,7 +361,7 @@ export class EditorWorkerClient extends Disposable { }); } - public textualSuggest(resource: URI, position: editorCommon.IPosition): TPromise { + public textualSuggest(resource: URI, position: IPosition): TPromise { return this._withSyncedResources([resource]).then(proxy => { let model = this._modelService.getModel(resource); if (!model) { diff --git a/src/vs/editor/common/viewModel/viewModel.ts b/src/vs/editor/common/viewModel/viewModel.ts index 6407ba63932..1f97accb947 100644 --- a/src/vs/editor/common/viewModel/viewModel.ts +++ b/src/vs/editor/common/viewModel/viewModel.ts @@ -4,9 +4,9 @@ *--------------------------------------------------------------------------------------------*/ 'use strict'; -import { INewScrollPosition, IViewWhitespaceViewportData, Viewport, IModelDecoration, EndOfLinePreference, IPosition } from 'vs/editor/common/editorCommon'; +import { INewScrollPosition, IViewWhitespaceViewportData, Viewport, IModelDecoration, EndOfLinePreference } from 'vs/editor/common/editorCommon'; import { ViewLineToken } from 'vs/editor/common/core/viewLineToken'; -import { Position } from 'vs/editor/common/core/position'; +import { Position, IPosition } from 'vs/editor/common/core/position'; import { Range } from 'vs/editor/common/core/range'; import { Selection } from 'vs/editor/common/core/selection'; import { ViewEvent } from 'vs/editor/common/view/viewEvents'; diff --git a/src/vs/editor/common/viewModel/viewModelImpl.ts b/src/vs/editor/common/viewModel/viewModelImpl.ts index 36b03bad579..101201708b2 100644 --- a/src/vs/editor/common/viewModel/viewModelImpl.ts +++ b/src/vs/editor/common/viewModel/viewModelImpl.ts @@ -7,7 +7,7 @@ import { EmitterEvent, IEventEmitter } from 'vs/base/common/eventEmitter'; import { IDisposable, dispose } from 'vs/base/common/lifecycle'; import * as strings from 'vs/base/common/strings'; -import { Position } from 'vs/editor/common/core/position'; +import { Position, IPosition } from 'vs/editor/common/core/position'; import { Range } from 'vs/editor/common/core/range'; import { Selection } from 'vs/editor/common/core/selection'; import * as editorCommon from 'vs/editor/common/editorCommon'; @@ -562,7 +562,7 @@ export class ViewModel implements IViewModel { return this.model.getLineMaxColumn(modelLineNumber); } - public validateModelPosition(position: editorCommon.IPosition): Position { + public validateModelPosition(position: IPosition): Position { return this.model.validatePosition(position); } diff --git a/src/vs/editor/contrib/goToDeclaration/browser/messageController.ts b/src/vs/editor/contrib/goToDeclaration/browser/messageController.ts index c0a0da70f32..86be6b62a6f 100644 --- a/src/vs/editor/contrib/goToDeclaration/browser/messageController.ts +++ b/src/vs/editor/contrib/goToDeclaration/browser/messageController.ts @@ -15,6 +15,7 @@ import * as editorCommon from 'vs/editor/common/editorCommon'; import { commonEditorContribution, CommonEditorRegistry, EditorCommand } from 'vs/editor/common/editorCommonExtensions'; import { ICodeEditor, IContentWidget, IContentWidgetPosition, ContentWidgetPositionPreference } from 'vs/editor/browser/editorBrowser'; import { IContextKeyService, RawContextKey, IContextKey } from 'vs/platform/contextkey/common/contextkey'; +import { IPosition } from "vs/editor/common/core/position"; @commonEditorContribution export class MessageController { @@ -48,7 +49,7 @@ export class MessageController { this._visible.reset(); } - showMessage(message: string, position: editorCommon.IPosition): void { + showMessage(message: string, position: IPosition): void { this._visible.set(true); dispose(this._messageWidget); @@ -111,7 +112,7 @@ class MessageWidget implements IContentWidget { readonly suppressMouseDown = false; private _editor: ICodeEditor; - private _position: editorCommon.IPosition; + private _position: IPosition; private _domNode: HTMLDivElement; static fadeOut(messageWidget: MessageWidget): IDisposable { @@ -127,7 +128,7 @@ class MessageWidget implements IContentWidget { return { dispose }; } - constructor(editor: ICodeEditor, { lineNumber, column }: editorCommon.IPosition, text: string) { + constructor(editor: ICodeEditor, { lineNumber, column }: IPosition, text: string) { this._editor = editor; this._editor.revealLinesInCenterIfOutsideViewport(lineNumber, lineNumber); diff --git a/src/vs/editor/contrib/gotoError/browser/gotoError.ts b/src/vs/editor/contrib/gotoError/browser/gotoError.ts index 732b70fde52..4502bc535ad 100644 --- a/src/vs/editor/contrib/gotoError/browser/gotoError.ts +++ b/src/vs/editor/contrib/gotoError/browser/gotoError.ts @@ -17,7 +17,7 @@ import { ICommandService } from 'vs/platform/commands/common/commands'; import { RawContextKey, IContextKey, IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; import { IMarker, IMarkerService } from 'vs/platform/markers/common/markers'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; -import { Position } from 'vs/editor/common/core/position'; +import { Position, IPosition } from 'vs/editor/common/core/position'; import { Range } from 'vs/editor/common/core/range'; import * as editorCommon from 'vs/editor/common/editorCommon'; import { editorAction, ServicesAccessor, IActionOptions, EditorAction, EditorCommand, CommonEditorRegistry } from 'vs/editor/common/editorCommonExtensions'; @@ -142,7 +142,7 @@ class MarkerModel { this.move(false); } - public findMarkerAtPosition(pos: editorCommon.IPosition): IMarker { + public findMarkerAtPosition(pos: IPosition): IMarker { for (const marker of this._markers) { if (Range.containsPosition(marker, pos)) { return marker; @@ -267,7 +267,7 @@ class MarkerNavigationWidget extends ZoneWidget { this.editor.applyFontInfo(this._message.domNode); } - public show(where: editorCommon.IPosition, heightInLines: number): void { + public show(where: IPosition, heightInLines: number): void { super.show(where, heightInLines); this.focus(); } diff --git a/src/vs/editor/contrib/hover/browser/hoverWidgets.ts b/src/vs/editor/contrib/hover/browser/hoverWidgets.ts index 8f82e34f098..d809d94db32 100644 --- a/src/vs/editor/contrib/hover/browser/hoverWidgets.ts +++ b/src/vs/editor/contrib/hover/browser/hoverWidgets.ts @@ -7,8 +7,7 @@ import { KeyCode } from 'vs/base/common/keyCodes'; import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent'; import { toggleClass } from 'vs/base/browser/dom'; -import { Position } from 'vs/editor/common/core/position'; -import { IPosition } from 'vs/editor/common/editorCommon'; +import { IPosition, Position } from 'vs/editor/common/core/position'; import * as editorBrowser from 'vs/editor/browser/editorBrowser'; import { Widget } from 'vs/base/browser/ui/widget'; import { DomScrollableElement } from 'vs/base/browser/ui/scrollbar/scrollableElement'; diff --git a/src/vs/editor/contrib/links/browser/links.ts b/src/vs/editor/contrib/links/browser/links.ts index 788169d0c15..0db7703338b 100644 --- a/src/vs/editor/contrib/links/browser/links.ts +++ b/src/vs/editor/contrib/links/browser/links.ts @@ -25,6 +25,7 @@ import { IDisposable, dispose } from 'vs/base/common/lifecycle'; import { editorContribution } from 'vs/editor/browser/editorBrowserExtensions'; import { registerThemingParticipant } from 'vs/platform/theme/common/themeService'; import { editorLinkForeground, editorActiveLinkForeground } from 'vs/platform/theme/common/colorRegistry'; +import { IPosition } from "vs/editor/common/core/position"; class LinkOccurence { @@ -278,7 +279,7 @@ class LinkDetector implements editorCommon.IEditorContribution { }).done(null, onUnexpectedError); } - public getLinkOccurence(position: editorCommon.IPosition): LinkOccurence { + public getLinkOccurence(position: IPosition): LinkOccurence { var decorations = this.editor.getModel().getDecorationsInRange({ startLineNumber: position.lineNumber, startColumn: position.column, diff --git a/src/vs/editor/contrib/quickFix/browser/quickFixModel.ts b/src/vs/editor/contrib/quickFix/browser/quickFixModel.ts index f59239b0e96..e8b476aa5ab 100644 --- a/src/vs/editor/contrib/quickFix/browser/quickFixModel.ts +++ b/src/vs/editor/contrib/quickFix/browser/quickFixModel.ts @@ -11,9 +11,10 @@ import URI from 'vs/base/common/uri'; import { TPromise } from 'vs/base/common/winjs.base'; import { IMarker, IMarkerService } from 'vs/platform/markers/common/markers'; import { Range } from 'vs/editor/common/core/range'; -import { ICommonCodeEditor, IPosition, IRange } from 'vs/editor/common/editorCommon'; +import { ICommonCodeEditor, IRange } from 'vs/editor/common/editorCommon'; import { CodeActionProviderRegistry, CodeAction } from 'vs/editor/common/modes'; import { getCodeActions } from './quickFix'; +import { IPosition } from "vs/editor/common/core/position"; export class QuickFixOracle { diff --git a/src/vs/editor/contrib/quickFix/browser/quickFixWidget.ts b/src/vs/editor/contrib/quickFix/browser/quickFixWidget.ts index 749fdea7319..59effc38df9 100644 --- a/src/vs/editor/contrib/quickFix/browser/quickFixWidget.ts +++ b/src/vs/editor/contrib/quickFix/browser/quickFixWidget.ts @@ -8,8 +8,7 @@ import { TPromise } from 'vs/base/common/winjs.base'; import { always } from 'vs/base/common/async'; import { getDomNodePagePosition } from 'vs/base/browser/dom'; -import { Position } from 'vs/editor/common/core/position'; -import { IPosition } from 'vs/editor/common/editorCommon'; +import { IPosition, Position } from 'vs/editor/common/core/position'; import { ICodeEditor } from 'vs/editor/browser/editorBrowser'; import { CodeAction } from 'vs/editor/common/modes'; import { IContextMenuService } from 'vs/platform/contextview/browser/contextView'; diff --git a/src/vs/editor/contrib/quickOpen/browser/gotoLine.ts b/src/vs/editor/contrib/quickOpen/browser/gotoLine.ts index c638e3248ed..0aaf2071bad 100644 --- a/src/vs/editor/contrib/quickOpen/browser/gotoLine.ts +++ b/src/vs/editor/contrib/quickOpen/browser/gotoLine.ts @@ -10,15 +10,15 @@ import * as nls from 'vs/nls'; import { IContext, QuickOpenEntry, QuickOpenModel } from 'vs/base/parts/quickopen/browser/quickOpenModel'; import { IAutoFocus, Mode } from 'vs/base/parts/quickopen/common/quickOpen'; import * as editorCommon from 'vs/editor/common/editorCommon'; +import EditorContextKeys = editorCommon.EditorContextKeys; import { ICodeEditor, IDiffEditor } from 'vs/editor/browser/editorBrowser'; import { BaseEditorQuickOpenAction, IDecorator } from './editorQuickOpen'; import { editorAction, ServicesAccessor } from 'vs/editor/common/editorCommonExtensions'; import { KeyCode, KeyMod } from 'vs/base/common/keyCodes'; - -import EditorContextKeys = editorCommon.EditorContextKeys; +import { IPosition } from "vs/editor/common/core/position"; interface ParseResult { - position: editorCommon.IPosition; + position: IPosition; isValid: boolean; label: string; } @@ -41,7 +41,7 @@ export class GotoLineEntry extends QuickOpenEntry { private _parseInput(line: string): ParseResult { let numbers = line.split(',').map(part => parseInt(part, 10)).filter(part => !isNaN(part)), - position: editorCommon.IPosition; + position: IPosition; if (numbers.length === 0) { position = { lineNumber: -1, column: -1 }; diff --git a/src/vs/editor/contrib/referenceSearch/browser/referenceSearch.ts b/src/vs/editor/contrib/referenceSearch/browser/referenceSearch.ts index e81fd4456f5..908ce4dcd0f 100644 --- a/src/vs/editor/contrib/referenceSearch/browser/referenceSearch.ts +++ b/src/vs/editor/contrib/referenceSearch/browser/referenceSearch.ts @@ -13,7 +13,7 @@ import { optional } from 'vs/platform/instantiation/common/instantiation'; import { CommandsRegistry, ICommandHandler } from 'vs/platform/commands/common/commands'; import { IContextKeyService, ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey'; import { KeybindingsRegistry } from 'vs/platform/keybinding/common/keybindingsRegistry'; -import { Position } from 'vs/editor/common/core/position'; +import { Position, IPosition } from 'vs/editor/common/core/position'; import { Range } from 'vs/editor/common/core/range'; import * as editorCommon from 'vs/editor/common/editorCommon'; import { editorAction, ServicesAccessor, EditorAction, CommonEditorRegistry, commonEditorContribution } from 'vs/editor/common/editorCommonExtensions'; @@ -91,7 +91,7 @@ export class ReferenceAction extends EditorAction { } } -let findReferencesCommand: ICommandHandler = (accessor: ServicesAccessor, resource: URI, position: editorCommon.IPosition) => { +let findReferencesCommand: ICommandHandler = (accessor: ServicesAccessor, resource: URI, position: IPosition) => { if (!(resource instanceof URI)) { throw new Error('illegal argument, uri'); @@ -118,7 +118,7 @@ let findReferencesCommand: ICommandHandler = (accessor: ServicesAccessor, resour }); }; -let showReferencesCommand: ICommandHandler = (accessor: ServicesAccessor, resource: URI, position: editorCommon.IPosition, references: Location[]) => { +let showReferencesCommand: ICommandHandler = (accessor: ServicesAccessor, resource: URI, position: IPosition, references: Location[]) => { if (!(resource instanceof URI)) { throw new Error('illegal argument, uri expected'); } diff --git a/src/vs/editor/contrib/referenceSearch/browser/referencesController.ts b/src/vs/editor/contrib/referenceSearch/browser/referencesController.ts index 8dfadd83be6..28f83e8edef 100644 --- a/src/vs/editor/contrib/referenceSearch/browser/referencesController.ts +++ b/src/vs/editor/contrib/referenceSearch/browser/referencesController.ts @@ -27,6 +27,7 @@ import { ReferenceWidget, LayoutData } from './referencesWidget'; import { Range } from 'vs/editor/common/core/range'; import { ITextModelResolverService } from 'vs/editor/common/services/resolverService'; import { IThemeService } from "vs/platform/theme/common/themeService"; +import { IPosition } from "vs/editor/common/core/position"; export const ctxReferenceSearchVisible = new RawContextKey('referenceSearchVisible', false); @@ -86,7 +87,7 @@ export class ReferencesController implements editorCommon.IEditorContribution { public toggleWidget(range: Range, modelPromise: TPromise, options: RequestOptions): void { // close current widget and return early is position didn't change - let widgetPosition: editorCommon.IPosition; + let widgetPosition: IPosition; if (this._widget) { widgetPosition = this._widget.position; } diff --git a/src/vs/editor/contrib/referenceSearch/browser/referencesModel.ts b/src/vs/editor/contrib/referenceSearch/browser/referencesModel.ts index f09dce81302..1c4f850b98c 100644 --- a/src/vs/editor/contrib/referenceSearch/browser/referencesModel.ts +++ b/src/vs/editor/contrib/referenceSearch/browser/referencesModel.ts @@ -13,9 +13,10 @@ import URI from 'vs/base/common/uri'; import { defaultGenerator } from 'vs/base/common/idGenerator'; import { TPromise } from 'vs/base/common/winjs.base'; import { Range } from 'vs/editor/common/core/range'; -import { IPosition, IRange } from 'vs/editor/common/editorCommon'; +import { IRange } from 'vs/editor/common/editorCommon'; import { Location } from 'vs/editor/common/modes'; import { ITextModelResolverService, ITextEditorModel } from 'vs/editor/common/services/resolverService'; +import { IPosition } from "vs/editor/common/core/position"; export class OneReference { diff --git a/src/vs/editor/contrib/rename/browser/renameInputField.ts b/src/vs/editor/contrib/rename/browser/renameInputField.ts index 6837259980c..7bc95af73d0 100644 --- a/src/vs/editor/contrib/rename/browser/renameInputField.ts +++ b/src/vs/editor/contrib/rename/browser/renameInputField.ts @@ -11,10 +11,11 @@ import { canceled } from 'vs/base/common/errors'; import { IDisposable, dispose } from 'vs/base/common/lifecycle'; import { TPromise } from 'vs/base/common/winjs.base'; import { Range } from 'vs/editor/common/core/range'; -import { IPosition, IRange } from 'vs/editor/common/editorCommon'; +import { IRange } from 'vs/editor/common/editorCommon'; import { ContentWidgetPositionPreference, ICodeEditor, IContentWidget, IContentWidgetPosition } from 'vs/editor/browser/editorBrowser'; import { IThemeService, ITheme } from "vs/platform/theme/common/themeService"; import { inputBackground, inputBorder, inputForeground, editorWidgetShadow, focus } from "vs/platform/theme/common/colorRegistry"; +import { IPosition } from "vs/editor/common/core/position"; export default class RenameInputField implements IContentWidget, IDisposable { diff --git a/src/vs/editor/contrib/smartSelect/common/tokenSelectionSupport.ts b/src/vs/editor/contrib/smartSelect/common/tokenSelectionSupport.ts index a32b992987e..8b13fe73850 100644 --- a/src/vs/editor/contrib/smartSelect/common/tokenSelectionSupport.ts +++ b/src/vs/editor/contrib/smartSelect/common/tokenSelectionSupport.ts @@ -7,9 +7,10 @@ import URI from 'vs/base/common/uri'; import { TPromise } from 'vs/base/common/winjs.base'; import { Range } from 'vs/editor/common/core/range'; -import { IModel, IPosition, IRange } from 'vs/editor/common/editorCommon'; +import { IModel, IRange } from 'vs/editor/common/editorCommon'; import { IModelService } from 'vs/editor/common/services/modelService'; import { Node, build, find } from './tokenTree'; +import { IPosition } from "vs/editor/common/core/position"; /** * Interface used to compute a hierachry of logical ranges. diff --git a/src/vs/editor/contrib/smartSelect/common/tokenTree.ts b/src/vs/editor/contrib/smartSelect/common/tokenTree.ts index 55f8d5178e2..daa1c8fb450 100644 --- a/src/vs/editor/contrib/smartSelect/common/tokenTree.ts +++ b/src/vs/editor/contrib/smartSelect/common/tokenTree.ts @@ -4,9 +4,9 @@ *--------------------------------------------------------------------------------------------*/ 'use strict'; -import { Position } from 'vs/editor/common/core/position'; +import { Position, IPosition } from 'vs/editor/common/core/position'; import { Range } from 'vs/editor/common/core/range'; -import { IModel, IPosition } from 'vs/editor/common/editorCommon'; +import { IModel } from 'vs/editor/common/editorCommon'; import { LineToken } from 'vs/editor/common/core/lineTokens'; import { ignoreBracketsInToken } from 'vs/editor/common/modes/supports'; import { BracketsUtils, RichEditBrackets } from 'vs/editor/common/modes/supports/richEditBrackets'; diff --git a/src/vs/editor/contrib/snippet/common/snippetController.ts b/src/vs/editor/contrib/snippet/common/snippetController.ts index a6cffc1afe3..d9eba64f0c0 100644 --- a/src/vs/editor/contrib/snippet/common/snippetController.ts +++ b/src/vs/editor/contrib/snippet/common/snippetController.ts @@ -18,6 +18,7 @@ import { ISnippetVariableResolver, ICodeSnippet, CodeSnippet } from './snippet'; import { SnippetVariablesResolver } from './snippetVariables'; import EditorContextKeys = editorCommon.EditorContextKeys; +import { IPosition } from "vs/editor/common/core/position"; export class InsertSnippetController { @@ -668,7 +669,7 @@ export class SnippetController { return snippet.bind(model.getLineContent(typeRange.startLineNumber), typeRange.startLineNumber - 1, typeRange.startColumn - 1, model); } - private static _getSnippetCursorOnly(snippet: ICodeSnippet): editorCommon.IPosition { + private static _getSnippetCursorOnly(snippet: ICodeSnippet): IPosition { if (snippet.placeHolders.length !== 1) { return null; diff --git a/src/vs/editor/contrib/suggest/browser/suggest.ts b/src/vs/editor/contrib/suggest/browser/suggest.ts index f357f93190b..6ca956304cf 100644 --- a/src/vs/editor/contrib/suggest/browser/suggest.ts +++ b/src/vs/editor/contrib/suggest/browser/suggest.ts @@ -10,10 +10,10 @@ import { compareIgnoreCase } from 'vs/base/common/strings'; import { assign } from 'vs/base/common/objects'; import { onUnexpectedExternalError } from 'vs/base/common/errors'; import { TPromise } from 'vs/base/common/winjs.base'; -import { IModel, IPosition } from 'vs/editor/common/editorCommon'; +import { IModel } from 'vs/editor/common/editorCommon'; import { CommonEditorRegistry } from 'vs/editor/common/editorCommonExtensions'; import { ISuggestResult, ISuggestSupport, ISuggestion, SuggestRegistry } from 'vs/editor/common/modes'; -import { Position } from 'vs/editor/common/core/position'; +import { Position, IPosition } from 'vs/editor/common/core/position'; import { RawContextKey } from 'vs/platform/contextkey/common/contextkey'; import { DefaultConfig } from 'vs/editor/common/config/defaultConfig'; diff --git a/src/vs/editor/contrib/suggest/browser/suggestModel.ts b/src/vs/editor/contrib/suggest/browser/suggestModel.ts index fdbab276b8f..dd987f125a8 100644 --- a/src/vs/editor/contrib/suggest/browser/suggestModel.ts +++ b/src/vs/editor/contrib/suggest/browser/suggestModel.ts @@ -10,9 +10,9 @@ import { TimeoutTimer } from 'vs/base/common/async'; import Event, { Emitter } from 'vs/base/common/event'; import { IDisposable, dispose } from 'vs/base/common/lifecycle'; import { TPromise } from 'vs/base/common/winjs.base'; -import { ICommonCodeEditor, ICursorSelectionChangedEvent, CursorChangeReason, IModel, IPosition, IWordAtPosition } from 'vs/editor/common/editorCommon'; +import { ICommonCodeEditor, ICursorSelectionChangedEvent, CursorChangeReason, IModel, IWordAtPosition } from 'vs/editor/common/editorCommon'; import { ISuggestSupport, SuggestRegistry, StandardTokenType } from 'vs/editor/common/modes'; -import { Position } from 'vs/editor/common/core/position'; +import { Position, IPosition } from 'vs/editor/common/core/position'; import { provideSuggestionItems, getSuggestionComparator, ISuggestionItem } from './suggest'; import { CompletionModel } from './completionModel'; diff --git a/src/vs/editor/contrib/suggest/test/browser/completionModel.test.ts b/src/vs/editor/contrib/suggest/test/browser/completionModel.test.ts index 0d013db98d0..1e63b78160b 100644 --- a/src/vs/editor/contrib/suggest/test/browser/completionModel.test.ts +++ b/src/vs/editor/contrib/suggest/test/browser/completionModel.test.ts @@ -5,10 +5,10 @@ 'use strict'; import * as assert from 'assert'; -import { IPosition } from 'vs/editor/common/editorCommon'; import { ISuggestion, ISuggestResult, ISuggestSupport } from 'vs/editor/common/modes'; import { ISuggestionItem } from 'vs/editor/contrib/suggest/browser/suggest'; import { CompletionModel } from 'vs/editor/contrib/suggest/browser/completionModel'; +import { IPosition } from "vs/editor/common/core/position"; suite('CompletionModel', function () { diff --git a/src/vs/editor/contrib/zoneWidget/browser/zoneWidget.ts b/src/vs/editor/contrib/zoneWidget/browser/zoneWidget.ts index 0af829a0250..8bddf6a25ce 100644 --- a/src/vs/editor/contrib/zoneWidget/browser/zoneWidget.ts +++ b/src/vs/editor/contrib/zoneWidget/browser/zoneWidget.ts @@ -11,11 +11,12 @@ import { Widget } from 'vs/base/browser/ui/widget'; import * as objects from 'vs/base/common/objects'; import * as dom from 'vs/base/browser/dom'; import { Sash, Orientation, IHorizontalSashLayoutProvider, ISashEvent } from 'vs/base/browser/ui/sash/sash'; -import { IPosition, IRange } from 'vs/editor/common/editorCommon'; +import { IRange } from 'vs/editor/common/editorCommon'; import { Range } from 'vs/editor/common/core/range'; import { ICodeEditor, IOverlayWidget, IOverlayWidgetPosition, IViewZone, IViewZoneChangeAccessor } from 'vs/editor/browser/editorBrowser'; import { Color, RGBA } from "vs/base/common/color"; import { EditorLayoutInfo } from "vs/editor/common/config/editorOptions"; +import { IPosition } from "vs/editor/common/core/position"; export interface IOptions { showFrame?: boolean; diff --git a/src/vs/monaco.d.ts b/src/vs/monaco.d.ts index c2d5b4630eb..a02a049fd58 100644 --- a/src/vs/monaco.d.ts +++ b/src/vs/monaco.d.ts @@ -414,20 +414,6 @@ declare module monaco { readonly scrollHeightChanged: boolean; } - /** - * A position in the editor. This interface is suitable for serialization. - */ - export interface IPosition { - /** - * line number (starts at 1) - */ - readonly lineNumber: number; - /** - * column (the first character in a line is between column 1 and column 2) - */ - readonly column: number; - } - /** * A range in the editor. This interface is suitable for serialization. */ @@ -472,6 +458,19 @@ declare module monaco { */ readonly positionColumn: number; } + /** + * A position in the editor. This interface is suitable for serialization. + */ + export interface IPosition { + /** + * line number (starts at 1) + */ + readonly lineNumber: number; + /** + * column (the first character in a line is between column 1 and column 2) + */ + readonly column: number; + } /** * A position in the editor. diff --git a/src/vs/workbench/api/node/extHost.protocol.ts b/src/vs/workbench/api/node/extHost.protocol.ts index a8745bb8407..b378e08573f 100644 --- a/src/vs/workbench/api/node/extHost.protocol.ts +++ b/src/vs/workbench/api/node/extHost.protocol.ts @@ -39,6 +39,7 @@ import { IApplyEditsOptions, IUndoStopOptions, TextEditorRevealType, ITextEditor import { InternalTreeExplorerNodeContent } from 'vs/workbench/parts/explorers/common/treeExplorerViewModel'; import { TaskSet } from 'vs/workbench/parts/tasks/common/tasks'; import { IModelChangedEvent } from 'vs/editor/common/model/mirrorModel2'; +import { IPosition } from "vs/editor/common/core/position"; export interface IEnvironment { enableProposedApi: boolean; @@ -392,22 +393,22 @@ export abstract class ExtHostLanguageFeaturesShape { $provideDocumentSymbols(handle: number, resource: URI): TPromise { throw ni(); } $provideCodeLenses(handle: number, resource: URI): TPromise { throw ni(); } $resolveCodeLens(handle: number, resource: URI, symbol: modes.ICodeLensSymbol): TPromise { throw ni(); } - $provideDefinition(handle: number, resource: URI, position: editorCommon.IPosition): TPromise { throw ni(); } - $provideImplementation(handle: number, resource: URI, position: editorCommon.IPosition): TPromise { throw ni(); } - $provideTypeDefinition(handle: number, resource: URI, position: editorCommon.IPosition): TPromise { throw ni(); } - $provideHover(handle: number, resource: URI, position: editorCommon.IPosition): TPromise { throw ni(); } - $provideDocumentHighlights(handle: number, resource: URI, position: editorCommon.IPosition): TPromise { throw ni(); } - $provideReferences(handle: number, resource: URI, position: editorCommon.IPosition, context: modes.ReferenceContext): TPromise { throw ni(); } + $provideDefinition(handle: number, resource: URI, position: IPosition): TPromise { throw ni(); } + $provideImplementation(handle: number, resource: URI, position: IPosition): TPromise { throw ni(); } + $provideTypeDefinition(handle: number, resource: URI, position: IPosition): TPromise { throw ni(); } + $provideHover(handle: number, resource: URI, position: IPosition): TPromise { throw ni(); } + $provideDocumentHighlights(handle: number, resource: URI, position: IPosition): TPromise { throw ni(); } + $provideReferences(handle: number, resource: URI, position: IPosition, context: modes.ReferenceContext): TPromise { throw ni(); } $provideCodeActions(handle: number, resource: URI, range: editorCommon.IRange): TPromise { throw ni(); } $provideDocumentFormattingEdits(handle: number, resource: URI, options: modes.FormattingOptions): TPromise { throw ni(); } $provideDocumentRangeFormattingEdits(handle: number, resource: URI, range: editorCommon.IRange, options: modes.FormattingOptions): TPromise { throw ni(); } - $provideOnTypeFormattingEdits(handle: number, resource: URI, position: editorCommon.IPosition, ch: string, options: modes.FormattingOptions): TPromise { throw ni(); } + $provideOnTypeFormattingEdits(handle: number, resource: URI, position: IPosition, ch: string, options: modes.FormattingOptions): TPromise { throw ni(); } $provideWorkspaceSymbols(handle: number, search: string): TPromise { throw ni(); } $resolveWorkspaceSymbol(handle: number, symbol: modes.SymbolInformation): TPromise { throw ni(); } - $provideRenameEdits(handle: number, resource: URI, position: editorCommon.IPosition, newName: string): TPromise { throw ni(); } - $provideCompletionItems(handle: number, resource: URI, position: editorCommon.IPosition): TPromise { throw ni(); } - $resolveCompletionItem(handle: number, resource: URI, position: editorCommon.IPosition, suggestion: modes.ISuggestion): TPromise { throw ni(); } - $provideSignatureHelp(handle: number, resource: URI, position: editorCommon.IPosition): TPromise { throw ni(); } + $provideRenameEdits(handle: number, resource: URI, position: IPosition, newName: string): TPromise { throw ni(); } + $provideCompletionItems(handle: number, resource: URI, position: IPosition): TPromise { throw ni(); } + $resolveCompletionItem(handle: number, resource: URI, position: IPosition, suggestion: modes.ISuggestion): TPromise { throw ni(); } + $provideSignatureHelp(handle: number, resource: URI, position: IPosition): TPromise { throw ni(); } $provideDocumentLinks(handle: number, resource: URI): TPromise { throw ni(); } $resolveDocumentLink(handle: number, link: modes.ILink): TPromise { throw ni(); } } diff --git a/src/vs/workbench/api/node/extHostLanguageFeatures.ts b/src/vs/workbench/api/node/extHostLanguageFeatures.ts index c6991e03778..0dbc59fdfb1 100644 --- a/src/vs/workbench/api/node/extHostLanguageFeatures.ts +++ b/src/vs/workbench/api/node/extHostLanguageFeatures.ts @@ -11,7 +11,7 @@ import { IThreadService } from 'vs/workbench/services/thread/common/threadServic import * as vscode from 'vscode'; import * as TypeConverters from 'vs/workbench/api/node/extHostTypeConverters'; import { Range, Disposable, CompletionList, CompletionItem, SnippetString } from 'vs/workbench/api/node/extHostTypes'; -import { IPosition, IRange, ISingleEditOperation } from 'vs/editor/common/editorCommon'; +import { IRange, ISingleEditOperation } from 'vs/editor/common/editorCommon'; import * as modes from 'vs/editor/common/modes'; import { ExtHostHeapService } from 'vs/workbench/api/node/extHostHeapService'; import { ExtHostDocuments } from 'vs/workbench/api/node/extHostDocuments'; @@ -21,6 +21,7 @@ import { IWorkspaceSymbolProvider } from 'vs/workbench/parts/search/common/searc import { asWinJsPromise } from 'vs/base/common/async'; import { MainContext, MainThreadLanguageFeaturesShape, ExtHostLanguageFeaturesShape, ObjectIdentifier } from './extHost.protocol'; import { regExpLeadsToEndlessLoop } from 'vs/base/common/strings'; +import { IPosition } from "vs/editor/common/core/position"; // --- adapter diff --git a/src/vs/workbench/api/node/extHostTypeConverters.ts b/src/vs/workbench/api/node/extHostTypeConverters.ts index 20141972bed..450e9e1918e 100644 --- a/src/vs/workbench/api/node/extHostTypeConverters.ts +++ b/src/vs/workbench/api/node/extHostTypeConverters.ts @@ -8,10 +8,11 @@ import Severity from 'vs/base/common/severity'; import * as modes from 'vs/editor/common/modes'; import * as types from './extHostTypes'; import { Position as EditorPosition } from 'vs/platform/editor/common/editor'; -import { IPosition, ISelection, IRange, IDecorationOptions, EndOfLineSequence } from 'vs/editor/common/editorCommon'; +import { ISelection, IRange, IDecorationOptions, EndOfLineSequence } from 'vs/editor/common/editorCommon'; import * as vscode from 'vscode'; import URI from 'vs/base/common/uri'; import { SaveReason } from 'vs/workbench/services/textfile/common/textfiles'; +import { IPosition } from "vs/editor/common/core/position"; export interface PositionLike { line: number; diff --git a/src/vs/workbench/parts/debug/electron-browser/debugEditorContribution.ts b/src/vs/workbench/parts/debug/electron-browser/debugEditorContribution.ts index 89441ddd4c1..8803c24d270 100644 --- a/src/vs/workbench/parts/debug/electron-browser/debugEditorContribution.ts +++ b/src/vs/workbench/parts/debug/electron-browser/debugEditorContribution.ts @@ -19,7 +19,7 @@ import { StandardTokenType } from 'vs/editor/common/modes'; import { DEFAULT_WORD_REGEXP } from 'vs/editor/common/model/wordHelper'; import { ICodeEditor, IEditorMouseEvent } from 'vs/editor/browser/editorBrowser'; import { editorContribution } from 'vs/editor/browser/editorBrowserExtensions'; -import { IDecorationOptions, IModelDecorationOptions, MouseTargetType, IModelDeltaDecoration, TrackedRangeStickiness, IPosition, Handler } from 'vs/editor/common/editorCommon'; +import { IDecorationOptions, IModelDecorationOptions, MouseTargetType, IModelDeltaDecoration, TrackedRangeStickiness, Handler } from 'vs/editor/common/editorCommon'; import { ICodeEditorService } from 'vs/editor/common/services/codeEditorService'; import { Range } from 'vs/editor/common/core/range'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; @@ -36,6 +36,7 @@ import { ExceptionWidget } from 'vs/workbench/parts/debug/browser/exceptionWidge import { FloatingClickWidget } from 'vs/workbench/parts/preferences/browser/preferencesWidgets'; import { IListService } from 'vs/platform/list/browser/listService'; import { IThemeService } from "vs/platform/theme/common/themeService"; +import { IPosition } from "vs/editor/common/core/position"; const HOVER_DELAY = 300; const LAUNCH_JSON_REGEX = /launch\.json$/; diff --git a/src/vs/workbench/parts/emmet/node/editorAccessor.ts b/src/vs/workbench/parts/emmet/node/editorAccessor.ts index 5bf178f03d5..17e84b6ffb1 100644 --- a/src/vs/workbench/parts/emmet/node/editorAccessor.ts +++ b/src/vs/workbench/parts/emmet/node/editorAccessor.ts @@ -5,7 +5,7 @@ 'use strict'; -import { IPosition, ICommonCodeEditor } from 'vs/editor/common/editorCommon'; +import { ICommonCodeEditor } from 'vs/editor/common/editorCommon'; import strings = require('vs/base/common/strings'); import snippets = require('vs/editor/contrib/snippet/common/snippet'); import { Range } from 'vs/editor/common/core/range'; @@ -14,6 +14,7 @@ import { LanguageId, LanguageIdentifier } from 'vs/editor/common/modes'; import emmet = require('emmet'); +import { IPosition } from "vs/editor/common/core/position"; export interface IGrammarContributions { getGrammar(mode: string): string; diff --git a/src/vs/workbench/parts/preferences/browser/preferencesService.ts b/src/vs/workbench/parts/preferences/browser/preferencesService.ts index be6c44b1a2e..5f702d7240c 100644 --- a/src/vs/workbench/parts/preferences/browser/preferencesService.ts +++ b/src/vs/workbench/parts/preferences/browser/preferencesService.ts @@ -17,7 +17,7 @@ import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/edi import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace'; import { IWorkspaceConfigurationService } from 'vs/workbench/services/configuration/common/configuration'; import { Position as EditorPosition, IEditor } from 'vs/platform/editor/common/editor'; -import { ICommonCodeEditor, IPosition } from 'vs/editor/common/editorCommon'; +import { ICommonCodeEditor } from 'vs/editor/common/editorCommon'; import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService'; import { IStorageService } from 'vs/platform/storage/common/storage'; import { IFileService, IFileOperationResult, FileOperationResult } from 'vs/platform/files/common/files'; @@ -34,7 +34,7 @@ import { KeybindingsEditorInput } from 'vs/workbench/parts/preferences/browser/k import { ITextModelResolverService } from 'vs/editor/common/services/resolverService'; import { getCodeEditor } from 'vs/editor/common/services/codeEditorService'; import { EditOperation } from 'vs/editor/common/core/editOperation'; -import { Position } from 'vs/editor/common/core/position'; +import { Position, IPosition } from 'vs/editor/common/core/position'; import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; import { IModelService } from 'vs/editor/common/services/modelService'; diff --git a/src/vs/workbench/parts/preferences/browser/preferencesWidgets.ts b/src/vs/workbench/parts/preferences/browser/preferencesWidgets.ts index 7ac1835cac8..cdc244e8fa9 100644 --- a/src/vs/workbench/parts/preferences/browser/preferencesWidgets.ts +++ b/src/vs/workbench/parts/preferences/browser/preferencesWidgets.ts @@ -25,6 +25,7 @@ import { ActionsOrientation, ActionBar } from 'vs/base/browser/ui/actionbar/acti import { Action } from 'vs/base/common/actions'; import { attachInputBoxStyler } from 'vs/platform/theme/common/styler'; import { IThemeService } from 'vs/platform/theme/common/themeService'; +import { IPosition } from "vs/editor/common/core/position"; export class SettingsGroupTitleWidget extends Widget implements IViewZone { @@ -39,7 +40,7 @@ export class SettingsGroupTitleWidget extends Widget implements IViewZone { private _onToggled = this._register(new Emitter()); public onToggled: Event = this._onToggled.event; - private previousPosition: editorCommon.IPosition; + private previousPosition: IPosition; constructor(private editor: ICodeEditor, public settingsGroup: ISettingsGroup) { super(); @@ -159,7 +160,7 @@ export class SettingsGroupTitleWidget extends Widget implements IViewZone { } } - private focusTitle(currentPosition: editorCommon.IPosition): boolean { + private focusTitle(currentPosition: IPosition): boolean { const previousPosition = this.previousPosition; this.previousPosition = currentPosition; if (!previousPosition) { diff --git a/src/vs/workbench/parts/snippets/electron-browser/snippetsService.ts b/src/vs/workbench/parts/snippets/electron-browser/snippetsService.ts index c52553a03c4..e59e7ca5a45 100644 --- a/src/vs/workbench/parts/snippets/electron-browser/snippetsService.ts +++ b/src/vs/workbench/parts/snippets/electron-browser/snippetsService.ts @@ -6,12 +6,13 @@ import { localize } from 'vs/nls'; import * as strings from 'vs/base/common/strings'; -import { IModel, IPosition } from 'vs/editor/common/editorCommon'; +import { IModel } from 'vs/editor/common/editorCommon'; import { ISuggestion, LanguageId } from 'vs/editor/common/modes'; import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; import { registerSingleton } from 'vs/platform/instantiation/common/extensions'; import { setSnippetSuggestSupport } from 'vs/editor/contrib/suggest/browser/suggest'; import { IModeService } from 'vs/editor/common/services/modeService'; +import { IPosition } from "vs/editor/common/core/position"; export const ISnippetsService = createDecorator('snippetService');