From cc45c4ef7ca9c16115b036f552b2db06fcb03015 Mon Sep 17 00:00:00 2001 From: Alex Dima Date: Fri, 19 Feb 2016 00:37:03 +0100 Subject: [PATCH] Use inplaceReplaceSupport only in the modes that customize it --- src/vs/editor/common/modes/abstractMode.ts | 8 -- .../editor/common/modes/abstractModeWorker.ts | 9 -- .../modes/supports/inplaceReplaceSupport.ts | 55 +--------- src/vs/languages/css/common/css.ts | 7 ++ src/vs/languages/css/common/cssWorker.ts | 101 +++++++++--------- .../css/test/common/css-worker.test.ts | 2 +- src/vs/languages/json/common/json.ts | 7 ++ src/vs/languages/json/common/jsonWorker.ts | 97 ++++++++--------- .../json/test/common/jsonworker.test.ts | 2 +- src/vs/languages/less/common/less.ts | 7 ++ src/vs/languages/sass/common/sass.ts | 7 ++ .../sass/test/common/sass-worker.test.ts | 2 +- 12 files changed, 126 insertions(+), 178 deletions(-) diff --git a/src/vs/editor/common/modes/abstractMode.ts b/src/vs/editor/common/modes/abstractMode.ts index f452a13093ef..b1f691a85c3b 100644 --- a/src/vs/editor/common/modes/abstractMode.ts +++ b/src/vs/editor/common/modes/abstractMode.ts @@ -10,7 +10,6 @@ import {TextualSuggestSupport} from 'vs/editor/common/modes/supports/suggestSupp import {AbstractModeWorker} from 'vs/editor/common/modes/abstractModeWorker'; import Modes = require('vs/editor/common/modes'); import EditorCommon = require('vs/editor/common/editorCommon'); -import URI from 'vs/base/common/uri'; import {IDisposable} from 'vs/base/common/lifecycle'; import {TPromise} from 'vs/base/common/winjs.base'; import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation'; @@ -35,7 +34,6 @@ export abstract class AbstractMode implements Mode // adapters start public autoValidateDelay:number; - public inplaceReplaceSupport:Modes.IInplaceReplaceSupport; public configSupport:Modes.IConfigurationSupport; // adapters end @@ -55,7 +53,6 @@ export abstract class AbstractMode implements Mode this.autoValidateDelay = 500; - this.inplaceReplaceSupport = this; this.configSupport = this; this._workerPiecePromise = null; @@ -142,11 +139,6 @@ export abstract class AbstractMode implements Mode }; } - static $navigateValueSet = OneWorkerAttr(AbstractMode, AbstractMode.prototype.navigateValueSet); - public navigateValueSet(resource:URI, position:EditorCommon.IRange, up:boolean):TPromise { - return this._worker((w) => w.inplaceReplaceSupport.navigateValueSet(resource, position, up)); - } - public configure(options:any): TPromise { this._options = options; diff --git a/src/vs/editor/common/modes/abstractModeWorker.ts b/src/vs/editor/common/modes/abstractModeWorker.ts index 139909ffa8e3..7e66c2178146 100644 --- a/src/vs/editor/common/modes/abstractModeWorker.ts +++ b/src/vs/editor/common/modes/abstractModeWorker.ts @@ -11,7 +11,6 @@ import {ValidationHelper} from 'vs/editor/common/worker/validationHelper'; import EditorCommon = require('vs/editor/common/editorCommon'); import Modes = require('vs/editor/common/modes'); import {TPromise} from 'vs/base/common/winjs.base'; -import {WorkerInplaceReplaceSupport} from 'vs/editor/common/modes/supports/inplaceReplaceSupport'; export class AbstractModeWorker { @@ -20,8 +19,6 @@ export class AbstractModeWorker { public resourceService:IResourceService; public markerService: IMarkerService; - public inplaceReplaceSupport: Modes.IInplaceReplaceSupport; - private _mode:Modes.IMode; _validationHelper: ValidationHelper; @@ -40,12 +37,6 @@ export class AbstractModeWorker { (resource) => this._shouldIncludeModelInValidation(resource), 500 ); - - this.inplaceReplaceSupport = this._createInPlaceReplaceSupport(); - } - - protected _createInPlaceReplaceSupport(): Modes.IInplaceReplaceSupport { - return new WorkerInplaceReplaceSupport(this.resourceService); } _getMode():Modes.IMode { diff --git a/src/vs/editor/common/modes/supports/inplaceReplaceSupport.ts b/src/vs/editor/common/modes/supports/inplaceReplaceSupport.ts index e0c99fe00028..5c6c879092c3 100644 --- a/src/vs/editor/common/modes/supports/inplaceReplaceSupport.ts +++ b/src/vs/editor/common/modes/supports/inplaceReplaceSupport.ts @@ -4,11 +4,8 @@ *--------------------------------------------------------------------------------------------*/ 'use strict'; -import {TPromise} from 'vs/base/common/winjs.base'; -import {IInplaceReplaceSupport, IInplaceReplaceSupportResult} from 'vs/editor/common/modes'; +import {IInplaceReplaceSupportResult} from 'vs/editor/common/modes'; import {IRange} from 'vs/editor/common/editorCommon'; -import {IResourceService} from 'vs/editor/common/services/resourceService'; -import URI from 'vs/base/common/uri'; export class BasicInplaceReplace { @@ -101,53 +98,3 @@ export class BasicInplaceReplace { return null; } } - -export interface IInplaceReplaceSupportCustomization { - navigateValueSetFallback?: (resource: URI, range: IRange, up: boolean) => TPromise; -} - -export class WorkerInplaceReplaceSupport implements IInplaceReplaceSupport { - - private resourceService: IResourceService; - private _customization:IInplaceReplaceSupportCustomization; - - constructor(resourceService: IResourceService, customization: IInplaceReplaceSupportCustomization = null) { - this._customization = customization; - this.resourceService = resourceService; - } - - public navigateValueSet(resource:URI, range:IRange, up:boolean):TPromise { - let result = this.doNavigateValueSet(resource, range, up); - if (result && result.value && result.range) { - return TPromise.as(result); - } - if (this._customization && typeof this._customization.navigateValueSetFallback === 'function') { - return this._customization.navigateValueSetFallback(resource, range, up); - } - return TPromise.as(null); - } - - private doNavigateValueSet(resource:URI, range:IRange, up:boolean): IInplaceReplaceSupportResult { - let model = this.resourceService.get(resource); - if (range.startColumn === range.endColumn) { - range.endColumn += 1; - } - - let selectionText = model.getValueInRange(range); - - let wordPos = model.getWordAtPosition({ lineNumber: range.startLineNumber, column: range.startColumn }); - let word: string = null; - let wordRange: IRange = null; - if (wordPos && wordPos.startColumn !== -1) { - word = wordPos.word; - wordRange = { - startLineNumber: range.startLineNumber, - endLineNumber: range.endLineNumber, - startColumn: wordPos.startColumn, - endColumn: wordPos.endColumn - }; - } - - return BasicInplaceReplace.INSTANCE.navigateValueSet(range, selectionText, wordRange, word, up); - } -} diff --git a/src/vs/languages/css/common/css.ts b/src/vs/languages/css/common/css.ts index 113d61344bf3..7a639bde419b 100644 --- a/src/vs/languages/css/common/css.ts +++ b/src/vs/languages/css/common/css.ts @@ -284,6 +284,7 @@ export class CSSMode extends AbstractMode { public tokenizationSupport: Modes.ITokenizationSupport; public richEditSupport: Modes.IRichEditSupport; + public inplaceReplaceSupport:Modes.IInplaceReplaceSupport; public referenceSupport: Modes.IReferenceSupport; public logicalSelectionSupport: Modes.ILogicalSelectionSupport; public extraInfoSupport:Modes.IExtraInfoSupport; @@ -335,6 +336,7 @@ export class CSSMode extends AbstractMode { } }); + this.inplaceReplaceSupport = this; this.occurrencesSupport = this; this.extraInfoSupport = this; this.referenceSupport = new ReferenceSupport(this.getId(), { @@ -359,6 +361,11 @@ export class CSSMode extends AbstractMode { return createAsyncDescriptor2('vs/languages/css/common/cssWorker', 'CSSWorker'); } + static $navigateValueSet = OneWorkerAttr(CSSMode, CSSMode.prototype.navigateValueSet); + public navigateValueSet(resource:URI, position:EditorCommon.IRange, up:boolean):WinJS.TPromise { + return this._worker((w) => w.navigateValueSet(resource, position, up)); + } + static $findOccurrences = OneWorkerAttr(CSSMode, CSSMode.prototype.findOccurrences); public findOccurrences(resource:URI, position:EditorCommon.IPosition, strict:boolean = false): WinJS.TPromise { return this._worker((w) => w.findOccurrences(resource, position, strict)); diff --git a/src/vs/languages/css/common/cssWorker.ts b/src/vs/languages/css/common/cssWorker.ts index 0c94962bbda1..ce19096797cb 100644 --- a/src/vs/languages/css/common/cssWorker.ts +++ b/src/vs/languages/css/common/cssWorker.ts @@ -25,7 +25,6 @@ import lintRules = require('vs/languages/css/common/services/lintRules'); import {IMarker, IMarkerData} from 'vs/platform/markers/common/markers'; import {IMarkerService} from 'vs/platform/markers/common/markers'; import {IResourceService} from 'vs/editor/common/services/resourceService'; -import {WorkerInplaceReplaceSupport} from 'vs/editor/common/modes/supports/inplaceReplaceSupport'; import {filterSuggestions} from 'vs/editor/common/modes/supports/suggestSupport'; export class CSSWorker extends AbstractModeWorker { @@ -44,67 +43,63 @@ export class CSSWorker extends AbstractModeWorker { this.validationEnabled = true; } - protected _createInPlaceReplaceSupport(): Modes.IInplaceReplaceSupport { - return new WorkerInplaceReplaceSupport(this.resourceService, { - navigateValueSetFallback: (resource:URI, range:EditorCommon.IRange, up:boolean):winjs.TPromise => { - return this.languageService.join().then(() => { + public navigateValueSet(resource:URI, range:EditorCommon.IRange, up:boolean):winjs.TPromise { + return this.languageService.join().then(() => { - let model = this.resourceService.get(resource); - let offset = model.getOffsetFromPosition({ lineNumber: range.startLineNumber, column: range.startColumn }); - let styleSheet = this.languageService.getStylesheet(resource); + let model = this.resourceService.get(resource); + let offset = model.getOffsetFromPosition({ lineNumber: range.startLineNumber, column: range.startColumn }); + let styleSheet = this.languageService.getStylesheet(resource); - let node = nodes.getNodeAtOffset(styleSheet, offset); - if (!node) { - return; - } - let declaration = nodes.getParentDeclaration(node); - if (!declaration) { - return; - } + let node = nodes.getNodeAtOffset(styleSheet, offset); + if (!node) { + return; + } + let declaration = nodes.getParentDeclaration(node); + if (!declaration) { + return; + } - let entry: languageFacts.IEntry = languageFacts.getProperties()[declaration.getFullPropertyName()]; - if (!entry || !entry.values) { - return; - } + let entry: languageFacts.IEntry = languageFacts.getProperties()[declaration.getFullPropertyName()]; + if (!entry || !entry.values) { + return; + } - let values = entry.values.filter(value => languageFacts.isCommonValue(value)).map(v => v.name); + let values = entry.values.filter(value => languageFacts.isCommonValue(value)).map(v => v.name); - let isColor = (entry.restrictions.indexOf('color') >= 0); - if (isColor) { - values = values.concat(Object.getOwnPropertyNames(languageFacts.colors), Object.getOwnPropertyNames(languageFacts.colorKeywords)); - } + let isColor = (entry.restrictions.indexOf('color') >= 0); + if (isColor) { + values = values.concat(Object.getOwnPropertyNames(languageFacts.colors), Object.getOwnPropertyNames(languageFacts.colorKeywords)); + } - let text = node.getText(); - for (let i = 0, len = values.length; i < len; i++) { - if (strings.equalsIgnoreCase(values[i], text)) { - let nextIdx = i; - if(up) { - nextIdx = (i + 1) % len; - } else { - nextIdx = i - 1; - if(nextIdx < 0) { - nextIdx = len - 1; - } - } - let result:Modes.IInplaceReplaceSupportResult = { - value: values[nextIdx], - range: this._range(node, model) - }; - return result; + let text = node.getText(); + for (let i = 0, len = values.length; i < len; i++) { + if (strings.equalsIgnoreCase(values[i], text)) { + let nextIdx = i; + if(up) { + nextIdx = (i + 1) % len; + } else { + nextIdx = i - 1; + if(nextIdx < 0) { + nextIdx = len - 1; } } - // if none matches, take the first one - if (values.length > 0) { - let result:Modes.IInplaceReplaceSupportResult = { - value: values[0], - range: this._range(node, model) - }; - return result; - } - - return null; - }); + let result:Modes.IInplaceReplaceSupportResult = { + value: values[nextIdx], + range: this._range(node, model) + }; + return result; + } } + // if none matches, take the first one + if (values.length > 0) { + let result:Modes.IInplaceReplaceSupportResult = { + value: values[0], + range: this._range(node, model) + }; + return result; + } + + return null; }); } diff --git a/src/vs/languages/css/test/common/css-worker.test.ts b/src/vs/languages/css/test/common/css-worker.test.ts index 81496ee139cc..e18ac315dbdd 100644 --- a/src/vs/languages/css/test/common/css-worker.test.ts +++ b/src/vs/languages/css/test/common/css-worker.test.ts @@ -85,7 +85,7 @@ suite('Validation - CSS', () => { var pos = env.model.getPositionFromOffset(value.indexOf(selection)); var range = { startLineNumber: pos.lineNumber, startColumn: pos.column, endLineNumber: pos.lineNumber, endColumn: pos.column + selectionLength }; - return env.worker.inplaceReplaceSupport.navigateValueSet(url, range, up); + return env.worker.navigateValueSet(url, range, up); }; var testOccurrences = function (value: string, tokenBefore: string): WinJS.TPromise<{ occurrences: Modes.IOccurence[]; model: mm.MirrorModel; }> { diff --git a/src/vs/languages/json/common/json.ts b/src/vs/languages/json/common/json.ts index 88861746c971..0374b7137b63 100644 --- a/src/vs/languages/json/common/json.ts +++ b/src/vs/languages/json/common/json.ts @@ -26,6 +26,7 @@ export class JSONMode extends AbstractMode implements Mod public tokenizationSupport: Modes.ITokenizationSupport; public richEditSupport: Modes.IRichEditSupport; + public inplaceReplaceSupport:Modes.IInplaceReplaceSupport; public extraInfoSupport: Modes.IExtraInfoSupport; public outlineSupport: Modes.IOutlineSupport; public formattingSupport: Modes.IFormattingSupport; @@ -74,6 +75,7 @@ export class JSONMode extends AbstractMode implements Mod }); this.extraInfoSupport = this; + this.inplaceReplaceSupport = this; // Initialize Outline support this.outlineSupport = this; @@ -130,6 +132,11 @@ export class JSONMode extends AbstractMode implements Mod return this._worker((w) => w.setSchemaContributions(data)); } + static $navigateValueSet = OneWorkerAttr(JSONMode, JSONMode.prototype.navigateValueSet); + public navigateValueSet(resource:URI, position:EditorCommon.IRange, up:boolean):WinJS.TPromise { + return this._worker((w) => w.navigateValueSet(resource, position, up)); + } + static $suggest = OneWorkerAttr(JSONMode, JSONMode.prototype.suggest); public suggest(resource:URI, position:EditorCommon.IPosition):WinJS.TPromise { return this._worker((w) => w.suggest(resource, position)); diff --git a/src/vs/languages/json/common/jsonWorker.ts b/src/vs/languages/json/common/jsonWorker.ts index 8405a5457003..62c33254231a 100644 --- a/src/vs/languages/json/common/jsonWorker.ts +++ b/src/vs/languages/json/common/jsonWorker.ts @@ -30,7 +30,6 @@ import {ISchemaContributions} from 'vs/platform/jsonschemas/common/jsonContribut import {IResourceService} from 'vs/editor/common/services/resourceService'; import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation'; import {JSONLocation} from './parser/jsonLocation'; -import {WorkerInplaceReplaceSupport} from 'vs/editor/common/modes/supports/inplaceReplaceSupport'; import {filterSuggestions} from 'vs/editor/common/modes/supports/suggestSupport'; export interface IOptionsSchema { @@ -101,64 +100,60 @@ export class JSONWorker extends AbstractModeWorker implements Modes.IExtraInfoSu this.jsonIntellisense = new JSONIntellisense.JSONIntellisense(this.schemaService, this.requestService, this.contributions); } - protected _createInPlaceReplaceSupport(): Modes.IInplaceReplaceSupport { - return new WorkerInplaceReplaceSupport(this.resourceService, { - navigateValueSetFallback: (resource:URI, range:EditorCommon.IRange, up:boolean):WinJS.TPromise => { - var modelMirror = this.resourceService.get(resource); - var offset = modelMirror.getOffsetFromPosition({ lineNumber: range.startLineNumber, column: range.startColumn }); + public navigateValueSet(resource:URI, range:EditorCommon.IRange, up:boolean):WinJS.TPromise { + var modelMirror = this.resourceService.get(resource); + var offset = modelMirror.getOffsetFromPosition({ lineNumber: range.startLineNumber, column: range.startColumn }); - var parser = new Parser.JSONParser(); - var config = new Parser.JSONDocumentConfig(); - config.ignoreDanglingComma = true; - var doc = parser.parse(modelMirror.getValue(), config); - var node = doc.getNodeFromOffsetEndInclusive(offset); + var parser = new Parser.JSONParser(); + var config = new Parser.JSONDocumentConfig(); + config.ignoreDanglingComma = true; + var doc = parser.parse(modelMirror.getValue(), config); + var node = doc.getNodeFromOffsetEndInclusive(offset); - if (node && (node.type === 'string' || node.type === 'number' || node.type === 'boolean' || node.type === 'null')) { - return this.schemaService.getSchemaForResource(resource.toString(), doc).then((schema) => { - if (schema) { - var proposals : Modes.ISuggestion[] = []; - var proposed: any = {}; - var collector = { - add: (suggestion: Modes.ISuggestion) => { - if (!proposed[suggestion.label]) { - proposed[suggestion.label] = true; - proposals.push(suggestion); - } - }, - setAsIncomplete: () => { /* ignore */ }, - error: (message: string) => { - errors.onUnexpectedError(message); - } - }; + if (node && (node.type === 'string' || node.type === 'number' || node.type === 'boolean' || node.type === 'null')) { + return this.schemaService.getSchemaForResource(resource.toString(), doc).then((schema) => { + if (schema) { + var proposals : Modes.ISuggestion[] = []; + var proposed: any = {}; + var collector = { + add: (suggestion: Modes.ISuggestion) => { + if (!proposed[suggestion.label]) { + proposed[suggestion.label] = true; + proposals.push(suggestion); + } + }, + setAsIncomplete: () => { /* ignore */ }, + error: (message: string) => { + errors.onUnexpectedError(message); + } + }; - this.jsonIntellisense.getValueSuggestions(resource, schema, doc, node.parent, node.start, collector); + this.jsonIntellisense.getValueSuggestions(resource, schema, doc, node.parent, node.start, collector); - var range = modelMirror.getRangeFromOffsetAndLength(node.start, node.end - node.start); - var text = modelMirror.getValueInRange(range); - for (var i = 0, len = proposals.length; i < len; i++) { - if (Strings.equalsIgnoreCase(proposals[i].label, text)) { - var nextIdx = i; - if (up) { - nextIdx = (i + 1) % len; - } else { - nextIdx = i - 1; - if (nextIdx < 0) { - nextIdx = len - 1; - } - } - return { - value: proposals[nextIdx].label, - range: range - }; + var range = modelMirror.getRangeFromOffsetAndLength(node.start, node.end - node.start); + var text = modelMirror.getValueInRange(range); + for (var i = 0, len = proposals.length; i < len; i++) { + if (Strings.equalsIgnoreCase(proposals[i].label, text)) { + var nextIdx = i; + if (up) { + nextIdx = (i + 1) % len; + } else { + nextIdx = i - 1; + if (nextIdx < 0) { + nextIdx = len - 1; } } - return null; + return { + value: proposals[nextIdx].label, + range: range + }; } - }); + } + return null; } - return null; - } - }); + }); + } + return null; } /** diff --git a/src/vs/languages/json/test/common/jsonworker.test.ts b/src/vs/languages/json/test/common/jsonworker.test.ts index e8fc1db1b608..d61ab8a1fd8f 100644 --- a/src/vs/languages/json/test/common/jsonworker.test.ts +++ b/src/vs/languages/json/test/common/jsonworker.test.ts @@ -79,7 +79,7 @@ suite('JSON - Worker', () => { var pos = env.model.getPositionFromOffset(value.indexOf(selection)); var range = { startLineNumber: pos.lineNumber, startColumn: pos.column, endLineNumber: pos.lineNumber, endColumn: pos.column + selectionLength }; - return env.worker.inplaceReplaceSupport.navigateValueSet(url, range, up); + return env.worker.navigateValueSet(url, range, up); }; function getOutline(content: string):WinJS.TPromise { diff --git a/src/vs/languages/less/common/less.ts b/src/vs/languages/less/common/less.ts index d2ed7adec2c1..4b6dd9d80720 100644 --- a/src/vs/languages/less/common/less.ts +++ b/src/vs/languages/less/common/less.ts @@ -179,6 +179,7 @@ export var language: Types.ILanguage = { export class LESSMode extends Monarch.MonarchMode implements Modes.IExtraInfoSupport, Modes.IOutlineSupport { + public inplaceReplaceSupport:Modes.IInplaceReplaceSupport; public referenceSupport: Modes.IReferenceSupport; public logicalSelectionSupport: Modes.ILogicalSelectionSupport; public extraInfoSupport: Modes.IExtraInfoSupport; @@ -201,6 +202,7 @@ export class LESSMode extends Monarch.MonarchMode impleme this.modeService = modeService; this.extraInfoSupport = this; + this.inplaceReplaceSupport = this; this.referenceSupport = new ReferenceSupport(this.getId(), { tokens: [lessTokenTypes.TOKEN_PROPERTY + '.less', lessTokenTypes.TOKEN_VALUE + '.less', 'variable.less', lessTokenTypes.TOKEN_SELECTOR + '.class.less', lessTokenTypes.TOKEN_SELECTOR + '.id.less', 'selector.less'], findReferences: (resource, position, /*unused*/includeDeclaration) => this.findReferences(resource, position)}); @@ -229,6 +231,11 @@ export class LESSMode extends Monarch.MonarchMode impleme }); } + static $navigateValueSet = OneWorkerAttr(LESSMode, LESSMode.prototype.navigateValueSet); + public navigateValueSet(resource:URI, position:EditorCommon.IRange, up:boolean):winjs.TPromise { + return this._worker((w) => w.navigateValueSet(resource, position, up)); + } + static $findReferences = OneWorkerAttr(LESSMode, LESSMode.prototype.findReferences); public findReferences(resource:URI, position:EditorCommon.IPosition):winjs.TPromise { return this._worker((w) => w.findReferences(resource, position)); diff --git a/src/vs/languages/sass/common/sass.ts b/src/vs/languages/sass/common/sass.ts index 5bb655ba6946..ad5ef1e3220d 100644 --- a/src/vs/languages/sass/common/sass.ts +++ b/src/vs/languages/sass/common/sass.ts @@ -281,6 +281,7 @@ export var language = { export class SASSMode extends Monarch.MonarchMode implements Modes.IExtraInfoSupport, Modes.IOutlineSupport { + public inplaceReplaceSupport:Modes.IInplaceReplaceSupport; public referenceSupport: Modes.IReferenceSupport; public logicalSelectionSupport: Modes.ILogicalSelectionSupport; public extraInfoSupport: Modes.IExtraInfoSupport; @@ -303,6 +304,7 @@ export class SASSMode extends Monarch.MonarchMode impleme this.modeService = modeService; this.extraInfoSupport = this; + this.inplaceReplaceSupport = this; this.referenceSupport = new ReferenceSupport(this.getId(), { tokens: [sassTokenTypes.TOKEN_PROPERTY + '.sass', sassTokenTypes.TOKEN_VALUE + '.sass', 'variable.decl.sass', 'variable.ref.sass', 'support.function.name.sass', sassTokenTypes.TOKEN_PROPERTY + '.sass', sassTokenTypes.TOKEN_SELECTOR + '.sass'], findReferences: (resource, position, /*unused*/includeDeclaration) => this.findReferences(resource, position)}); @@ -331,6 +333,11 @@ export class SASSMode extends Monarch.MonarchMode impleme }); } + static $navigateValueSet = OneWorkerAttr(SASSMode, SASSMode.prototype.navigateValueSet); + public navigateValueSet(resource:URI, position:EditorCommon.IRange, up:boolean):winjs.TPromise { + return this._worker((w) => w.navigateValueSet(resource, position, up)); + } + static $findReferences = OneWorkerAttr(SASSMode, SASSMode.prototype.findReferences); public findReferences(resource:URI, position:EditorCommon.IPosition):winjs.TPromise { return this._worker((w) => w.findReferences(resource, position)); diff --git a/src/vs/languages/sass/test/common/sass-worker.test.ts b/src/vs/languages/sass/test/common/sass-worker.test.ts index cc9b2442dd73..af285506324c 100644 --- a/src/vs/languages/sass/test/common/sass-worker.test.ts +++ b/src/vs/languages/sass/test/common/sass-worker.test.ts @@ -46,7 +46,7 @@ suite('SASS - Worker', () => { var pos = env.model.getPositionFromOffset(value.indexOf(selection)); var range = { startLineNumber: pos.lineNumber, startColumn: pos.column, endLineNumber: pos.lineNumber, endColumn: pos.column + selectionLength }; - return env.worker.inplaceReplaceSupport.navigateValueSet(url, range, up); + return env.worker.navigateValueSet(url, range, up); }; var testOccurrences = function(value:string, tokenBefore:string):WinJS.TPromise<{ occurrences: Modes.IOccurence[]; model: mm.MirrorModel }> {