@volar/shared
Advanced tools
Comparing version
@@ -9,3 +9,2 @@ /// <reference types="node" /> | ||
import type { TextDocument } from 'vscode-languageserver-textdocument'; | ||
import { MapLike } from 'typescript'; | ||
export declare const sleep: typeof setTimeout.__promisify__; | ||
@@ -18,6 +17,2 @@ export declare function syntaxToLanguageId(syntax: string): string; | ||
export declare function getWordRange(wordPattern: RegExp, position: vscode.Position, document: TextDocument): vscode.Range | undefined; | ||
export declare function loadWorkspaceTypescript(root: string, tsdk: string): typeof import('typescript/lib/tsserverlibrary') | undefined; | ||
export declare function loadWorkspaceTypescriptLocalized(root: string, tsdk: string, lang: string): MapLike<string> | undefined; | ||
export declare function loadVscodeTypescript(appRoot: string): typeof import('typescript/lib/tsserverlibrary'); | ||
export declare function loadVscodeTypescriptLocalized(appRoot: string, lang: string): MapLike<string> | undefined; | ||
export declare function eqSet<T>(as: Set<T>, bs: Set<T>): boolean; |
@@ -13,3 +13,3 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.eqSet = exports.loadVscodeTypescriptLocalized = exports.loadVscodeTypescript = exports.loadWorkspaceTypescriptLocalized = exports.loadWorkspaceTypescript = exports.getWordRange = exports.isInsideRange = exports.notEmpty = exports.getValidScriptSyntax = exports.languageIdToSyntax = exports.syntaxToLanguageId = exports.sleep = void 0; | ||
exports.eqSet = exports.getWordRange = exports.isInsideRange = exports.notEmpty = exports.getValidScriptSyntax = exports.languageIdToSyntax = exports.syntaxToLanguageId = exports.sleep = void 0; | ||
__exportStar(require("./path"), exports); | ||
@@ -20,4 +20,2 @@ __exportStar(require("./requests"), exports); | ||
__exportStar(require("./ts"), exports); | ||
const path = require("upath"); | ||
const fs = require("fs"); | ||
const util_1 = require("util"); | ||
@@ -98,28 +96,2 @@ const validScriptSyntaxs = new Set(['js', 'jsx', 'ts', 'tsx']); | ||
exports.getWordRange = getWordRange; | ||
function loadWorkspaceTypescript(root, tsdk) { | ||
const tsPath = path.isAbsolute(tsdk) ? path.join(tsdk, 'tsserverlibrary.js') : path.join(root, tsdk, 'tsserverlibrary.js'); | ||
if (fs.existsSync(tsPath)) { | ||
return require(path.toUnix(tsPath)); | ||
} | ||
} | ||
exports.loadWorkspaceTypescript = loadWorkspaceTypescript; | ||
function loadWorkspaceTypescriptLocalized(root, tsdk, lang) { | ||
const tsPath = path.isAbsolute(tsdk) ? path.join(tsdk, lang, 'diagnosticMessages.generated.json') : path.join(root, tsdk, lang, 'diagnosticMessages.generated.json'); | ||
if (fs.existsSync(tsPath)) { | ||
return require(path.toUnix(tsPath)); | ||
} | ||
} | ||
exports.loadWorkspaceTypescriptLocalized = loadWorkspaceTypescriptLocalized; | ||
function loadVscodeTypescript(appRoot) { | ||
const tsPath = path.join(appRoot, 'extensions', 'node_modules', 'typescript'); | ||
return require(path.toUnix(tsPath)); | ||
} | ||
exports.loadVscodeTypescript = loadVscodeTypescript; | ||
function loadVscodeTypescriptLocalized(appRoot, lang) { | ||
const tsPath = path.join(appRoot, 'extensions', 'node_modules', 'typescript', 'lib', lang, 'diagnosticMessages.generated.json'); | ||
if (fs.existsSync(tsPath)) { | ||
return require(path.toUnix(tsPath)); | ||
} | ||
} | ||
exports.loadVscodeTypescriptLocalized = loadVscodeTypescriptLocalized; | ||
function eqSet(as, bs) { | ||
@@ -126,0 +98,0 @@ if (as.size !== bs.size) |
import type * as vscode from 'vscode-languageserver'; | ||
export declare namespace PingRequest { | ||
const type: vscode.RequestType0<'pong' | null | undefined, any>; | ||
} | ||
export declare namespace VSCodeContentRequest { | ||
/** | ||
* Client Requests | ||
*/ | ||
export declare namespace GetDocumentContentRequest { | ||
const type: vscode.RequestType<string, string, any>; | ||
} | ||
export declare namespace D3Request { | ||
const type: vscode.RequestType<vscode.TextDocumentIdentifier, string | null | undefined, any>; | ||
} | ||
export declare namespace TagCloseRequest { | ||
const type: vscode.RequestType<vscode.TextDocumentPositionParams, string | null | undefined, any>; | ||
} | ||
export declare namespace RefCloseRequest { | ||
const type: vscode.RequestType<vscode.TextDocumentPositionParams, string | null | undefined, any>; | ||
} | ||
export declare namespace DocumentVersionRequest { | ||
export declare namespace GetDocumentVersionRequest { | ||
const type: vscode.RequestType<{ | ||
@@ -22,3 +13,16 @@ uri: string; | ||
} | ||
export declare namespace ActiveSelectionRequest { | ||
export declare namespace ShowReferencesNotification { | ||
const type: vscode.NotificationType<{ | ||
uri: vscode.DocumentUri; | ||
position: vscode.Position; | ||
references: vscode.Location[]; | ||
}>; | ||
} | ||
export declare namespace GetDocumentNameCasesRequest { | ||
const type: vscode.RequestType<vscode.TextDocumentIdentifier, { | ||
tagNameCase: 'both' | 'kebabCase' | 'pascalCase'; | ||
attrNameCase: 'kebabCase' | 'pascalCase'; | ||
}, any>; | ||
} | ||
export declare namespace GetDocumentSelectionRequest { | ||
const type: vscode.RequestType0<{ | ||
@@ -29,2 +33,17 @@ uri: string; | ||
} | ||
/** | ||
* Server Requests | ||
*/ | ||
export declare namespace PingRequest { | ||
const type: vscode.RequestType0<'pong' | null | undefined, any>; | ||
} | ||
export declare namespace D3Request { | ||
const type: vscode.RequestType<vscode.TextDocumentIdentifier, string | null | undefined, any>; | ||
} | ||
export declare namespace GetTagCloseEditsRequest { | ||
const type: vscode.RequestType<vscode.TextDocumentPositionParams, string | null | undefined, any>; | ||
} | ||
export declare namespace GetRefCompleteEditsRequest { | ||
const type: vscode.RequestType<vscode.TextDocumentPositionParams, string | null | undefined, any>; | ||
} | ||
export declare namespace VerifyAllScriptsRequest { | ||
@@ -39,12 +58,8 @@ const type: vscode.RequestType<undefined, undefined, any>; | ||
export declare namespace RestartServerNotification { | ||
const type: vscode.NotificationType<undefined>; | ||
} | ||
export declare namespace ShowReferencesNotification { | ||
const type: vscode.NotificationType<{ | ||
uri: vscode.DocumentUri; | ||
position: vscode.Position; | ||
references: vscode.Location[]; | ||
}>; | ||
serverPath: string; | ||
localizedPath: string | undefined; | ||
} | undefined>; | ||
} | ||
export declare namespace GetServerNameCasesRequest { | ||
export declare namespace DetectDocumentNameCasesRequest { | ||
const type: vscode.RequestType<vscode.TextDocumentIdentifier, { | ||
@@ -55,16 +70,4 @@ tag: 'both' | 'kebabCase' | 'pascalCase' | 'unsure'; | ||
} | ||
export declare namespace GetClientAttrNameCaseRequest { | ||
const type: vscode.RequestType<vscode.TextDocumentIdentifier, 'kebabCase' | 'pascalCase', any>; | ||
} | ||
export declare namespace GetClientTarNameCaseRequest { | ||
const type: vscode.RequestType<vscode.TextDocumentIdentifier, 'both' | 'kebabCase' | 'pascalCase', any>; | ||
} | ||
export declare namespace TsVersionChanged { | ||
const type: vscode.NotificationType<string>; | ||
} | ||
export declare namespace UseWorkspaceTsdkChanged { | ||
const type: vscode.NotificationType<boolean>; | ||
} | ||
export declare namespace RemoveAllRefSugars { | ||
const type: vscode.NotificationType<undefined>; | ||
} |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.RemoveAllRefSugars = exports.UseWorkspaceTsdkChanged = exports.TsVersionChanged = exports.GetClientTarNameCaseRequest = exports.GetClientAttrNameCaseRequest = exports.GetServerNameCasesRequest = exports.ShowReferencesNotification = exports.RestartServerNotification = exports.WriteVirtualFilesRequest = exports.VerifyAllScriptsRequest = exports.ActiveSelectionRequest = exports.DocumentVersionRequest = exports.RefCloseRequest = exports.TagCloseRequest = exports.D3Request = exports.VSCodeContentRequest = exports.PingRequest = void 0; | ||
exports.RemoveAllRefSugars = exports.DetectDocumentNameCasesRequest = exports.RestartServerNotification = exports.WriteVirtualFilesRequest = exports.VerifyAllScriptsRequest = exports.GetRefCompleteEditsRequest = exports.GetTagCloseEditsRequest = exports.D3Request = exports.PingRequest = exports.GetDocumentSelectionRequest = exports.GetDocumentNameCasesRequest = exports.ShowReferencesNotification = exports.GetDocumentVersionRequest = exports.GetDocumentContentRequest = void 0; | ||
const rpc = require("vscode-jsonrpc"); | ||
/** | ||
* Client Requests | ||
*/ | ||
var GetDocumentContentRequest; | ||
(function (GetDocumentContentRequest) { | ||
GetDocumentContentRequest.type = new rpc.RequestType('vscode/content'); | ||
})(GetDocumentContentRequest = exports.GetDocumentContentRequest || (exports.GetDocumentContentRequest = {})); | ||
var GetDocumentVersionRequest; | ||
(function (GetDocumentVersionRequest) { | ||
GetDocumentVersionRequest.type = new rpc.RequestType('vue/docUpdated'); | ||
})(GetDocumentVersionRequest = exports.GetDocumentVersionRequest || (exports.GetDocumentVersionRequest = {})); | ||
var ShowReferencesNotification; | ||
(function (ShowReferencesNotification) { | ||
ShowReferencesNotification.type = new rpc.NotificationType('vue.findReferences'); | ||
})(ShowReferencesNotification = exports.ShowReferencesNotification || (exports.ShowReferencesNotification = {})); | ||
var GetDocumentNameCasesRequest; | ||
(function (GetDocumentNameCasesRequest) { | ||
GetDocumentNameCasesRequest.type = new rpc.RequestType('volar/getAttrNameCaseClient'); | ||
})(GetDocumentNameCasesRequest = exports.GetDocumentNameCasesRequest || (exports.GetDocumentNameCasesRequest = {})); | ||
var GetDocumentSelectionRequest; | ||
(function (GetDocumentSelectionRequest) { | ||
GetDocumentSelectionRequest.type = new rpc.RequestType0('vue/activeSelection'); | ||
})(GetDocumentSelectionRequest = exports.GetDocumentSelectionRequest || (exports.GetDocumentSelectionRequest = {})); | ||
/** | ||
* Server Requests | ||
*/ | ||
var PingRequest; | ||
@@ -9,6 +35,2 @@ (function (PingRequest) { | ||
})(PingRequest = exports.PingRequest || (exports.PingRequest = {})); | ||
var VSCodeContentRequest; | ||
(function (VSCodeContentRequest) { | ||
VSCodeContentRequest.type = new rpc.RequestType('vscode/content'); | ||
})(VSCodeContentRequest = exports.VSCodeContentRequest || (exports.VSCodeContentRequest = {})); | ||
var D3Request; | ||
@@ -18,18 +40,10 @@ (function (D3Request) { | ||
})(D3Request = exports.D3Request || (exports.D3Request = {})); | ||
var TagCloseRequest; | ||
(function (TagCloseRequest) { | ||
TagCloseRequest.type = new rpc.RequestType('html/tag'); | ||
})(TagCloseRequest = exports.TagCloseRequest || (exports.TagCloseRequest = {})); | ||
var RefCloseRequest; | ||
(function (RefCloseRequest) { | ||
RefCloseRequest.type = new rpc.RequestType('volar/ref'); | ||
})(RefCloseRequest = exports.RefCloseRequest || (exports.RefCloseRequest = {})); | ||
var DocumentVersionRequest; | ||
(function (DocumentVersionRequest) { | ||
DocumentVersionRequest.type = new rpc.RequestType('vue/docUpdated'); | ||
})(DocumentVersionRequest = exports.DocumentVersionRequest || (exports.DocumentVersionRequest = {})); | ||
var ActiveSelectionRequest; | ||
(function (ActiveSelectionRequest) { | ||
ActiveSelectionRequest.type = new rpc.RequestType0('vue/activeSelection'); | ||
})(ActiveSelectionRequest = exports.ActiveSelectionRequest || (exports.ActiveSelectionRequest = {})); | ||
var GetTagCloseEditsRequest; | ||
(function (GetTagCloseEditsRequest) { | ||
GetTagCloseEditsRequest.type = new rpc.RequestType('html/tag'); | ||
})(GetTagCloseEditsRequest = exports.GetTagCloseEditsRequest || (exports.GetTagCloseEditsRequest = {})); | ||
var GetRefCompleteEditsRequest; | ||
(function (GetRefCompleteEditsRequest) { | ||
GetRefCompleteEditsRequest.type = new rpc.RequestType('volar/ref'); | ||
})(GetRefCompleteEditsRequest = exports.GetRefCompleteEditsRequest || (exports.GetRefCompleteEditsRequest = {})); | ||
var VerifyAllScriptsRequest; | ||
@@ -47,26 +61,6 @@ (function (VerifyAllScriptsRequest) { | ||
})(RestartServerNotification = exports.RestartServerNotification || (exports.RestartServerNotification = {})); | ||
var ShowReferencesNotification; | ||
(function (ShowReferencesNotification) { | ||
ShowReferencesNotification.type = new rpc.NotificationType('vue.findReferences'); | ||
})(ShowReferencesNotification = exports.ShowReferencesNotification || (exports.ShowReferencesNotification = {})); | ||
var GetServerNameCasesRequest; | ||
(function (GetServerNameCasesRequest) { | ||
GetServerNameCasesRequest.type = new rpc.RequestType('volar/getTagNameCaseServer'); | ||
})(GetServerNameCasesRequest = exports.GetServerNameCasesRequest || (exports.GetServerNameCasesRequest = {})); | ||
var GetClientAttrNameCaseRequest; | ||
(function (GetClientAttrNameCaseRequest) { | ||
GetClientAttrNameCaseRequest.type = new rpc.RequestType('volar/getAttrNameCaseClient'); | ||
})(GetClientAttrNameCaseRequest = exports.GetClientAttrNameCaseRequest || (exports.GetClientAttrNameCaseRequest = {})); | ||
var GetClientTarNameCaseRequest; | ||
(function (GetClientTarNameCaseRequest) { | ||
GetClientTarNameCaseRequest.type = new rpc.RequestType('volar/getTagNameCaseClient'); | ||
})(GetClientTarNameCaseRequest = exports.GetClientTarNameCaseRequest || (exports.GetClientTarNameCaseRequest = {})); | ||
var TsVersionChanged; | ||
(function (TsVersionChanged) { | ||
TsVersionChanged.type = new rpc.NotificationType('volar.tsVersionChanged'); | ||
})(TsVersionChanged = exports.TsVersionChanged || (exports.TsVersionChanged = {})); | ||
var UseWorkspaceTsdkChanged; | ||
(function (UseWorkspaceTsdkChanged) { | ||
UseWorkspaceTsdkChanged.type = new rpc.NotificationType('volar.useWorkspaceTsdkChanged'); | ||
})(UseWorkspaceTsdkChanged = exports.UseWorkspaceTsdkChanged || (exports.UseWorkspaceTsdkChanged = {})); | ||
var DetectDocumentNameCasesRequest; | ||
(function (DetectDocumentNameCasesRequest) { | ||
DetectDocumentNameCasesRequest.type = new rpc.RequestType('volar/getTagNameCaseServer'); | ||
})(DetectDocumentNameCasesRequest = exports.DetectDocumentNameCasesRequest || (exports.DetectDocumentNameCasesRequest = {})); | ||
var RemoveAllRefSugars; | ||
@@ -73,0 +67,0 @@ (function (RemoveAllRefSugars) { |
import type * as ts from 'typescript'; | ||
import type { MapLike } from 'typescript'; | ||
import type * as vscode from 'vscode'; | ||
export declare function createTsLanguageService(ts: typeof import('typescript/lib/tsserverlibrary'), ShPlugin: typeof import('typescript-vscode-sh-plugin'), _host: ts.LanguageServiceHost): import("typescript/lib/tsserverlibrary").LanguageService; | ||
export declare function getWorkspaceTypescriptPath(tsdk: string, workspaceFolders: readonly vscode.WorkspaceFolder[] | undefined): string | undefined; | ||
export declare function getWorkspaceTypescriptLocalizedPath(tsdk: string, lang: string, workspaceFolders: readonly vscode.WorkspaceFolder[] | undefined): string | undefined; | ||
export declare function getVscodeTypescriptPath(appRoot: string): string; | ||
export declare function getVscodeTypescriptLocalizedPath(appRoot: string, lang: string): string | undefined; | ||
export declare function loadTypescript(tsPath: string): typeof import('typescript/lib/tsserverlibrary'); | ||
export declare function loadTypescriptLocalized(tsPath: string): MapLike<string> | undefined; | ||
export declare function getTypeScriptVersion(serverPath: string): string | undefined; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.createTsLanguageService = void 0; | ||
exports.getTypeScriptVersion = exports.loadTypescriptLocalized = exports.loadTypescript = exports.getVscodeTypescriptLocalizedPath = exports.getVscodeTypescriptPath = exports.getWorkspaceTypescriptLocalizedPath = exports.getWorkspaceTypescriptPath = exports.createTsLanguageService = void 0; | ||
const fs = require("fs"); | ||
const path = require("upath"); | ||
function createTsLanguageService(ts, ShPlugin, _host) { | ||
@@ -20,2 +22,91 @@ var _a, _b; | ||
exports.createTsLanguageService = createTsLanguageService; | ||
function getWorkspaceTypescriptPath(tsdk, workspaceFolders) { | ||
if (path.isAbsolute(tsdk)) { | ||
const tsPath = path.join(tsdk, 'tsserverlibrary.js'); | ||
if (fs.existsSync(tsPath)) { | ||
return tsPath; | ||
} | ||
} | ||
else if (workspaceFolders) { | ||
for (const folder of workspaceFolders) { | ||
const tsPath = path.join(folder.uri.fsPath, tsdk, 'tsserverlibrary.js'); | ||
if (fs.existsSync(tsPath)) { | ||
return tsPath; | ||
} | ||
} | ||
} | ||
} | ||
exports.getWorkspaceTypescriptPath = getWorkspaceTypescriptPath; | ||
function getWorkspaceTypescriptLocalizedPath(tsdk, lang, workspaceFolders) { | ||
if (path.isAbsolute(tsdk)) { | ||
const tsPath = path.join(tsdk, lang, 'diagnosticMessages.generated.json'); | ||
if (fs.existsSync(tsPath)) { | ||
return tsPath; | ||
} | ||
} | ||
else if (workspaceFolders) { | ||
for (const folder of workspaceFolders) { | ||
const tsPath = path.join(folder.uri.fsPath, tsdk, lang, 'diagnosticMessages.generated.json'); | ||
if (fs.existsSync(tsPath)) { | ||
return tsPath; | ||
} | ||
} | ||
} | ||
} | ||
exports.getWorkspaceTypescriptLocalizedPath = getWorkspaceTypescriptLocalizedPath; | ||
function getVscodeTypescriptPath(appRoot) { | ||
return path.join(appRoot, 'extensions', 'node_modules', 'typescript', 'lib', 'typescript.js'); | ||
} | ||
exports.getVscodeTypescriptPath = getVscodeTypescriptPath; | ||
function getVscodeTypescriptLocalizedPath(appRoot, lang) { | ||
const tsPath = path.join(appRoot, 'extensions', 'node_modules', 'typescript', 'lib', lang, 'diagnosticMessages.generated.json'); | ||
if (fs.existsSync(tsPath)) { | ||
return tsPath; | ||
} | ||
} | ||
exports.getVscodeTypescriptLocalizedPath = getVscodeTypescriptLocalizedPath; | ||
function loadTypescript(tsPath) { | ||
return require(path.toUnix(tsPath)); | ||
} | ||
exports.loadTypescript = loadTypescript; | ||
function loadTypescriptLocalized(tsPath) { | ||
if (fs.existsSync(tsPath)) { | ||
return require(path.toUnix(tsPath)); | ||
} | ||
} | ||
exports.loadTypescriptLocalized = loadTypescriptLocalized; | ||
function getTypeScriptVersion(serverPath) { | ||
if (!fs.existsSync(serverPath)) { | ||
return undefined; | ||
} | ||
const p = serverPath.split(path.sep); | ||
if (p.length <= 2) { | ||
return undefined; | ||
} | ||
const p2 = p.slice(0, -2); | ||
const modulePath = p2.join(path.sep); | ||
let fileName = path.join(modulePath, 'package.json'); | ||
if (!fs.existsSync(fileName)) { | ||
// Special case for ts dev versions | ||
if (path.basename(modulePath) === 'built') { | ||
fileName = path.join(modulePath, '..', 'package.json'); | ||
} | ||
} | ||
if (!fs.existsSync(fileName)) { | ||
return undefined; | ||
} | ||
const contents = fs.readFileSync(fileName).toString(); | ||
let desc = null; | ||
try { | ||
desc = JSON.parse(contents); | ||
} | ||
catch (err) { | ||
return undefined; | ||
} | ||
if (!desc || !desc.version) { | ||
return undefined; | ||
} | ||
return desc.version; | ||
} | ||
exports.getTypeScriptVersion = getTypeScriptVersion; | ||
//# sourceMappingURL=ts.js.map |
export interface ServerInitializationOptions { | ||
mode: 'api' | 'doc' | 'html'; | ||
appRoot: string; | ||
language: string; | ||
tsPlugin: boolean; | ||
tsdk: string | undefined; | ||
useWorkspaceTsdk: boolean; | ||
typescript: { | ||
/** | ||
* Path of tsserverlibrary.js / tsserver.js / typescript.js | ||
*/ | ||
serverPath: string; | ||
localizedPath: string | undefined; | ||
}; | ||
/** | ||
* typescript, html, css... language service will be create in server if this option is not null | ||
*/ | ||
features?: { | ||
references?: boolean | { | ||
enabledInTsScript: boolean; | ||
}; | ||
definition?: boolean | { | ||
enabledInTsScript: boolean; | ||
}; | ||
typeDefinition?: boolean | { | ||
enabledInTsScript: boolean; | ||
}; | ||
callHierarchy?: boolean | { | ||
enabledInTsScript: boolean; | ||
}; | ||
hover?: boolean; | ||
rename?: boolean; | ||
renameFileRefactoring?: boolean; | ||
selectionRange?: boolean; | ||
signatureHelp?: boolean; | ||
completion?: { | ||
defaultTagNameCase: 'both' | 'kebabCase' | 'pascalCase'; | ||
defaultAttrNameCase: 'kebabCase' | 'pascalCase'; | ||
/** | ||
* {@link GetDocumentNameCasesRequest} | ||
*/ | ||
getDocumentNameCasesRequest?: boolean; | ||
/** | ||
* {@link GetDocumentSelectionRequest} | ||
* */ | ||
getDocumentSelectionRequest?: boolean; | ||
}; | ||
documentHighlight?: boolean; | ||
documentSymbol?: boolean; | ||
documentLink?: boolean; | ||
documentColor?: boolean; | ||
codeLens?: boolean | { | ||
/** | ||
* {@link ShowReferencesNotification} | ||
* */ | ||
showReferencesNotification?: boolean; | ||
}; | ||
semanticTokens?: boolean; | ||
codeAction?: boolean; | ||
diagnostics?: boolean | { | ||
/** | ||
* {@link GetDocumentVersionRequest} | ||
* */ | ||
getDocumentVersionRequest: boolean; | ||
}; | ||
schemaRequestService?: boolean | { | ||
/** | ||
* Duce to performance only allow true | ||
* {@link GetDocumentContentRequest} | ||
* */ | ||
getDocumentContentRequest?: boolean; | ||
}; | ||
}; | ||
/** | ||
* html language service will be create in server if this option is not null | ||
*/ | ||
htmlFeatures?: { | ||
foldingRange?: boolean; | ||
linkedEditingRange?: boolean; | ||
documentFormatting?: boolean; | ||
}; | ||
} |
{ | ||
"name": "@volar/shared", | ||
"version": "0.26.9", | ||
"version": "0.26.10", | ||
"main": "out/index.js", | ||
@@ -22,3 +22,3 @@ "license": "MIT", | ||
}, | ||
"gitHead": "a108863c0a9d53619207bffc252f9a92384d714b" | ||
"gitHead": "3ce471a464906197af53ff0c48ea901d4a58358e" | ||
} |
22917
18.95%528
33.33%3
-40%