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

ExtHostDocumentsAndEditorsShape, #40169

上级 2e6578fc
......@@ -398,7 +398,7 @@ export class MainThreadDocumentsAndEditors {
private _toModelAddData(model: IModel): IModelAddedData {
return {
url: model.uri,
uri: model.uri,
versionId: model.getVersionId(),
lines: model.getLinesContent(),
EOL: model.getEOL(),
......@@ -410,7 +410,7 @@ export class MainThreadDocumentsAndEditors {
private _toTextEditorAddData(textEditor: MainThreadTextEditor): ITextEditorAddData {
return {
id: textEditor.getId(),
document: textEditor.getModel().uri,
documentUri: textEditor.getModel().uri,
options: textEditor.getConfiguration(),
selections: textEditor.getSelections(),
editorPosition: this._findEditorPosition(textEditor)
......
......@@ -436,7 +436,7 @@ export interface ExtHostDocumentContentProvidersShape {
}
export interface IModelAddedData {
url: URI;
uri: UriComponents;
versionId: number;
lines: string[];
EOL: string;
......@@ -456,7 +456,7 @@ export interface ExtHostDocumentSaveParticipantShape {
export interface ITextEditorAddData {
id: string;
document: URI;
documentUri: UriComponents;
options: IResolvedTextEditorConfiguration;
selections: ISelection[];
editorPosition: EditorPosition;
......@@ -699,7 +699,7 @@ export const ExtHostContext = {
ExtHostDiagnostics: createExtId<ExtHostDiagnosticsShape>('ExtHostDiagnostics'),
ExtHostDebugService: createExtId<ExtHostDebugServiceShape>('ExtHostDebugService', ProxyType.CustomMarshaller),
ExtHostDecorations: createExtId<ExtHostDecorationsShape>('ExtHostDecorations'),
ExtHostDocumentsAndEditors: createExtId<ExtHostDocumentsAndEditorsShape>('ExtHostDocumentsAndEditors', ProxyType.CustomMarshaller),
ExtHostDocumentsAndEditors: createExtId<ExtHostDocumentsAndEditorsShape>('ExtHostDocumentsAndEditors'),
ExtHostDocuments: createExtId<ExtHostDocumentsShape>('ExtHostDocuments'),
ExtHostDocumentContentProviders: createExtId<ExtHostDocumentContentProvidersShape>('ExtHostDocumentContentProviders'),
ExtHostDocumentSaveParticipant: createExtId<ExtHostDocumentSaveParticipantShape>('ExtHostDocumentSaveParticipant'),
......
......@@ -11,6 +11,7 @@ import { ExtHostDocumentData } from './extHostDocumentData';
import { ExtHostTextEditor } from './extHostTextEditor';
import * as assert from 'assert';
import * as typeConverters from './extHostTypeConverters';
import URI from 'vs/base/common/uri';
export class ExtHostDocumentsAndEditors implements ExtHostDocumentsAndEditorsShape {
......@@ -49,18 +50,19 @@ export class ExtHostDocumentsAndEditors implements ExtHostDocumentsAndEditorsSha
if (delta.addedDocuments) {
for (const data of delta.addedDocuments) {
assert.ok(!this._documents.has(data.url.toString()), `document '${data.url} already exists!'`);
const resource = URI.revive(data.uri);
assert.ok(!this._documents.has(resource.toString()), `document '${resource} already exists!'`);
const documentData = new ExtHostDocumentData(
this._mainContext.getProxy(MainContext.MainThreadDocuments),
data.url,
resource,
data.lines,
data.EOL,
data.modeId,
data.versionId,
data.isDirty
);
this._documents.set(data.url.toString(), documentData);
this._documents.set(resource.toString(), documentData);
addedDocuments.push(documentData);
}
}
......@@ -75,10 +77,11 @@ export class ExtHostDocumentsAndEditors implements ExtHostDocumentsAndEditorsSha
if (delta.addedEditors) {
for (const data of delta.addedEditors) {
assert.ok(this._documents.has(data.document.toString()), `document '${data.document}' does not exist`);
const resource = URI.revive(data.documentUri);
assert.ok(this._documents.has(resource.toString()), `document '${resource}' does not exist`);
assert.ok(!this._editors.has(data.id), `editor '${data.id}' already exists!`);
const documentData = this._documents.get(data.document.toString());
const documentData = this._documents.get(resource.toString());
const editor = new ExtHostTextEditor(
this._mainContext.getProxy(MainContext.MainThreadEditors),
data.id,
......
......@@ -104,7 +104,7 @@ suite('ExtHostLanguageFeatureCommands', function () {
isDirty: false,
versionId: model.getVersionId(),
modeId: model.getLanguageIdentifier().language,
url: model.uri,
uri: model.uri,
lines: model.getValue().split(model.getEOL()),
EOL: model.getEOL(),
}]
......
......@@ -42,7 +42,7 @@ suite('ExtHostDocumentSaveParticipant', () => {
addedDocuments: [{
isDirty: false,
modeId: 'foo',
url: resource,
uri: resource,
versionId: 1,
lines: ['foo'],
EOL: '\n',
......
......@@ -28,7 +28,7 @@ suite('ExtHostDocumentsAndEditors', () => {
EOL: '\n',
isDirty: true,
modeId: 'fooLang',
url: URI.parse('foo:bar'),
uri: URI.parse('foo:bar'),
versionId: 1,
lines: [
'first',
......
......@@ -93,7 +93,7 @@ suite('ExtHostLanguageFeatures', function () {
isDirty: false,
versionId: model.getVersionId(),
modeId: model.getLanguageIdentifier().language,
url: model.uri,
uri: model.uri,
lines: model.getValue().split(model.getEOL()),
EOL: model.getEOL(),
}]
......
......@@ -35,7 +35,7 @@ suite('ExtHostTextEditors.applyWorkspaceEdit', () => {
addedDocuments: [{
isDirty: false,
modeId: 'foo',
url: resource,
uri: resource,
versionId: 1337,
lines: ['foo'],
EOL: '\n',
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册