@volar/language-service
Advanced tools
Comparing version 1.2.0-alpha.17 to 1.2.0-alpha.18
@@ -7,2 +7,3 @@ import { LanguageServiceHost } from '@volar/language-core'; | ||
export declare function createLanguageService(host: LanguageServiceHost, config: Config, env: LanguageServicePluginContext['env'], documentRegistry?: ts.DocumentRegistry): { | ||
triggerCharacters: string[]; | ||
format: (uri: string, options: _.FormattingOptions, range?: _.Range | undefined, onTypeParams?: { | ||
@@ -15,3 +16,3 @@ ch: string; | ||
findLinkedEditingRanges: (uri: string, position: _.Position) => Promise<_.LinkedEditingRanges | undefined>; | ||
findDocumentSymbols: (uri: string) => Promise<_.SymbolInformation[] | undefined>; | ||
findDocumentSymbols: (uri: string) => Promise<_.DocumentSymbol[] | undefined>; | ||
findDocumentColors: (uri: string) => Promise<_.ColorInformation[] | undefined>; | ||
@@ -39,3 +40,3 @@ getColorPresentations: (uri: string, color: _.Color, range: _.Range) => Promise<_.ColorPresentation[] | undefined>; | ||
findDocumentLinks: (uri: string) => Promise<_.DocumentLink[]>; | ||
findWorkspaceSymbols: (query: string) => Promise<_.SymbolInformation[]>; | ||
findWorkspaceSymbols: (query: string) => Promise<_.WorkspaceSymbol[]>; | ||
doAutoInsert: (uri: string, position: _.Position, autoInsertContext: { | ||
@@ -42,0 +43,0 @@ lastChange: { |
@@ -106,2 +106,3 @@ Object.defineProperty(exports, "__esModule", { value: true }); | ||
return { | ||
triggerCharacters: Object.values(context.plugins).map(plugin => { var _a, _b; return (_b = (_a = plugin.complete) === null || _a === void 0 ? void 0 : _a.triggerCharacters) !== null && _b !== void 0 ? _b : []; }).flat(), | ||
format: format.register(context), | ||
@@ -108,0 +109,0 @@ getFoldingRanges: foldingRanges.register(context), |
import type { LanguageServicePluginContext } from '../types'; | ||
import * as vscode from 'vscode-languageserver-protocol'; | ||
export declare function register(context: LanguageServicePluginContext): (uri: string) => Promise<vscode.SymbolInformation[] | undefined>; | ||
export declare function register(context: LanguageServicePluginContext): (uri: string) => Promise<vscode.DocumentSymbol[] | undefined>; |
@@ -0,1 +1,10 @@ | ||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||
return new (P || (P = Promise))(function (resolve, reject) { | ||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | ||
step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||
}); | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -5,11 +14,23 @@ exports.register = void 0; | ||
const transformer = require("../transformer"); | ||
const shared = require("@volar/shared"); | ||
const vscode = require("vscode-languageserver-protocol"); | ||
function register(context) { | ||
return (uri) => { | ||
return (0, featureWorkers_1.documentFeatureWorker)(context, uri, file => !!file.capabilities.documentSymbol, (plugin, document) => { var _a; return (_a = plugin.findDocumentSymbols) === null || _a === void 0 ? void 0 : _a.call(plugin, document); }, (data, map) => map ? transformer.asSymbolInformations(data, location => { | ||
const range = map.toSourceRange(location.range); | ||
if (range) { | ||
return vscode.Location.create(map.sourceFileDocument.uri, range); | ||
return (0, featureWorkers_1.documentFeatureWorker)(context, uri, file => !!file.capabilities.documentSymbol, (plugin, document) => __awaiter(this, void 0, void 0, function* () { | ||
var _a; | ||
const symbols = yield ((_a = plugin.findDocumentSymbols) === null || _a === void 0 ? void 0 : _a.call(plugin, document)); | ||
if (!(symbols === null || symbols === void 0 ? void 0 : symbols.length)) { | ||
return symbols; | ||
} | ||
}) : data, arr => arr.flat()); | ||
if (vscode.DocumentSymbol.is(symbols[0])) { | ||
return symbols; | ||
} | ||
return symbols.map(symbol => { | ||
return vscode.DocumentSymbol.create(symbol.name, undefined, symbol.kind, symbol.location.range, symbol.location.range); | ||
}); | ||
}), (data, map) => map | ||
? data | ||
.map(symbol => transformer.asDocumentSymbol(symbol, range => map.toSourceRange(range))) | ||
.filter(shared.notEmpty) | ||
: data, arr => arr.flat()); | ||
}; | ||
@@ -16,0 +37,0 @@ } |
import * as vscode from 'vscode-languageserver-protocol'; | ||
import type { LanguageServicePluginContext } from '../types'; | ||
export declare function register(context: LanguageServicePluginContext): (query: string) => Promise<vscode.SymbolInformation[]>; | ||
export declare function register(context: LanguageServicePluginContext): (query: string) => Promise<vscode.WorkspaceSymbol[]>; |
@@ -14,2 +14,3 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||
const vscode = require("vscode-languageserver-protocol"); | ||
const shared = require("@volar/shared"); | ||
function register(context) { | ||
@@ -24,3 +25,3 @@ return (query) => __awaiter(this, void 0, void 0, function* () { | ||
continue; | ||
const symbols = transformer.asSymbolInformations(embeddedSymbols, loc => { | ||
const symbols = embeddedSymbols.map(symbol => transformer.asWorkspaceSymbol(symbol, loc => { | ||
if (context.documents.hasVirtualFileByUri(loc.uri)) { | ||
@@ -37,3 +38,3 @@ for (const [_, map] of context.documents.getMapsByVirtualFileUri(loc.uri)) { | ||
} | ||
}); | ||
})).filter(shared.notEmpty); | ||
symbolsList.push(symbols); | ||
@@ -40,0 +41,0 @@ } |
@@ -9,4 +9,4 @@ export { transform as asCompletionItem } from './completionItem'; | ||
export { transform as asSelectionRanges } from './selectionRanges'; | ||
export { transform as asSymbolInformation } from './symbolInformation'; | ||
export { transform as asSymbolInformations } from './symbolInformations'; | ||
export { transform as asTextEdit } from './textEdit'; | ||
export { transform as asDocumentSymbol } from './documentSymbol'; | ||
export { transform as asWorkspaceSymbol } from './workspaceSymbol'; |
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.asTextEdit = exports.asSymbolInformations = exports.asSymbolInformation = exports.asSelectionRanges = exports.asSelectionRange = exports.asLocations = exports.asLocation = exports.asHover = exports.asFoldingRanges = exports.asCompletionList = exports.asCompletionItem = void 0; | ||
exports.asWorkspaceSymbol = exports.asDocumentSymbol = exports.asTextEdit = exports.asSelectionRanges = exports.asSelectionRange = exports.asLocations = exports.asLocation = exports.asHover = exports.asFoldingRanges = exports.asCompletionList = exports.asCompletionItem = void 0; | ||
var completionItem_1 = require("./completionItem"); | ||
@@ -19,8 +19,8 @@ Object.defineProperty(exports, "asCompletionItem", { enumerable: true, get: function () { return completionItem_1.transform; } }); | ||
Object.defineProperty(exports, "asSelectionRanges", { enumerable: true, get: function () { return selectionRanges_1.transform; } }); | ||
var symbolInformation_1 = require("./symbolInformation"); | ||
Object.defineProperty(exports, "asSymbolInformation", { enumerable: true, get: function () { return symbolInformation_1.transform; } }); | ||
var symbolInformations_1 = require("./symbolInformations"); | ||
Object.defineProperty(exports, "asSymbolInformations", { enumerable: true, get: function () { return symbolInformations_1.transform; } }); | ||
var textEdit_1 = require("./textEdit"); | ||
Object.defineProperty(exports, "asTextEdit", { enumerable: true, get: function () { return textEdit_1.transform; } }); | ||
var documentSymbol_1 = require("./documentSymbol"); | ||
Object.defineProperty(exports, "asDocumentSymbol", { enumerable: true, get: function () { return documentSymbol_1.transform; } }); | ||
var workspaceSymbol_1 = require("./workspaceSymbol"); | ||
Object.defineProperty(exports, "asWorkspaceSymbol", { enumerable: true, get: function () { return workspaceSymbol_1.transform; } }); | ||
//# sourceMappingURL=index.js.map |
@@ -80,5 +80,5 @@ import { LanguageContext, LanguageModule, LanguageServiceHost } from '@volar/language-core'; | ||
findDocumentLinks?(document: TextDocument): NullableResult<vscode.DocumentLink[]>; | ||
findDocumentSymbols?(document: TextDocument): NullableResult<vscode.SymbolInformation[]>; | ||
findDocumentSymbols?(document: TextDocument): NullableResult<vscode.DocumentSymbol[] | vscode.SymbolInformation[]>; | ||
findDocumentSemanticTokens?(document: TextDocument, range: vscode.Range, legend: vscode.SemanticTokensLegend): NullableResult<SemanticToken[]>; | ||
findWorkspaceSymbols?(query: string): NullableResult<vscode.SymbolInformation[]>; | ||
findWorkspaceSymbols?(query: string): NullableResult<vscode.WorkspaceSymbol[]>; | ||
findDocumentColors?(document: TextDocument): NullableResult<vscode.ColorInformation[]>; | ||
@@ -85,0 +85,0 @@ getColorPresentations?(document: TextDocument, color: vscode.Color, range: vscode.Range): NullableResult<vscode.ColorPresentation[]>; |
{ | ||
"name": "@volar/language-service", | ||
"version": "1.2.0-alpha.17", | ||
"version": "1.2.0-alpha.18", | ||
"main": "out/index.js", | ||
@@ -16,6 +16,6 @@ "license": "MIT", | ||
"dependencies": { | ||
"@volar/language-core": "1.2.0-alpha.17", | ||
"@volar/shared": "1.2.0-alpha.17", | ||
"@volar/source-map": "1.2.0-alpha.17", | ||
"@volar/typescript-faster": "1.2.0-alpha.17", | ||
"@volar/language-core": "1.2.0-alpha.18", | ||
"@volar/shared": "1.2.0-alpha.18", | ||
"@volar/source-map": "1.2.0-alpha.18", | ||
"@volar/typescript-faster": "1.2.0-alpha.18", | ||
"vscode-html-languageservice": "^5.0.4", | ||
@@ -27,3 +27,3 @@ "vscode-json-languageservice": "^5.2.0", | ||
}, | ||
"gitHead": "8deee6903bb1f536d099d358953d3b79fe983dd3" | ||
"gitHead": "7f63794bb8ed5a20f7b8838d46ff8da243cb9dec" | ||
} |
215704
104
3966
+ Added@volar/language-core@1.2.0-alpha.18(transitive)
+ Added@volar/shared@1.2.0-alpha.18(transitive)
+ Added@volar/source-map@1.2.0-alpha.18(transitive)
+ Added@volar/typescript-faster@1.2.0-alpha.18(transitive)
- Removed@volar/language-core@1.2.0-alpha.17(transitive)
- Removed@volar/shared@1.2.0-alpha.17(transitive)
- Removed@volar/source-map@1.2.0-alpha.17(transitive)
- Removed@volar/typescript-faster@1.2.0-alpha.17(transitive)
Updated@volar/shared@1.2.0-alpha.18