monaco-languageclient
Advanced tools
Comparing version 0.9.1-next.20 to 0.9.1-next.21
@@ -139,11 +139,11 @@ /// <reference types="monaco-editor-core/monaco" /> | ||
asRelatedInformation(relatedInformation: DiagnosticRelatedInformation): monaco.editor.IRelatedInformation; | ||
asCompletionResult(result: CompletionItem[] | CompletionList | null | undefined): monaco.languages.CompletionList; | ||
asCompletionItem(item: CompletionItem): ProtocolCompletionItem; | ||
asCompletionResult(result: CompletionItem[] | CompletionList | null | undefined, defaultRange: monaco.IRange): monaco.languages.CompletionList; | ||
asCompletionItem(item: CompletionItem, defaultRange: monaco.IRange): ProtocolCompletionItem; | ||
asCompletionItemKind(value: CompletionItemKind): [monaco.languages.CompletionItemKind, CompletionItemKind | undefined]; | ||
asCompletionInsertText(item: CompletionItem): { | ||
text: string; | ||
range?: monaco.Range; | ||
asCompletionInsertText(item: CompletionItem, defaultRange: monaco.IRange): { | ||
insertText: string; | ||
range: monaco.IRange; | ||
fromEdit: boolean; | ||
isSnippet: boolean; | ||
} | undefined; | ||
}; | ||
asDocumentLinks(documentLinks: DocumentLink[]): monaco.languages.ILinksList; | ||
@@ -150,0 +150,0 @@ asDocumentLink(documentLink: DocumentLink): ProtocolDocumentLink; |
@@ -651,3 +651,3 @@ define(["require", "exports", "vscode-languageserver-protocol", "vscode-languageserver-protocol/lib/utils/is", "./services"], function (require, exports, ls, Is, services_1) { | ||
} | ||
asCompletionResult(result) { | ||
asCompletionResult(result, defaultRange) { | ||
if (!result) { | ||
@@ -660,3 +660,3 @@ return { | ||
if (Array.isArray(result)) { | ||
const suggestions = result.map(item => this.asCompletionItem(item)); | ||
const suggestions = result.map(item => this.asCompletionItem(item, defaultRange)); | ||
return { | ||
@@ -669,6 +669,6 @@ incomplete: false, | ||
incomplete: result.isIncomplete, | ||
suggestions: result.items.map(this.asCompletionItem.bind(this)) | ||
suggestions: result.items.map(item => this.asCompletionItem(item, defaultRange)) | ||
}; | ||
} | ||
asCompletionItem(item) { | ||
asCompletionItem(item, defaultRange) { | ||
const result = { label: item.label }; | ||
@@ -686,10 +686,6 @@ if (item.detail) { | ||
} | ||
let insertText = this.asCompletionInsertText(item); | ||
if (insertText) { | ||
result.insertText = insertText.text; | ||
if (insertText.range) { | ||
result.range = insertText.range; | ||
} | ||
result.fromEdit = insertText.fromEdit; | ||
} | ||
const insertText = this.asCompletionInsertText(item, defaultRange); | ||
result.insertText = insertText.insertText; | ||
result.range = insertText.range; | ||
result.fromEdit = insertText.fromEdit; | ||
if (Is.number(item.kind)) { | ||
@@ -736,3 +732,3 @@ let [itemKind, original] = this.asCompletionItemKind(item.kind); | ||
} | ||
asCompletionInsertText(item) { | ||
asCompletionInsertText(item, defaultRange) { | ||
const isSnippet = item.insertTextFormat === services_1.InsertTextFormat.Snippet; | ||
@@ -742,10 +738,8 @@ if (item.textEdit) { | ||
const value = item.textEdit.newText; | ||
return { | ||
isSnippet, text: value, range, fromEdit: true, | ||
}; | ||
return { isSnippet, insertText: value, range, fromEdit: true, }; | ||
} | ||
if (item.insertText) { | ||
return { isSnippet, text: item.insertText, fromEdit: false }; | ||
return { isSnippet, insertText: item.insertText, fromEdit: false, range: defaultRange }; | ||
} | ||
return undefined; | ||
return { insertText: '', range: defaultRange, fromEdit: false, isSnippet: false }; | ||
} | ||
@@ -752,0 +746,0 @@ asDocumentLinks(documentLinks) { |
@@ -71,2 +71,10 @@ define(["require", "exports", "vscode-languageclient/lib/client", "vscode-languageclient/lib/typeDefinition", "vscode-languageclient/lib/configuration", "vscode-languageclient/lib/implementation", "vscode-languageclient/lib/colorProvider", "vscode-languageclient/lib/workspaceFolders", "vscode-languageclient/lib/foldingRange", "vscode-languageclient/lib/declaration", "vscode-languageclient/lib/client"], function (require, exports, client_1, typeDefinition_1, configuration_1, implementation_1, colorProvider_1, workspaceFolders_1, foldingRange_1, declaration_1, client_2) { | ||
this.registerFeature(new declaration_1.DeclarationFeature(this)); | ||
const features = this['_features']; | ||
for (const feature of features) { | ||
if (feature instanceof colorProvider_1.ColorProviderFeature) { | ||
feature['asColor'] = MonacoLanguageClient.bypassConversion; | ||
feature['asColorInformations'] = MonacoLanguageClient.bypassConversion; | ||
feature['asColorPresentations'] = MonacoLanguageClient.bypassConversion; | ||
} | ||
} | ||
} | ||
@@ -73,0 +81,0 @@ } |
@@ -79,11 +79,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||
} | ||
const wordUntil = model.getWordUntilPosition(position); | ||
const defaultRange = new monaco.Range(position.lineNumber, wordUntil.startColumn, position.lineNumber, wordUntil.endColumn); | ||
const params = this.m2p.asCompletionParams(model, position, context); | ||
return provider.provideCompletionItems(params, token).then(result => this.p2m.asCompletionResult(result)); | ||
return provider.provideCompletionItems(params, token).then(result => this.p2m.asCompletionResult(result, defaultRange)); | ||
}, | ||
resolveCompletionItem: provider.resolveCompletionItem ? (item, position, context, token) => { | ||
const protocolItem = this.m2p.asCompletionItem(context); | ||
resolveCompletionItem: provider.resolveCompletionItem ? (model, position, item, token) => { | ||
const protocolItem = this.m2p.asCompletionItem(item); | ||
return provider.resolveCompletionItem(protocolItem, token).then(resolvedItem => { | ||
const resolvedCompletionItem = this.p2m.asCompletionItem(resolvedItem); | ||
Object.assign(context, resolvedCompletionItem); | ||
return context; | ||
const resolvedCompletionItem = this.p2m.asCompletionItem(resolvedItem, item.range); | ||
Object.assign(item, resolvedCompletionItem); | ||
return item; | ||
}); | ||
@@ -90,0 +92,0 @@ } : undefined |
@@ -51,3 +51,2 @@ define(["require", "exports", "./services"], function (require, exports, services_1) { | ||
setModel(uri, model) { | ||
console.log("Hello World!"); | ||
const document = services_1.TextDocument.create(uri, model.getModeId(), model.getVersionId(), model.getValue()); | ||
@@ -54,0 +53,0 @@ this.documents.set(uri, document); |
@@ -139,11 +139,11 @@ /// <reference types="monaco-editor-core/monaco" /> | ||
asRelatedInformation(relatedInformation: DiagnosticRelatedInformation): monaco.editor.IRelatedInformation; | ||
asCompletionResult(result: CompletionItem[] | CompletionList | null | undefined): monaco.languages.CompletionList; | ||
asCompletionItem(item: CompletionItem): ProtocolCompletionItem; | ||
asCompletionResult(result: CompletionItem[] | CompletionList | null | undefined, defaultRange: monaco.IRange): monaco.languages.CompletionList; | ||
asCompletionItem(item: CompletionItem, defaultRange: monaco.IRange): ProtocolCompletionItem; | ||
asCompletionItemKind(value: CompletionItemKind): [monaco.languages.CompletionItemKind, CompletionItemKind | undefined]; | ||
asCompletionInsertText(item: CompletionItem): { | ||
text: string; | ||
range?: monaco.Range; | ||
asCompletionInsertText(item: CompletionItem, defaultRange: monaco.IRange): { | ||
insertText: string; | ||
range: monaco.IRange; | ||
fromEdit: boolean; | ||
isSnippet: boolean; | ||
} | undefined; | ||
}; | ||
asDocumentLinks(documentLinks: DocumentLink[]): monaco.languages.ILinksList; | ||
@@ -150,0 +150,0 @@ asDocumentLink(documentLink: DocumentLink): ProtocolDocumentLink; |
@@ -657,3 +657,3 @@ "use strict"; | ||
} | ||
asCompletionResult(result) { | ||
asCompletionResult(result, defaultRange) { | ||
if (!result) { | ||
@@ -666,3 +666,3 @@ return { | ||
if (Array.isArray(result)) { | ||
const suggestions = result.map(item => this.asCompletionItem(item)); | ||
const suggestions = result.map(item => this.asCompletionItem(item, defaultRange)); | ||
return { | ||
@@ -675,6 +675,6 @@ incomplete: false, | ||
incomplete: result.isIncomplete, | ||
suggestions: result.items.map(this.asCompletionItem.bind(this)) | ||
suggestions: result.items.map(item => this.asCompletionItem(item, defaultRange)) | ||
}; | ||
} | ||
asCompletionItem(item) { | ||
asCompletionItem(item, defaultRange) { | ||
const result = { label: item.label }; | ||
@@ -692,10 +692,6 @@ if (item.detail) { | ||
} | ||
let insertText = this.asCompletionInsertText(item); | ||
if (insertText) { | ||
result.insertText = insertText.text; | ||
if (insertText.range) { | ||
result.range = insertText.range; | ||
} | ||
result.fromEdit = insertText.fromEdit; | ||
} | ||
const insertText = this.asCompletionInsertText(item, defaultRange); | ||
result.insertText = insertText.insertText; | ||
result.range = insertText.range; | ||
result.fromEdit = insertText.fromEdit; | ||
if (Is.number(item.kind)) { | ||
@@ -742,3 +738,3 @@ let [itemKind, original] = this.asCompletionItemKind(item.kind); | ||
} | ||
asCompletionInsertText(item) { | ||
asCompletionInsertText(item, defaultRange) { | ||
const isSnippet = item.insertTextFormat === services_1.InsertTextFormat.Snippet; | ||
@@ -748,10 +744,8 @@ if (item.textEdit) { | ||
const value = item.textEdit.newText; | ||
return { | ||
isSnippet, text: value, range, fromEdit: true, | ||
}; | ||
return { isSnippet, insertText: value, range, fromEdit: true, }; | ||
} | ||
if (item.insertText) { | ||
return { isSnippet, text: item.insertText, fromEdit: false }; | ||
return { isSnippet, insertText: item.insertText, fromEdit: false, range: defaultRange }; | ||
} | ||
return undefined; | ||
return { insertText: '', range: defaultRange, fromEdit: false, isSnippet: false }; | ||
} | ||
@@ -758,0 +752,0 @@ asDocumentLinks(documentLinks) { |
@@ -82,2 +82,10 @@ "use strict"; | ||
this.registerFeature(new declaration_1.DeclarationFeature(this)); | ||
const features = this['_features']; | ||
for (const feature of features) { | ||
if (feature instanceof colorProvider_1.ColorProviderFeature) { | ||
feature['asColor'] = MonacoLanguageClient.bypassConversion; | ||
feature['asColorInformations'] = MonacoLanguageClient.bypassConversion; | ||
feature['asColorPresentations'] = MonacoLanguageClient.bypassConversion; | ||
} | ||
} | ||
} | ||
@@ -84,0 +92,0 @@ } |
@@ -86,11 +86,13 @@ "use strict"; | ||
} | ||
const wordUntil = model.getWordUntilPosition(position); | ||
const defaultRange = new monaco.Range(position.lineNumber, wordUntil.startColumn, position.lineNumber, wordUntil.endColumn); | ||
const params = this.m2p.asCompletionParams(model, position, context); | ||
return provider.provideCompletionItems(params, token).then(result => this.p2m.asCompletionResult(result)); | ||
return provider.provideCompletionItems(params, token).then(result => this.p2m.asCompletionResult(result, defaultRange)); | ||
}, | ||
resolveCompletionItem: provider.resolveCompletionItem ? (item, position, context, token) => { | ||
const protocolItem = this.m2p.asCompletionItem(context); | ||
resolveCompletionItem: provider.resolveCompletionItem ? (model, position, item, token) => { | ||
const protocolItem = this.m2p.asCompletionItem(item); | ||
return provider.resolveCompletionItem(protocolItem, token).then(resolvedItem => { | ||
const resolvedCompletionItem = this.p2m.asCompletionItem(resolvedItem); | ||
Object.assign(context, resolvedCompletionItem); | ||
return context; | ||
const resolvedCompletionItem = this.p2m.asCompletionItem(resolvedItem, item.range); | ||
Object.assign(item, resolvedCompletionItem); | ||
return item; | ||
}); | ||
@@ -97,0 +99,0 @@ } : undefined |
@@ -51,3 +51,2 @@ "use strict"; | ||
setModel(uri, model) { | ||
console.log("Hello World!"); | ||
const document = services_1.TextDocument.create(uri, model.getModeId(), model.getVersionId(), model.getValue()); | ||
@@ -54,0 +53,0 @@ this.documents.set(uri, document); |
{ | ||
"name": "monaco-languageclient", | ||
"version": "0.9.1-next.20+7538975", | ||
"version": "0.9.1-next.21+5401bdc", | ||
"description": "Monaco Language client implementation", | ||
@@ -39,3 +39,3 @@ "author": "TypeFox GmbH (http://www.typefox.io)", | ||
], | ||
"gitHead": "7538975c43c4bc74e8d9074a1fff56233fad4953" | ||
"gitHead": "5401bdca3f9c2c460f10daf0be62defffc2d8c62" | ||
} |
@@ -767,3 +767,3 @@ /* -------------------------------------------------------------------------------------------- | ||
asCompletionResult(result: CompletionItem[] | CompletionList | null | undefined): monaco.languages.CompletionList { | ||
asCompletionResult(result: CompletionItem[] | CompletionList | null | undefined, defaultRange: monaco.IRange): monaco.languages.CompletionList { | ||
if (!result) { | ||
@@ -776,3 +776,3 @@ return { | ||
if (Array.isArray(result)) { | ||
const suggestions = result.map(item => this.asCompletionItem(item)); | ||
const suggestions = result.map(item => this.asCompletionItem(item, defaultRange)); | ||
return { | ||
@@ -785,7 +785,7 @@ incomplete: false, | ||
incomplete: result.isIncomplete, | ||
suggestions: result.items.map(this.asCompletionItem.bind(this)) | ||
suggestions: result.items.map(item => this.asCompletionItem(item, defaultRange)) | ||
} | ||
} | ||
asCompletionItem(item: CompletionItem): ProtocolCompletionItem { | ||
asCompletionItem(item: CompletionItem, defaultRange: monaco.IRange): ProtocolCompletionItem { | ||
const result = <ProtocolCompletionItem>{ label: item.label }; | ||
@@ -798,10 +798,6 @@ if (item.detail) { result.detail = item.detail; } | ||
if (item.filterText) { result.filterText = item.filterText; } | ||
let insertText = this.asCompletionInsertText(item); | ||
if (insertText) { | ||
result.insertText = insertText.text; | ||
if (insertText.range) { | ||
result.range = insertText.range; | ||
} | ||
result.fromEdit = insertText.fromEdit; | ||
} | ||
const insertText = this.asCompletionInsertText(item, defaultRange); | ||
result.insertText = insertText.insertText; | ||
result.range = insertText.range; | ||
result.fromEdit = insertText.fromEdit; | ||
if (Is.number(item.kind)) { | ||
@@ -835,15 +831,13 @@ let [itemKind, original] = this.asCompletionItemKind(item.kind); | ||
asCompletionInsertText(item: CompletionItem): { text: string, range?: monaco.Range, fromEdit: boolean, isSnippet: boolean } | undefined { | ||
asCompletionInsertText(item: CompletionItem, defaultRange: monaco.IRange): { insertText: string, range: monaco.IRange, fromEdit: boolean, isSnippet: boolean } { | ||
const isSnippet = item.insertTextFormat === InsertTextFormat.Snippet; | ||
if (item.textEdit) { | ||
const range = this.asRange(item.textEdit.range)!; | ||
const range = this.asRange(item.textEdit.range); | ||
const value = item.textEdit.newText; | ||
return { | ||
isSnippet, text: value, range, fromEdit: true, | ||
}; | ||
return { isSnippet, insertText: value, range, fromEdit: true, }; | ||
} | ||
if (item.insertText) { | ||
return { isSnippet, text: item.insertText, fromEdit: false }; | ||
return { isSnippet, insertText: item.insertText, fromEdit: false, range: defaultRange }; | ||
} | ||
return undefined; | ||
return { insertText: '', range: defaultRange, fromEdit: false, isSnippet: false }; | ||
} | ||
@@ -850,0 +844,0 @@ |
@@ -7,3 +7,3 @@ /* -------------------------------------------------------------------------------------------- | ||
BaseLanguageClient, MessageTransports, LanguageClientOptions, | ||
CompletionParams, WillSaveTextDocumentParams | ||
CompletionParams, WillSaveTextDocumentParams, StaticFeature, DynamicFeature | ||
} from "vscode-languageclient/lib/client"; | ||
@@ -98,2 +98,11 @@ import { TypeDefinitionFeature } from "vscode-languageclient/lib/typeDefinition"; | ||
this.registerFeature(new DeclarationFeature(this)); | ||
const features = this['_features'] as ((StaticFeature | DynamicFeature<any>)[]); | ||
for (const feature of features) { | ||
if (feature instanceof ColorProviderFeature) { | ||
feature['asColor'] = MonacoLanguageClient.bypassConversion; | ||
feature['asColorInformations'] = MonacoLanguageClient.bypassConversion; | ||
feature['asColorPresentations'] = MonacoLanguageClient.bypassConversion; | ||
} | ||
} | ||
} | ||
@@ -100,0 +109,0 @@ |
@@ -92,11 +92,13 @@ /* -------------------------------------------------------------------------------------------- | ||
} | ||
const wordUntil = model.getWordUntilPosition(position); | ||
const defaultRange = new monaco.Range(position.lineNumber, wordUntil.startColumn, position.lineNumber, wordUntil.endColumn); | ||
const params = this.m2p.asCompletionParams(model, position, context); | ||
return provider.provideCompletionItems(params, token).then(result => this.p2m.asCompletionResult(result)); | ||
return provider.provideCompletionItems(params, token).then(result => this.p2m.asCompletionResult(result, defaultRange)); | ||
}, | ||
resolveCompletionItem: provider.resolveCompletionItem ? (item, position, context, token) => { | ||
const protocolItem = this.m2p.asCompletionItem(context); | ||
resolveCompletionItem: provider.resolveCompletionItem ? (model, position, item, token) => { | ||
const protocolItem = this.m2p.asCompletionItem(item); | ||
return provider.resolveCompletionItem!(protocolItem, token).then(resolvedItem => { | ||
const resolvedCompletionItem = this.p2m.asCompletionItem(resolvedItem); | ||
Object.assign(context, resolvedCompletionItem); | ||
return context; | ||
const resolvedCompletionItem = this.p2m.asCompletionItem(resolvedItem, item.range); | ||
Object.assign(item, resolvedCompletionItem); | ||
return item; | ||
}); | ||
@@ -103,0 +105,0 @@ } : undefined |
@@ -66,3 +66,2 @@ /* -------------------------------------------------------------------------------------------- | ||
protected setModel(uri: string, model: IModel): TextDocument { | ||
console.log("Hello World!"); | ||
const document = TextDocument.create(uri, model.getModeId(), model.getVersionId(), model.getValue()); | ||
@@ -69,0 +68,0 @@ this.documents.set(uri, document); |
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
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
Manifest confusion
Supply chain riskThis package has inconsistent metadata. This could be malicious or caused by an error when publishing the package.
Found 1 instance in 1 package
Manifest confusion
Supply chain riskThis package has inconsistent metadata. This could be malicious or caused by an error when publishing the package.
Found 1 instance in 1 package
711504
9298