monaco-languageclient
Advanced tools
Comparing version 0.19.0-next.0 to 0.19.0-next.1
@@ -7,2 +7,3 @@ import type * as monaco from 'monaco-editor/esm/vs/editor/editor.api'; | ||
import { Services } from "./services"; | ||
import { Disposable } from './disposable'; | ||
export interface MonacoServices extends Services { | ||
@@ -20,5 +21,5 @@ commands: MonacoCommands; | ||
function create(_monaco: typeof monaco, options?: Options): MonacoServices; | ||
function install(_monaco: typeof monaco, options?: Options): MonacoServices; | ||
function install(_monaco: typeof monaco, options?: Options): Disposable; | ||
function get(): MonacoServices; | ||
} | ||
//# sourceMappingURL=monaco-services.d.ts.map |
@@ -1,2 +0,2 @@ | ||
define(["require", "exports", "./monaco-converter", "./monaco-commands", "./monaco-languages", "./monaco-workspace", "./console-window", "./services"], function (require, exports, monaco_converter_1, monaco_commands_1, monaco_languages_1, monaco_workspace_1, console_window_1, services_1) { | ||
define(["require", "exports", "./monaco-converter", "./monaco-commands", "./monaco-languages", "./monaco-workspace", "./console-window", "./services", "./disposable"], function (require, exports, monaco_converter_1, monaco_commands_1, monaco_languages_1, monaco_workspace_1, console_window_1, services_1, disposable_1) { | ||
"use strict"; | ||
@@ -19,5 +19,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); | ||
function install(_monaco, options = {}) { | ||
const disposableCollection = new disposable_1.DisposableCollection(); | ||
const services = create(_monaco, options); | ||
services_1.Services.install(services); | ||
return services; | ||
disposableCollection.push(services.workspace); | ||
disposableCollection.push(services_1.Services.install(services)); | ||
return disposableCollection; | ||
} | ||
@@ -24,0 +26,0 @@ MonacoServices.install = install; |
import type * as monaco from 'monaco-editor/esm/vs/editor/editor.api'; | ||
import { MonacoToProtocolConverter, ProtocolToMonacoConverter } from './monaco-converter'; | ||
import { Workspace, WorkspaceEdit, TextDocumentDidChangeEvent, Event, Emitter } from './services'; | ||
import { Workspace, WorkspaceEdit, TextDocumentDidChangeEvent, Event, Emitter, Disposable } from './services'; | ||
import { TextDocument } from 'vscode-languageserver-textdocument'; | ||
export declare class MonacoWorkspace implements Workspace { | ||
import { DisposableCollection } from './disposable'; | ||
export declare class MonacoWorkspace implements Workspace, Disposable { | ||
protected readonly _monaco: typeof monaco; | ||
@@ -10,3 +11,5 @@ protected readonly p2m: ProtocolToMonacoConverter; | ||
protected _rootUri: string | null; | ||
protected readonly disposableCollection: DisposableCollection; | ||
protected readonly documents: Map<string, TextDocument>; | ||
protected readonly documentDisposables: Map<string, Disposable>; | ||
protected readonly onDidOpenTextDocumentEmitter: Emitter<TextDocument>; | ||
@@ -16,2 +19,3 @@ protected readonly onDidCloseTextDocumentEmitter: Emitter<TextDocument>; | ||
constructor(_monaco: typeof monaco, p2m: ProtocolToMonacoConverter, m2p: MonacoToProtocolConverter, _rootUri?: string | null); | ||
dispose(): void; | ||
get rootUri(): string | null; | ||
@@ -18,0 +22,0 @@ protected removeModel(model: monaco.editor.IModel): void; |
@@ -1,2 +0,2 @@ | ||
define(["require", "exports", "./services", "vscode-languageserver-textdocument"], function (require, exports, services_1, vscode_languageserver_textdocument_1) { | ||
define(["require", "exports", "./services", "vscode-languageserver-textdocument", "./disposable"], function (require, exports, services_1, vscode_languageserver_textdocument_1, disposable_1) { | ||
"use strict"; | ||
@@ -11,3 +11,5 @@ Object.defineProperty(exports, "__esModule", { value: true }); | ||
this._rootUri = _rootUri; | ||
this.disposableCollection = new disposable_1.DisposableCollection(); | ||
this.documents = new Map(); | ||
this.documentDisposables = new Map(); | ||
this.onDidOpenTextDocumentEmitter = new services_1.Emitter(); | ||
@@ -19,9 +21,15 @@ this.onDidCloseTextDocumentEmitter = new services_1.Emitter(); | ||
} | ||
this._monaco.editor.onDidCreateModel(model => this.addModel(model)); | ||
this._monaco.editor.onWillDisposeModel(model => this.removeModel(model)); | ||
this._monaco.editor.onDidChangeModelLanguage((event) => { | ||
this.disposableCollection.push(this._monaco.editor.onDidCreateModel(model => this.addModel(model))); | ||
this.disposableCollection.push(this._monaco.editor.onWillDisposeModel(model => this.removeModel(model))); | ||
this.disposableCollection.push(this._monaco.editor.onDidChangeModelLanguage((event) => { | ||
this.removeModel(event.model); | ||
this.addModel(event.model); | ||
}); | ||
})); | ||
} | ||
dispose() { | ||
this.disposableCollection.dispose(); | ||
for (const model of this._monaco.editor.getModels()) { | ||
this.removeModel(model); | ||
} | ||
} | ||
get rootUri() { | ||
@@ -37,2 +45,7 @@ return this._rootUri; | ||
} | ||
const disposable = this.documentDisposables.get(uri); | ||
if (disposable) { | ||
disposable.dispose(); | ||
this.documentDisposables.delete(uri); | ||
} | ||
} | ||
@@ -43,3 +56,3 @@ addModel(model) { | ||
this.onDidOpenTextDocumentEmitter.fire(document); | ||
model.onDidChangeContent(event => this.onDidChangeContent(uri, model, event)); | ||
this.documentDisposables.set(uri, model.onDidChangeContent(event => this.onDidChangeContent(uri, model, event))); | ||
} | ||
@@ -46,0 +59,0 @@ onDidChangeContent(uri, model, event) { |
@@ -7,2 +7,3 @@ import type * as monaco from 'monaco-editor/esm/vs/editor/editor.api'; | ||
import { Services } from "./services"; | ||
import { Disposable } from './disposable'; | ||
export interface MonacoServices extends Services { | ||
@@ -20,5 +21,5 @@ commands: MonacoCommands; | ||
function create(_monaco: typeof monaco, options?: Options): MonacoServices; | ||
function install(_monaco: typeof monaco, options?: Options): MonacoServices; | ||
function install(_monaco: typeof monaco, options?: Options): Disposable; | ||
function get(): MonacoServices; | ||
} | ||
//# sourceMappingURL=monaco-services.d.ts.map |
@@ -10,2 +10,3 @@ "use strict"; | ||
const services_1 = require("./services"); | ||
const disposable_1 = require("./disposable"); | ||
var MonacoServices; | ||
@@ -25,5 +26,7 @@ (function (MonacoServices) { | ||
function install(_monaco, options = {}) { | ||
const disposableCollection = new disposable_1.DisposableCollection(); | ||
const services = create(_monaco, options); | ||
services_1.Services.install(services); | ||
return services; | ||
disposableCollection.push(services.workspace); | ||
disposableCollection.push(services_1.Services.install(services)); | ||
return disposableCollection; | ||
} | ||
@@ -30,0 +33,0 @@ MonacoServices.install = install; |
import type * as monaco from 'monaco-editor/esm/vs/editor/editor.api'; | ||
import { MonacoToProtocolConverter, ProtocolToMonacoConverter } from './monaco-converter'; | ||
import { Workspace, WorkspaceEdit, TextDocumentDidChangeEvent, Event, Emitter } from './services'; | ||
import { Workspace, WorkspaceEdit, TextDocumentDidChangeEvent, Event, Emitter, Disposable } from './services'; | ||
import { TextDocument } from 'vscode-languageserver-textdocument'; | ||
export declare class MonacoWorkspace implements Workspace { | ||
import { DisposableCollection } from './disposable'; | ||
export declare class MonacoWorkspace implements Workspace, Disposable { | ||
protected readonly _monaco: typeof monaco; | ||
@@ -10,3 +11,5 @@ protected readonly p2m: ProtocolToMonacoConverter; | ||
protected _rootUri: string | null; | ||
protected readonly disposableCollection: DisposableCollection; | ||
protected readonly documents: Map<string, TextDocument>; | ||
protected readonly documentDisposables: Map<string, Disposable>; | ||
protected readonly onDidOpenTextDocumentEmitter: Emitter<TextDocument>; | ||
@@ -16,2 +19,3 @@ protected readonly onDidCloseTextDocumentEmitter: Emitter<TextDocument>; | ||
constructor(_monaco: typeof monaco, p2m: ProtocolToMonacoConverter, m2p: MonacoToProtocolConverter, _rootUri?: string | null); | ||
dispose(): void; | ||
get rootUri(): string | null; | ||
@@ -18,0 +22,0 @@ protected removeModel(model: monaco.editor.IModel): void; |
@@ -6,2 +6,3 @@ "use strict"; | ||
const vscode_languageserver_textdocument_1 = require("vscode-languageserver-textdocument"); | ||
const disposable_1 = require("./disposable"); | ||
class MonacoWorkspace { | ||
@@ -13,3 +14,5 @@ constructor(_monaco, p2m, m2p, _rootUri = null) { | ||
this._rootUri = _rootUri; | ||
this.disposableCollection = new disposable_1.DisposableCollection(); | ||
this.documents = new Map(); | ||
this.documentDisposables = new Map(); | ||
this.onDidOpenTextDocumentEmitter = new services_1.Emitter(); | ||
@@ -21,9 +24,15 @@ this.onDidCloseTextDocumentEmitter = new services_1.Emitter(); | ||
} | ||
this._monaco.editor.onDidCreateModel(model => this.addModel(model)); | ||
this._monaco.editor.onWillDisposeModel(model => this.removeModel(model)); | ||
this._monaco.editor.onDidChangeModelLanguage((event) => { | ||
this.disposableCollection.push(this._monaco.editor.onDidCreateModel(model => this.addModel(model))); | ||
this.disposableCollection.push(this._monaco.editor.onWillDisposeModel(model => this.removeModel(model))); | ||
this.disposableCollection.push(this._monaco.editor.onDidChangeModelLanguage((event) => { | ||
this.removeModel(event.model); | ||
this.addModel(event.model); | ||
}); | ||
})); | ||
} | ||
dispose() { | ||
this.disposableCollection.dispose(); | ||
for (const model of this._monaco.editor.getModels()) { | ||
this.removeModel(model); | ||
} | ||
} | ||
get rootUri() { | ||
@@ -39,2 +48,7 @@ return this._rootUri; | ||
} | ||
const disposable = this.documentDisposables.get(uri); | ||
if (disposable) { | ||
disposable.dispose(); | ||
this.documentDisposables.delete(uri); | ||
} | ||
} | ||
@@ -45,3 +59,3 @@ addModel(model) { | ||
this.onDidOpenTextDocumentEmitter.fire(document); | ||
model.onDidChangeContent(event => this.onDidChangeContent(uri, model, event)); | ||
this.documentDisposables.set(uri, model.onDidChangeContent(event => this.onDidChangeContent(uri, model, event))); | ||
} | ||
@@ -48,0 +62,0 @@ onDidChangeContent(uri, model, event) { |
{ | ||
"name": "monaco-languageclient", | ||
"version": "0.19.0-next.0", | ||
"version": "0.19.0-next.1", | ||
"description": "Monaco Language client implementation", | ||
@@ -27,2 +27,10 @@ "author": { | ||
"types": "./dist/amd/index.d.ts" | ||
}, | ||
"./vscode-compatibility": { | ||
"default": "./lib/vscode-compatibility.js", | ||
"types": "./lib/vscode-compatibility.d.ts" | ||
}, | ||
"./amd/vscode-compatibility": { | ||
"default": "./dist/amd/vscode-compatibility.js", | ||
"types": "./dist/amd/vscode-compatibility.d.ts" | ||
} | ||
@@ -39,7 +47,7 @@ }, | ||
"vscode-languageclient": "7.0.0", | ||
"vscode-languageserver-textdocument": "^1.0.4", | ||
"vscode-uri": "^3.0.3" | ||
"vscode-languageserver-textdocument": "1.0.4", | ||
"vscode-uri": "3.0.3" | ||
}, | ||
"devDependencies": { | ||
"@types/vscode": "1.65.0", | ||
"@types/vscode": "1.66.0", | ||
"@types/node": "^16.11.7", | ||
@@ -46,0 +54,0 @@ "@types/glob-to-regexp": "^0.4.1" |
@@ -12,2 +12,3 @@ /* -------------------------------------------------------------------------------------------- | ||
import { Services } from "./services"; | ||
import { Disposable, DisposableCollection } from './disposable'; | ||
@@ -35,6 +36,10 @@ export interface MonacoServices extends Services { | ||
} | ||
export function install(_monaco: typeof monaco, options: Options = {}): MonacoServices { | ||
export function install(_monaco: typeof monaco, options: Options = {}): Disposable { | ||
const disposableCollection = new DisposableCollection() | ||
const services = create(_monaco, options); | ||
Services.install(services); | ||
return services; | ||
disposableCollection.push(services.workspace) | ||
disposableCollection.push(Services.install(services)); | ||
return disposableCollection; | ||
} | ||
@@ -41,0 +46,0 @@ export function get(): MonacoServices { |
@@ -7,8 +7,11 @@ /* -------------------------------------------------------------------------------------------- | ||
import { MonacoToProtocolConverter, ProtocolToMonacoConverter } from './monaco-converter'; | ||
import { Workspace, WorkspaceEdit, TextDocumentDidChangeEvent, Event, Emitter } from './services'; | ||
import { Workspace, WorkspaceEdit, TextDocumentDidChangeEvent, Event, Emitter, Disposable } from './services'; | ||
import { TextDocument } from 'vscode-languageserver-textdocument' | ||
import { DisposableCollection } from './disposable'; | ||
export class MonacoWorkspace implements Workspace { | ||
export class MonacoWorkspace implements Workspace, Disposable { | ||
protected readonly disposableCollection = new DisposableCollection() | ||
protected readonly documents = new Map<string, TextDocument>(); | ||
protected readonly documentDisposables = new Map<string, Disposable>(); | ||
protected readonly onDidOpenTextDocumentEmitter = new Emitter<TextDocument>(); | ||
@@ -26,10 +29,19 @@ protected readonly onDidCloseTextDocumentEmitter = new Emitter<TextDocument>(); | ||
} | ||
this._monaco.editor.onDidCreateModel(model => this.addModel(model)); | ||
this._monaco.editor.onWillDisposeModel(model => this.removeModel(model)); | ||
this._monaco.editor.onDidChangeModelLanguage((event) => { | ||
this.disposableCollection.push(this._monaco.editor.onDidCreateModel(model => this.addModel(model))); | ||
this.disposableCollection.push(this._monaco.editor.onWillDisposeModel(model => this.removeModel(model))); | ||
this.disposableCollection.push(this._monaco.editor.onDidChangeModelLanguage((event) => { | ||
this.removeModel(event.model); | ||
this.addModel(event.model); | ||
}); | ||
})); | ||
} | ||
dispose(): void { | ||
this.disposableCollection.dispose() | ||
for (const model of this._monaco.editor.getModels()) { | ||
this.removeModel(model); | ||
} | ||
} | ||
get rootUri() { | ||
@@ -46,2 +58,7 @@ return this._rootUri; | ||
} | ||
const disposable = this.documentDisposables.get(uri) | ||
if (disposable) { | ||
disposable.dispose() | ||
this.documentDisposables.delete(uri) | ||
} | ||
} | ||
@@ -53,5 +70,5 @@ | ||
this.onDidOpenTextDocumentEmitter.fire(document) | ||
model.onDidChangeContent(event => | ||
this.documentDisposables.set(uri, model.onDidChangeContent(event => | ||
this.onDidChangeContent(uri, model, event) | ||
); | ||
)); | ||
} | ||
@@ -58,0 +75,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
852962
10862
+ Addedvscode-languageserver-textdocument@1.0.4(transitive)
+ Addedvscode-uri@3.0.3(transitive)
- Removedvscode-languageserver-textdocument@1.0.12(transitive)
- Removedvscode-uri@3.1.0(transitive)
Updatedvscode-uri@3.0.3