提交 d728558a 编写于 作者: J Johannes Rieken

use URI in favour of URL

上级 39d35898
......@@ -300,7 +300,7 @@ export class URL extends URI implements objects.IEqualable {
}
public static fromUri(value: URI): URL {
return new URL(value);
return value && new URL(value);
}
private _spec:string;
......
......@@ -14,6 +14,7 @@ import {ModelLine} from 'vs/editor/common/model/modelLine';
import EditorCommon = require('vs/editor/common/editorCommon');
import {IResourceService} from 'vs/editor/common/services/resourceService';
import {URL} from 'vs/base/common/network';
import URI from 'vs/base/common/uri';
import {disposeAll} from 'vs/base/common/lifecycle';
export interface IMirrorModelEvents {
......@@ -27,7 +28,7 @@ export class AbstractMirrorModel extends TextModelWithTokens implements EditorCo
_associatedResource:URL;
_extraProperties:{[key:string]:any;};
constructor(allowedEventTypes:string[], versionId:number, value:EditorCommon.IRawText, mode:IMode|TPromise<IMode>, associatedResource?:URL, properties?:{[key:string]:any;}) {
constructor(allowedEventTypes:string[], versionId:number, value:EditorCommon.IRawText, mode:IMode|TPromise<IMode>, associatedResource?:URI, properties?:{[key:string]:any;}) {
super(allowedEventTypes.concat([EditorCommon.EventType.ModelDispose]), value, false, mode);
if(!properties) {
......@@ -35,7 +36,7 @@ export class AbstractMirrorModel extends TextModelWithTokens implements EditorCo
}
this._setVersionId(versionId);
this._associatedResource = associatedResource;
this._associatedResource = associatedResource && URL.fromUri(associatedResource);
this._extraProperties = properties;
}
......@@ -315,7 +316,7 @@ class EmbeddedModeRange {
}
}
export function createMirrorModelFromString(resourceService:IResourceService, versionId:number, value:string, mode:IMode, associatedResource?:URL, properties?:{[key:string]:any;}): MirrorModel {
export function createMirrorModelFromString(resourceService:IResourceService, versionId:number, value:string, mode:IMode, associatedResource?:URI, properties?:{[key:string]:any;}): MirrorModel {
return new MirrorModel(resourceService, versionId, TextModel.toRawText(value), mode, associatedResource, properties);
}
......@@ -324,7 +325,7 @@ export class MirrorModel extends AbstractMirrorModel implements EditorCommon.IMi
private _resourceService: IResourceService;
private _embeddedModels: {[modeId:string]:MirrorModelEmbedded;};
constructor(resourceService:IResourceService, versionId:number, value:EditorCommon.IRawText, mode:IMode|TPromise<IMode>, associatedResource?:URL, properties?:{[key:string]:any;}) {
constructor(resourceService:IResourceService, versionId:number, value:EditorCommon.IRawText, mode:IMode|TPromise<IMode>, associatedResource?:URI, properties?:{[key:string]:any;}) {
super(['changed'], versionId, value, mode, associatedResource, properties);
this._resourceService = resourceService;
......
......@@ -10,16 +10,15 @@ import EditorCommon = require('vs/editor/common/editorCommon');
import Modes = require('vs/editor/common/modes');
import {EventProvider} from 'vs/base/common/eventProvider';
import URI from 'vs/base/common/uri';
import {URL} from 'vs/base/common/network';
export var IModelService = createDecorator<IModelService>('modelService');
export interface IModelService {
serviceId: ServiceIdentifier<any>;
createModel(value:string, modeOrPromise:TPromise<Modes.IMode>|Modes.IMode, resource: URL): EditorCommon.IModel;
createModel(value:string, modeOrPromise:TPromise<Modes.IMode>|Modes.IMode, resource: URI): EditorCommon.IModel;
destroyModel(resource: URL): void;
destroyModel(resource: URI): void;
getModels(): EditorCommon.IModel[];
......
......@@ -28,7 +28,7 @@ import {anonymize} from 'vs/platform/telemetry/common/telemetry';
import {Model} from 'vs/editor/common/model/model';
export interface IRawModelData {
url:URL;
url:URI;
versionId:number;
value:EditorCommon.IRawText;
properties:any;
......@@ -219,9 +219,9 @@ export class ModelServiceImpl implements IModelService {
// --- begin IModelService
private _createModelData(value:string, modeOrPromise:TPromise<Modes.IMode>|Modes.IMode, resource: URL): ModelData {
private _createModelData(value:string, modeOrPromise:TPromise<Modes.IMode>|Modes.IMode, resource: URI): ModelData {
// create & save the model
let model = new Model(value, modeOrPromise, resource);
let model = new Model(value, modeOrPromise, resource && URL.fromUri(resource));
let modelId = MODEL_ID(model.getAssociatedResource());
if (this._models[modelId]) {
......@@ -235,7 +235,7 @@ export class ModelServiceImpl implements IModelService {
return modelData;
}
public createModel(value:string, modeOrPromise:TPromise<Modes.IMode>|Modes.IMode, resource: URL): EditorCommon.IModel {
public createModel(value:string, modeOrPromise:TPromise<Modes.IMode>|Modes.IMode, resource: URI): EditorCommon.IModel {
let modelData = this._createModelData(value, modeOrPromise, resource);
let modelId = modelData.getModelId();
......@@ -255,7 +255,7 @@ export class ModelServiceImpl implements IModelService {
return modelData.model;
}
public destroyModel(resource: URL): void {
public destroyModel(resource: URI): void {
// We need to support that not all models get disposed through this service (i.e. model.dispose() should work!)
let modelData = this._models[MODEL_ID(resource)];
if (!modelData) {
......@@ -274,7 +274,7 @@ export class ModelServiceImpl implements IModelService {
return ret;
}
public getModel(resource: URL): EditorCommon.IModel {
public getModel(resource: URI): EditorCommon.IModel {
let modelId = MODEL_ID(resource);
let modelData = this._models[modelId];
if (!modelData) {
......@@ -390,7 +390,7 @@ export class ModelServiceWorkerHelper {
public $_acceptNewModel(data:IRawModelData): TPromise<void> {
// Create & insert the mirror model eagerly in the resource service
let mirrorModel = new MirrorModel(this._resourceService, data.versionId, data.value, null, data.url, data.properties);
let mirrorModel = new MirrorModel(this._resourceService, data.versionId, data.value, null, URL.fromUri(data.url), data.properties);
this._resourceService.insert(mirrorModel.getAssociatedResource(), mirrorModel);
// Block worker execution until the mode is instantiated
......@@ -426,7 +426,7 @@ export class ModelServiceWorkerHelper {
});
}
public $_acceptDidDisposeModel(url:URL): void {
public $_acceptDidDisposeModel(url:URI): void {
let model = <MirrorModel>this._resourceService.get(url);
this._resourceService.remove(url);
if (model) {
......@@ -435,7 +435,7 @@ export class ModelServiceWorkerHelper {
}
public $_acceptModelEvents(modelId: string, events:IMirrorModelEvents): void {
let model = <MirrorModel>this._resourceService.get(new URL(modelId));
let model = <MirrorModel>this._resourceService.get(URI.parse(modelId));
if (!model) {
throw new Error('Received model events for missing model ' + anonymize(modelId));
}
......
......@@ -5,7 +5,7 @@
'use strict';
import assert = require('assert');
import Network = require('vs/base/common/network');
import URI from 'vs/base/common/uri';
import Emit = require('vs/base/common/eventEmitter');
import Service = require('vs/editor/common/services/resourceServiceImpl');
import MirrorModel = require('vs/editor/common/model/mirrorModel');
......@@ -17,18 +17,18 @@ suite('Editor Services - ResourceService', () => {
var service = new Service.ResourceService();
service.insert(new Network.URL('test://1'), MirrorModel.createMirrorModelFromString(null, 1, 'hi', null));
service.insert(URI.parse('test://1'), MirrorModel.createMirrorModelFromString(null, 1, 'hi', null));
assert.equal(service.all().length, 1);
service.insert(new Network.URL('test://2'), MirrorModel.createMirrorModelFromString(null, 1, 'hi', null));
service.insert(URI.parse('test://2'), MirrorModel.createMirrorModelFromString(null, 1, 'hi', null));
assert.equal(service.all().length, 2);
assert.ok(service.contains(new Network.URL('test://1')));
assert.ok(service.contains(new Network.URL('test://2')));
assert.ok(service.contains(URI.parse('test://1')));
assert.ok(service.contains(URI.parse('test://2')));
service.remove(new Network.URL('test://1'));
service.remove(new Network.URL('test://1'));
service.remove(new Network.URL('test://2'));
service.remove(URI.parse('test://1'));
service.remove(URI.parse('test://1'));
service.remove(URI.parse('test://2'));
assert.equal(service.all().length, 0);
});
......@@ -37,7 +37,7 @@ suite('Editor Services - ResourceService', () => {
var eventCnt = 0;
var url = new Network.URL('far');
var url = URI.parse('far');
var element = MirrorModel.createMirrorModelFromString(null, 1, 'hi', null);
var service = new Service.ResourceService();
service.addListener(resourceService.ResourceEvents.ADDED, () => {
......@@ -58,7 +58,7 @@ suite('Editor Services - ResourceService', () => {
var eventCnt = 0;
var url = new Network.URL('far');
var url = URI.parse('far');
var element = MirrorModel.createMirrorModelFromString(null, 1, 'hi', null);
var event = {};
......
......@@ -4,9 +4,9 @@
*--------------------------------------------------------------------------------------------*/
'use strict';
import URI from 'vs/base/common/uri';
import nodes = require('vs/languages/css/common/parser/cssNodes');
import service = require('vs/languages/css/common/services/cssLanguageService');
import network = require('vs/base/common/network');
import languageFacts = require('vs/languages/css/common/services/languageFacts');
export enum Type {
......@@ -54,7 +54,7 @@ export class MultiType implements IType {
}
}
export function typeAtPosition(service:service.ILanguageService, resource:network.URL, offset:number):IType {
export function typeAtPosition(service:service.ILanguageService, resource:URI, offset:number):IType {
return null;
}
......
......@@ -7,7 +7,7 @@
import assert = require('assert');
import mm = require('vs/editor/common/model/mirrorModel');
import cssWorker = require('vs/languages/css/common/cssWorker');
import Network = require('vs/base/common/network');
import URI from 'vs/base/common/uri';
import ResourceService = require('vs/editor/common/services/resourceServiceImpl');
import MarkerService = require('vs/platform/markers/common/markerService');
import EditorCommon = require('vs/editor/common/editorCommon');
......@@ -19,7 +19,7 @@ import modesUtil = require('vs/editor/test/common/modesTestUtils');
import {NULL_THREAD_SERVICE} from 'vs/platform/test/common/nullThreadService';
import {IMarker} from 'vs/platform/markers/common/markers';
export function mockMirrorModel(content:string, url:Network.URL = null) : mm.MirrorModel {
export function mockMirrorModel(content:string, url:URI = null) : mm.MirrorModel {
return mm.createMirrorModelFromString(null, 0, content, modesUtil.createMockMode('mock.mode.id', /(#?-?\d*\.\d\w*%?)|([@#.:!]?[\w-?]+%?)|[@#.!]/g), url);
}
......@@ -29,7 +29,7 @@ suite('Validation - CSS', () => {
var source = ' #navigation a;';
var message = cssErrors.ParseError.LeftCurlyExpected.message;
var url = new Network.URL(Network.schemas.inMemory + '://localhost/vs/editor/common/model/mirrorModel/1');
var url = URI.parse('inmemory://localhost/vs/editor/common/model/mirrorModel/1');
var mirrorModel:any= mockMirrorModel(source, url);
var markerService = new MarkerService.MarkerService(NULL_THREAD_SERVICE);
......@@ -50,7 +50,7 @@ suite('Validation - CSS', () => {
assert.equal(marker.message, message);
});
var mockCSSWorkerEnv = function (url: Network.URL, content: string): { worker: cssWorker.CSSWorker; model: mm.MirrorModel; markers: IMarker[]; } {
var mockCSSWorkerEnv = function (url: URI, content: string): { worker: cssWorker.CSSWorker; model: mm.MirrorModel; markers: IMarker[]; } {
var resourceService = new ResourceService.ResourceService();
var model = mockMirrorModel(content, url);
resourceService.insert(url, model);
......@@ -70,7 +70,7 @@ suite('Validation - CSS', () => {
};
var testSuggestionsFor = function(value:string, stringBefore:string):WinJS.TPromise<Modes.ISuggestions> {
var url = new Network.URL('test://1');
var url = URI.parse('test://1');
var env = mockCSSWorkerEnv(url, value);
var idx = stringBefore ? value.indexOf(stringBefore) + stringBefore.length : 0;
......@@ -79,7 +79,7 @@ suite('Validation - CSS', () => {
};
var testValueSetFor = function(value:string, selection:string, selectionLength: number, up: boolean):WinJS.TPromise<Modes.IInplaceReplaceSupportResult> {
var url = new Network.URL('test://1');
var url = URI.parse('test://1');
var env = mockCSSWorkerEnv(url, value);
var pos = env.model.getPositionFromOffset(value.indexOf(selection));
......@@ -89,7 +89,7 @@ suite('Validation - CSS', () => {
};
var testOccurrences = function (value: string, tokenBefore: string): WinJS.TPromise<{ occurrences: Modes.IOccurence[]; model: mm.MirrorModel; }> {
var url = new Network.URL('test://1');
var url = URI.parse('test://1');
var env = mockCSSWorkerEnv(url, value);
var pos = env.model.getPositionFromOffset(value.indexOf(tokenBefore) + tokenBefore.length);
......@@ -98,7 +98,7 @@ suite('Validation - CSS', () => {
};
var testQuickFixes = function (value: string, tokenBefore: string): WinJS.TPromise<{ fixes: Modes.IQuickFix[]; model: mm.MirrorModel; }> {
var url = new Network.URL('test://1');
var url = URI.parse('test://1');
var env = mockCSSWorkerEnv(url, value);
var pos = env.model.getPositionFromOffset(value.indexOf(tokenBefore) + tokenBefore.length);
......
......@@ -9,6 +9,7 @@ import mm = require('vs/editor/common/model/mirrorModel');
import html = require('vs/languages/html/common/html');
import htmlWorker = require('vs/languages/html/common/htmlWorker');
import Network = require('vs/base/common/network');
import URI from 'vs/base/common/uri';
import ResourceService = require('vs/editor/common/services/resourceServiceImpl');
import MarkerService = require('vs/platform/markers/common/markerService');
import EditorCommon = require('vs/editor/common/editorCommon');
......
......@@ -11,7 +11,7 @@ import resourceService = require('vs/editor/common/services/resourceServiceImpl'
import {IResourceService} from 'vs/editor/common/services/resourceService';
import instantiationService = require('vs/platform/instantiation/common/instantiationService');
import mirrorModel = require('vs/editor/common/model/mirrorModel');
import network = require('vs/base/common/network');
import URI from 'vs/base/common/uri';
import SchemaService = require('vs/languages/json/common/jsonSchemaService');
import EditorCommon = require('vs/editor/common/editorCommon');
import Modes = require('vs/editor/common/modes');
......@@ -32,7 +32,7 @@ suite('JSON - Worker', () => {
}
};
function mockWorkerEnv(url: network.URL, content: string): { worker: jsonworker.JSONWorker; model: EditorCommon.IMirrorModel; } {
function mockWorkerEnv(url: URI, content: string): { worker: jsonworker.JSONWorker; model: EditorCommon.IMirrorModel; } {
var mm = mirrorModel.createMirrorModelFromString(null, 1, content, modesUtil.createMockMode('mock.mode.id'), url);
var resourceModelMock: IResourceService = new resourceService.ResourceService();
......@@ -56,7 +56,7 @@ suite('JSON - Worker', () => {
}
var testSuggestionsFor = function(value:string, stringAfter:string, schema?:jsonSchema.IJSONSchema):WinJS.TPromise<Modes.ISuggestions> {
var url = new network.URL('test://test.json');
var url = URI.parse('test://test.json');
var env = mockWorkerEnv(url, value);
prepareSchemaServer(schema, env.worker);
......@@ -66,14 +66,14 @@ suite('JSON - Worker', () => {
};
function testComputeInfo(content:string, schema:jsonSchema.IJSONSchema, position:EditorCommon.IPosition):WinJS.TPromise<Modes.IComputeExtraInfoResult> {
var url = new network.URL('test://test.json');
var url = URI.parse('test://test.json');
var env = mockWorkerEnv(url, content);
prepareSchemaServer(schema, env.worker);
return env.worker.computeInfo(url, position);
}
var testValueSetFor = function(value:string, schema:jsonSchema.IJSONSchema, selection:string, selectionLength: number, up: boolean):WinJS.TPromise<Modes.IInplaceReplaceSupportResult> {
var url = new network.URL('test://test.json');
var url = URI.parse('test://test.json');
var env = mockWorkerEnv(url, value);
prepareSchemaServer(schema, env.worker);
......@@ -84,7 +84,7 @@ suite('JSON - Worker', () => {
};
function getOutline(content: string):WinJS.TPromise<Modes.IOutlineEntry[]> {
var url = new network.URL('test');
var url = URI.parse('test');
var workerEnv = mockWorkerEnv(url, content);
return workerEnv.worker.getOutline(url);
};
......
......@@ -7,7 +7,7 @@
import assert = require('assert');
import mm = require('vs/editor/common/model/mirrorModel');
import lessWorker = require('vs/languages/less/common/lessWorker');
import Network = require('vs/base/common/network');
import URI from 'vs/base/common/uri';
import ResourceService = require('vs/editor/common/services/resourceServiceImpl');
import WinJS = require('vs/base/common/winjs.base');
import EditorCommon = require('vs/editor/common/editorCommon');
......@@ -22,7 +22,7 @@ suite('LESS - Intellisense', () => {
var testSuggestionsFor = function(value:string, stringBefore:string):WinJS.TPromise<Modes.ISuggestions> {
var resourceService = new ResourceService.ResourceService();
var url = new Network.URL('test://1');
var url = URI.parse('test://1');
resourceService.insert(url, mm.createMirrorModelFromString(null, 0, value, modesUtil.createMockMode('mock.mode.id', /(-?\d*\.\d+)|([\w-]+)/g), url));
let services = servicesUtil2.createMockEditorWorkerServices({
......
......@@ -7,7 +7,7 @@
import assert = require('assert');
import mm = require('vs/editor/common/model/mirrorModel');
import sassWorker = require('vs/languages/sass/common/sassWorker');
import Network = require('vs/base/common/network');
import URI from 'vs/base/common/uri';
import ResourceService = require('vs/editor/common/services/resourceServiceImpl');
import EditorCommon = require('vs/editor/common/editorCommon');
import Modes = require('vs/editor/common/modes');
......@@ -17,7 +17,7 @@ import modesUtil = require('vs/editor/test/common/modesTestUtils');
suite('SASS - Worker', () => {
var mockSASSWorkerEnv = function (url:Network.URL, content: string) : { worker: sassWorker.SassWorker; model: mm.MirrorModel } {
var mockSASSWorkerEnv = function (url:URI, content: string) : { worker: sassWorker.SassWorker; model: mm.MirrorModel } {
var resourceService = new ResourceService.ResourceService();
var model = mm.createMirrorModelFromString(null, 0, content, modesUtil.createMockMode('mock.mode.id', /(#?-?\d*\.\d\w*%?)|([$@#!]?[\w-?]+%?)|[$@#!]/g), url);
resourceService.insert(url, model);
......@@ -31,7 +31,7 @@ suite('SASS - Worker', () => {
};
var testSuggestionsFor = function(value:string, stringBefore:string):WinJS.TPromise<Modes.ISuggestions> {
var url = new Network.URL('test://1');
var url = URI.parse('test://1');
var env = mockSASSWorkerEnv(url, value);
var idx = stringBefore ? value.indexOf(stringBefore) + stringBefore.length : 0;
......@@ -40,7 +40,7 @@ suite('SASS - Worker', () => {
};
var testValueSetFor = function(value:string, selection:string, selectionLength: number, up: boolean):WinJS.TPromise<Modes.IInplaceReplaceSupportResult> {
var url = new Network.URL('test://1');
var url = URI.parse('test://1');
var env = mockSASSWorkerEnv(url, value);
var pos = env.model.getPositionFromOffset(value.indexOf(selection));
......@@ -50,7 +50,7 @@ suite('SASS - Worker', () => {
};
var testOccurrences = function(value:string, tokenBefore:string):WinJS.TPromise<{ occurrences: Modes.IOccurence[]; model: mm.MirrorModel }> {
var url = new Network.URL('test://1');
var url = URI.parse('test://1');
var env = mockSASSWorkerEnv(url, value);
var pos = env.model.getPositionFromOffset(value.indexOf(tokenBefore) + tokenBefore.length);
......
......@@ -9,7 +9,6 @@ import strings = require('vs/base/common/strings');
import paths = require('vs/base/common/paths');
import collections = require('vs/base/common/collections');
import winjs = require('vs/base/common/winjs.base');
import network = require('vs/base/common/network');
import EditorCommon = require('vs/editor/common/editorCommon');
import Modes = require('vs/editor/common/modes');
import ts = require('vs/languages/typescript/common/lib/typescriptServices');
......@@ -59,7 +58,7 @@ export class FilenameSuggestions implements Modes.ISuggestParticipant {
this._resourceServices = resourceService;
}
public suggest(resource: network.URL, position: EditorCommon.IPosition, context?: projectService.ProjectService): winjs.TPromise<Modes.ISuggestions> {
public suggest(resource: URI, position: EditorCommon.IPosition, context?: projectService.ProjectService): winjs.TPromise<Modes.ISuggestions> {
if(!(context instanceof projectService.ProjectService)) {
return winjs.TPromise.as(null);
......@@ -114,7 +113,7 @@ export class FilenameSuggestions implements Modes.ISuggestParticipant {
return winjs.TPromise.as(result);
}
private _findCurrentWord(resource:network.URL, position:EditorCommon.IPosition, sourceFile:ts.SourceFile):IPathInfo {
private _findCurrentWord(resource:URI, position:EditorCommon.IPosition, sourceFile:ts.SourceFile):IPathInfo {
var mirrorModel = <EditorCommon.IMirrorModel> this._resourceServices.get(resource),
offset = mirrorModel.getOffsetFromPosition(position),
......
......@@ -5,9 +5,9 @@
'use strict';
import assert = require('assert');
import URI from 'vs/base/common/uri';
import EditorCommon = require('vs/editor/common/editorCommon');
import Modes = require('vs/editor/common/modes');
import network = require('vs/base/common/network');
import logicalSelection = require('vs/languages/typescript/common/features/logicalSelection');
import ts = require('vs/languages/typescript/common/lib/typescriptServices');
import utils = require('vs/languages/typescript/test/common/features/utils');
......@@ -19,7 +19,7 @@ suite('TS - logical selection', () => {
var host = new utils.LanguageServiceHost().add('a', code),
languageService = ts.createLanguageService(host, ts.createDocumentRegistry());
var elements = logicalSelection.compute(languageService, network.URL.fromValue('a'), { lineNumber: line, column: position });
var elements = logicalSelection.compute(languageService, URI.parse('a'), { lineNumber: line, column: position });
try {
callback(elements);
......
......@@ -7,7 +7,7 @@
import assert = require('assert');
import EditorCommon = require('vs/editor/common/editorCommon');
import Modes = require('vs/editor/common/modes');
import network = require('vs/base/common/network');
import URI from 'vs/base/common/uri';
import outline = require('vs/languages/typescript/common/features/outline');
import ts = require('vs/languages/typescript/common/lib/typescriptServices');
import utils = require('vs/languages/typescript/test/common/features/utils');
......@@ -17,7 +17,7 @@ suite('TS - outline', () => {
function assertOutline(code:string, callback:(outline:Modes.IOutlineEntry[])=>any):void {
var host = new utils.LanguageServiceHost().add('a', code);
var elements = outline.compute(ts.createLanguageService(host, ts.createDocumentRegistry()), network.URL.fromValue('a'));
var elements = outline.compute(ts.createLanguageService(host, ts.createDocumentRegistry()), URI.parse('a'));
try {
callback(elements);
......
......@@ -7,7 +7,7 @@
import assert = require('assert');
import EditorCommon = require('vs/editor/common/editorCommon');
import Modes = require('vs/editor/common/modes');
import network = require('vs/base/common/network');
import URI from 'vs/base/common/uri';
import quickfix = require('vs/languages/typescript/common/features/quickFix');
import diagnostics = require('vs/languages/typescript/common/features/diagnostics');
import ts = require('vs/languages/typescript/common/lib/typescriptServices');
......@@ -18,7 +18,7 @@ suite('TS - quick fix', () => {
function assertQuickFix(code: string, fileName: string, callback: (outline: Modes.IQuickFix[]) => any): void {
var filePath = 'file://test/' + fileName;
var fileURL = network.URL.parse(filePath);
var fileURL = URI.parse(filePath);
var host = new utils.LanguageServiceHost().add(filePath, code);
var service = ts.createLanguageService(host, ts.createDocumentRegistry());
var markers = diagnostics.getSemanticDiagnostics(service, fileURL, Options.typeScriptOptions).markers;
......
......@@ -5,7 +5,7 @@
'use strict';
import assert = require('assert');
import network = require('vs/base/common/network');
import URI from 'vs/base/common/uri';
import uri from 'vs/base/common/uri';
import filenameSuggestions = require('vs/languages/typescript/common/participants/filenameSuggestions');
import modelMirror = require('vs/editor/common/model/mirrorModel');
......@@ -14,8 +14,8 @@ import modesUtil = require('vs/editor/test/common/modesTestUtils');
suite('TS/JS* - Filename Suggest', () => {
var jsModel = modelMirror.createMirrorModelFromString(null, 1, 'var a = require("module/path");', modesUtil.createMockMode('mock.mode.id'), network.URL.fromValue('http://test/async.js'));
var tsModel = modelMirror.createMirrorModelFromString(null, 1, 'import a = require("module/path");', modesUtil.createMockMode('mock.mode.id'), network.URL.fromValue('http://test/async.ts'));
var jsModel = modelMirror.createMirrorModelFromString(null, 1, 'var a = require("module/path");', modesUtil.createMockMode('mock.mode.id'), URI.parse('http://test/async.js'));
var tsModel = modelMirror.createMirrorModelFromString(null, 1, 'import a = require("module/path");', modesUtil.createMockMode('mock.mode.id'), URI.parse('http://test/async.ts'));
var _resourceService = new resourceService.ResourceService();
_resourceService.insert(jsModel.getAssociatedResource(), jsModel);
......
......@@ -6,7 +6,7 @@
import assert = require('assert');
import network = require('vs/base/common/network');
import URI from 'vs/base/common/uri';
import markerService = require('vs/platform/markers/common/markerService');
import {NULL_THREAD_SERVICE} from 'vs/platform/test/common/nullThreadService';
import {IMarkerData} from 'vs/platform/markers/common/markers';
......@@ -29,18 +29,18 @@ suite('Marker Service', () => {
var service = new markerService.MarkerService(NULL_THREAD_SERVICE);
service.changeAll('far', [{
resource: network.URL.fromValue('file:///c/test/file.cs'),
resource: URI.parse('file:///c/test/file.cs'),
marker: randomMarkerData()
}]);
assert.equal(service.read().length, 1);
assert.equal(service.read({ owner: 'far' }).length, 1);
assert.equal(service.read({ resource: network.URL.fromValue('file:///c/test/file.cs') }).length, 1);
assert.equal(service.read({ owner: 'far', resource: network.URL.fromValue('file:///c/test/file.cs') }).length, 1);
assert.equal(service.read({ resource: URI.parse('file:///c/test/file.cs') }).length, 1);
assert.equal(service.read({ owner: 'far', resource: URI.parse('file:///c/test/file.cs') }).length, 1);
service.changeAll('boo', [{
resource: network.URL.fromValue('file:///c/test/file.cs'),
resource: URI.parse('file:///c/test/file.cs'),
marker: randomMarkerData()
}]);
......@@ -53,16 +53,16 @@ suite('Marker Service', () => {
test('changeOne override', () => {
var service = new markerService.MarkerService(NULL_THREAD_SERVICE);
service.changeOne('far', network.URL.fromValue('/path/only.cs'), [randomMarkerData()]);
service.changeOne('far', URI.parse('/path/only.cs'), [randomMarkerData()]);
assert.equal(service.read().length, 1);
assert.equal(service.read({ owner: 'far' }).length, 1);
service.changeOne('boo', network.URL.fromValue('/path/only.cs'), [randomMarkerData()]);
service.changeOne('boo', URI.parse('/path/only.cs'), [randomMarkerData()]);
assert.equal(service.read().length, 2);
assert.equal(service.read({ owner: 'far' }).length, 1);
assert.equal(service.read({ owner: 'boo' }).length, 1);
service.changeOne('far', network.URL.fromValue('/path/only.cs'), [randomMarkerData(), randomMarkerData()]);
service.changeOne('far', URI.parse('/path/only.cs'), [randomMarkerData(), randomMarkerData()]);
assert.equal(service.read({ owner: 'far' }).length, 2);
assert.equal(service.read({ owner: 'boo' }).length, 1);
......@@ -71,13 +71,13 @@ suite('Marker Service', () => {
test('changeOne/All clears', () => {
var service = new markerService.MarkerService(NULL_THREAD_SERVICE);
service.changeOne('far', network.URL.fromValue('/path/only.cs'), [randomMarkerData()]);
service.changeOne('boo', network.URL.fromValue('/path/only.cs'), [randomMarkerData()]);
service.changeOne('far', URI.parse('/path/only.cs'), [randomMarkerData()]);
service.changeOne('boo', URI.parse('/path/only.cs'), [randomMarkerData()]);
assert.equal(service.read({ owner: 'far' }).length, 1);
assert.equal(service.read({ owner: 'boo' }).length, 1);
assert.equal(service.read().length, 2);
service.changeOne('far', network.URL.fromValue('/path/only.cs'), []);
service.changeOne('far', URI.parse('/path/only.cs'), []);
assert.equal(service.read({ owner: 'far' }).length, 0);
assert.equal(service.read({ owner: 'boo' }).length, 1);
assert.equal(service.read().length, 1);
......@@ -92,10 +92,10 @@ suite('Marker Service', () => {
var service = new markerService.MarkerService(NULL_THREAD_SERVICE);
service.changeAll('far', [{
resource: network.URL.fromValue('file:///d/path'),
resource: URI.parse('file:///d/path'),
marker: randomMarkerData()
}, {
resource: network.URL.fromValue('file:///d/path'),
resource: URI.parse('file:///d/path'),
marker: randomMarkerData()
}]);
......@@ -114,10 +114,10 @@ suite('Marker Service', () => {
var service = new markerService.MarkerService(NULL_THREAD_SERVICE);
service.changeAll('far', [{
resource: network.URL.fromValue('file:///c/test/file.cs'),
resource: URI.parse('file:///c/test/file.cs'),
marker: randomMarkerData()
}, {
resource: network.URL.fromValue('file:///c/test/file.cs'),
resource: URI.parse('file:///c/test/file.cs'),
marker: randomMarkerData()
}]);
......
......@@ -6,7 +6,6 @@
import {BaseTextEditorModel} from 'vs/workbench/browser/parts/editor/textEditorModel';
import URI from 'vs/base/common/uri';
import {URL} from 'vs/base/common/network';
import {IModeService} from 'vs/editor/common/services/modeService';
import {IModelService} from 'vs/editor/common/services/modelService';
......@@ -21,6 +20,6 @@ export class ResourceEditorModel extends BaseTextEditorModel {
@IModeService modeService: IModeService,
@IModelService modelService: IModelService
) {
super(modelService, modeService, URL.fromUri(resource));
super(modelService, modeService, resource);
}
}
\ No newline at end of file
......@@ -12,7 +12,6 @@ import {EditorModel} from 'vs/workbench/common/editor';
import {Registry} from 'vs/platform/platform';
import {IEditorModesRegistry, Extensions} from 'vs/editor/common/modes/modesRegistry';
import URI from 'vs/base/common/uri';
import {URL} from 'vs/base/common/network';
import {NullMode} from 'vs/editor/common/modes/nullMode';
import {ITextEditorModel} from 'vs/platform/editor/common/editor';
import {IModeService} from 'vs/editor/common/services/modeService';
......@@ -22,12 +21,12 @@ import {IModelService} from 'vs/editor/common/services/modelService';
* The base text editor model leverages the monaco code editor model. This class is only intended to be subclassed and not instantiated.
*/
export abstract class BaseTextEditorModel extends EditorModel implements ITextEditorModel {
private textEditorModelHandle: URL;
private textEditorModelHandle: URI;
constructor(
@IModelService private modelService: IModelService,
@IModeService private modeService: IModeService,
textEditorModelHandle?: URL
textEditorModelHandle?: URI
) {
super();
......@@ -46,7 +45,7 @@ export abstract class BaseTextEditorModel extends EditorModel implements ITextEd
// To avoid flickering, give the mode at most 50ms to load. If the mode doesn't load in 50ms, proceed creating the model with a mode promise
return Promise.any([Promise.timeout(50), this.getOrCreateMode(this.modeService, mime, firstLineText)]).then(() => {
let model = this.modelService.createModel(value, this.getOrCreateMode(this.modeService, mime, firstLineText), resource ? URL.fromUri(resource) : null);
let model = this.modelService.createModel(value, this.getOrCreateMode(this.modeService, mime, firstLineText), resource);
this.textEditorModelHandle = model.getAssociatedResource();
......
......@@ -8,7 +8,6 @@ import {TPromise} from 'vs/base/common/winjs.base';
import {IMarkerService} from 'vs/platform/markers/common/markers';
import {IResourceService} from 'vs/editor/common/services/resourceService';
import {AbstractModeWorker} from 'vs/editor/common/modes/abstractModeWorker';
import {URL} from 'vs/base/common/network';
import URI from 'vs/base/common/uri';
import strings = require('vs/base/common/strings');
import arrays = require('vs/base/common/arrays');
......@@ -38,7 +37,7 @@ export class TextEditorWorker extends AbstractModeWorker {
return this._contextService;
}
public computeLinks(resource: URL): TPromise<ILink[]> {
public computeLinks(resource: URI): TPromise<ILink[]> {
return super.computeLinks(resource).then((links) => {
if (!this.patterns.length) {
return links;
......
......@@ -10,7 +10,6 @@ import errors = require('vs/base/common/errors');
import paths = require('vs/base/common/paths');
import {Action} from 'vs/base/common/actions';
import URI from 'vs/base/common/uri';
import {URL} from 'vs/base/common/network';
import {EditorModel, EditorInput} from 'vs/workbench/common/editor';
import {guessMimeTypes} from 'vs/base/common/mime';
import {EditorInputAction} from 'vs/workbench/browser/parts/editor/baseEditor';
......@@ -175,7 +174,7 @@ export class FileOnDiskEditorInput extends ResourceEditorInput {
let codeEditorModel = this.modelService.getModel(this.resource);
if (!codeEditorModel) {
this.modelService.createModel(content.value, this.modeService.getOrCreateMode(this.mime), URL.fromUri(this.resource));
this.modelService.createModel(content.value, this.modeService.getOrCreateMode(this.mime), this.resource);
} else {
codeEditorModel.setValue(content.value);
}
......
......@@ -9,7 +9,6 @@ import * as assert from 'assert';
import {Promise } from 'vs/base/common/winjs.base';
import * as Strings from 'vs/base/common/strings';
import URI from 'vs/base/common/uri';
import {URL} from 'vs/base/common/network';
import {StringEditorInput} from 'vs/workbench/browser/parts/editor/stringEditorInput';
import {LogEditorInput} from 'vs/workbench/browser/parts/editor/logEditorInput';
import {ResourceEditorInput} from 'vs/workbench/browser/parts/editor/resourceEditorInput';
......@@ -132,7 +131,7 @@ suite("Workbench - StringEditorInput", () => {
});
let resource = URI.create('inMemory', null, 'thePath');
let model = modelService.createModel('function test() {}', modeService.getOrCreateMode('text'), URL.fromUri(resource));
let model = modelService.createModel('function test() {}', modeService.getOrCreateMode('text'), resource);
let input:ResourceEditorInput = inst.createInstance(ResourceEditorInput, 'The Name', 'The Description', resource);
input.resolve().then((model:ResourceEditorModel) => {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册