|
@@ -20,7 +20,8 @@ import {
|
|
fromRange,
|
|
fromRange,
|
|
CompletionAdapter,
|
|
CompletionAdapter,
|
|
HoverAdapter,
|
|
HoverAdapter,
|
|
- DocumentHighlightAdapter
|
|
|
|
|
|
+ DocumentHighlightAdapter,
|
|
|
|
+ RenameAdapter
|
|
} from '../common/lspLanguageFeatures';
|
|
} from '../common/lspLanguageFeatures';
|
|
|
|
|
|
export interface WorkerAccessor {
|
|
export interface WorkerAccessor {
|
|
@@ -35,52 +36,9 @@ export class HTMLCompletionAdapter extends CompletionAdapter<HTMLWorker> {
|
|
|
|
|
|
export class HTMLHoverAdapter extends HoverAdapter<HTMLWorker> {}
|
|
export class HTMLHoverAdapter extends HoverAdapter<HTMLWorker> {}
|
|
|
|
|
|
-// --- document highlights ------
|
|
|
|
-
|
|
|
|
export class HTMLDocumentHighlightAdapter extends DocumentHighlightAdapter<HTMLWorker> {}
|
|
export class HTMLDocumentHighlightAdapter extends DocumentHighlightAdapter<HTMLWorker> {}
|
|
|
|
|
|
-function toWorkspaceEdit(edit: lsTypes.WorkspaceEdit): languages.WorkspaceEdit {
|
|
|
|
- if (!edit || !edit.changes) {
|
|
|
|
- return void 0;
|
|
|
|
- }
|
|
|
|
- let resourceEdits: languages.WorkspaceTextEdit[] = [];
|
|
|
|
- for (let uri in edit.changes) {
|
|
|
|
- const _uri = Uri.parse(uri);
|
|
|
|
- for (let e of edit.changes[uri]) {
|
|
|
|
- resourceEdits.push({
|
|
|
|
- resource: _uri,
|
|
|
|
- edit: {
|
|
|
|
- range: toRange(e.range),
|
|
|
|
- text: e.newText
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- return {
|
|
|
|
- edits: resourceEdits
|
|
|
|
- };
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-export class RenameAdapter implements languages.RenameProvider {
|
|
|
|
- constructor(private _worker: WorkerAccessor) {}
|
|
|
|
-
|
|
|
|
- provideRenameEdits(
|
|
|
|
- model: editor.IReadOnlyModel,
|
|
|
|
- position: Position,
|
|
|
|
- newName: string,
|
|
|
|
- token: CancellationToken
|
|
|
|
- ): Promise<languages.WorkspaceEdit> {
|
|
|
|
- const resource = model.uri;
|
|
|
|
-
|
|
|
|
- return this._worker(resource)
|
|
|
|
- .then((worker) => {
|
|
|
|
- return worker.doRename(resource.toString(), fromPosition(position), newName);
|
|
|
|
- })
|
|
|
|
- .then((edit) => {
|
|
|
|
- return toWorkspaceEdit(edit);
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
|
|
+export class HTMLRenameAdapter extends RenameAdapter<HTMLWorker> {}
|
|
|
|
|
|
// --- document symbols ------
|
|
// --- document symbols ------
|
|
|
|
|