Skip to content

Commit 163f4bc

Browse files
Update to Volar 2.4 (#460)
1 parent f77645b commit 163f4bc

10 files changed

Lines changed: 71 additions & 49 deletions

File tree

.changeset/neat-spoons-exist.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
'@mdx-js/typescript-plugin': patch
3+
'@mdx-js/language-service': patch
4+
'@mdx-js/language-server': patch
5+
'vscode-mdx': patch
6+
---
7+
8+
Update to Volar 2.4

packages/language-server/index.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,9 @@ connection.onInitialize(async (parameters) => {
5454
createTypeScriptProject(
5555
typescript,
5656
diagnosticMessages,
57-
(serviceEnv, {configFileName}) => getLanguagePlugins(configFileName)
57+
async ({configFileName}) => ({
58+
languagePlugins: await getLanguagePlugins(configFileName)
59+
})
5860
),
5961
getLanguageServicePlugins()
6062
)
@@ -158,7 +160,7 @@ connection.onInitialized(() => {
158160
}
159161

160162
server.initialized()
161-
server.watchFiles([`**/*.{${extensions.join(',')}}`])
163+
server.fileWatcher.watchFiles([`**/*.{${extensions.join(',')}}`])
162164
})
163165

164166
connection.listen()

packages/language-server/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,17 +33,17 @@
3333
},
3434
"dependencies": {
3535
"@mdx-js/language-service": "0.5.7",
36-
"@volar/language-server": "~2.3.0",
36+
"@volar/language-server": "~2.4.0",
3737
"load-plugin": "^6.0.0",
3838
"remark-frontmatter": "^5.0.0",
3939
"remark-gfm": "^4.0.0",
40-
"volar-service-markdown": "0.0.51",
41-
"volar-service-typescript": "0.0.51",
40+
"volar-service-markdown": "0.0.61",
41+
"volar-service-typescript": "0.0.61",
4242
"vscode-uri": "^3.0.0"
4343
},
4444
"devDependencies": {
4545
"@types/node": "^22.0.0",
46-
"@volar/test-utils": "~2.3.0",
46+
"@volar/test-utils": "~2.4.0",
4747
"unified": "^11.0.0"
4848
}
4949
}

packages/language-server/test/definitions.test.js

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,19 @@ let serverHandle
1010

1111
beforeEach(async () => {
1212
serverHandle = createServer()
13-
await serverHandle.initialize(fixtureUri('node16'), {
14-
typescript: {enabled: true, tsdk}
15-
})
13+
await serverHandle.initialize(
14+
fixtureUri('node16'),
15+
{
16+
typescript: {enabled: true, tsdk}
17+
},
18+
{
19+
textDocument: {
20+
definition: {
21+
linkSupport: true
22+
}
23+
}
24+
}
25+
)
1626
})
1727

1828
afterEach(() => {
@@ -127,5 +137,5 @@ test('ignore non-existent mdx files', async () => {
127137
character: 15
128138
})
129139

130-
assert.deepEqual(result, null)
140+
assert.deepEqual(result, [])
131141
})

packages/language-server/test/initialize.test.js

Lines changed: 23 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -22,20 +22,14 @@ test('initialize', async () => {
2222
{typescript: {enabled: true, tsdk}}
2323
)
2424
assert.deepEqual(initializeResponse, {
25-
autoInsertion: {
26-
configurationSections: [
27-
'javascript.autoClosingTags',
28-
'typescript.autoClosingTags'
29-
],
30-
triggerCharacters: ['>', '>']
31-
},
3225
capabilities: {
3326
callHierarchyProvider: true,
3427
codeActionProvider: {
3528
codeActionKinds: [
36-
'',
29+
'source.organizeLinkDefinitions',
3730
'quickfix',
3831
'refactor',
32+
'',
3933
'refactor.extract',
4034
'refactor.inline',
4135
'refactor.rewrite',
@@ -52,59 +46,59 @@ test('initialize', async () => {
5246
definitionProvider: true,
5347
documentFormattingProvider: true,
5448
documentHighlightProvider: true,
55-
documentLinkProvider: {resolveProvider: true},
49+
documentLinkProvider: {
50+
resolveProvider: true
51+
},
5652
documentOnTypeFormattingProvider: {
5753
firstTriggerCharacter: ';',
5854
moreTriggerCharacter: ['}', '\n']
5955
},
6056
documentRangeFormattingProvider: true,
6157
documentSymbolProvider: true,
58+
experimental: {
59+
autoInsertionProvider: {
60+
configurationSections: [
61+
['javascript.autoClosingTags', 'typescript.autoClosingTags']
62+
],
63+
triggerCharacters: ['>']
64+
},
65+
documentDropEditsProvider: true,
66+
fileReferencesProvider: true,
67+
fileRenameEditsProvider: true
68+
},
6269
foldingRangeProvider: true,
6370
hoverProvider: true,
6471
implementationProvider: true,
6572
inlayHintProvider: {},
6673
referencesProvider: true,
67-
renameProvider: {prepareProvider: true},
74+
renameProvider: {
75+
prepareProvider: true
76+
},
6877
selectionRangeProvider: true,
6978
semanticTokensProvider: {
7079
full: false,
7180
legend: {
7281
tokenModifiers: [
7382
'declaration',
74-
'definition',
7583
'readonly',
7684
'static',
77-
'deprecated',
78-
'abstract',
7985
'async',
80-
'modification',
81-
'documentation',
82-
'defaultLibrary'
86+
'defaultLibrary',
87+
'local'
8388
],
8489
tokenTypes: [
8590
'namespace',
8691
'class',
8792
'enum',
8893
'interface',
89-
'struct',
9094
'typeParameter',
9195
'type',
9296
'parameter',
9397
'variable',
9498
'property',
9599
'enumMember',
96-
'decorator',
97-
'event',
98100
'function',
99-
'method',
100-
'macro',
101-
'label',
102-
'comment',
103-
'string',
104-
'keyword',
105-
'number',
106-
'regexp',
107-
'operator'
101+
'method'
108102
]
109103
},
110104
range: true
@@ -121,7 +115,7 @@ test('initialize', async () => {
121115
supported: true
122116
}
123117
},
124-
workspaceSymbolProvider: true
118+
workspaceSymbolProvider: {}
125119
}
126120
})
127121
})

packages/language-service/lib/language-plugin.js

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
/// <reference types="@volar/typescript" />
2+
13
/**
24
* @import {LanguagePlugin} from '@volar/language-service'
35
* @import {PluggableList} from 'unified'
@@ -58,10 +60,12 @@ export function createMdxLanguagePlugin(
5860
],
5961

6062
getServiceScript(root) {
61-
return {
62-
code: root.embeddedCodes[0],
63-
extension: '.jsx',
64-
scriptKind: 2
63+
if (root.embeddedCodes) {
64+
return {
65+
code: root.embeddedCodes[0],
66+
extension: '.jsx',
67+
scriptKind: 2
68+
}
6569
}
6670
},
6771

packages/language-service/lib/service-plugin.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,11 @@ export function createMdxServicePlugin() {
5858
name: 'mdx',
5959

6060
capabilities: {
61-
diagnosticProvider: {}
61+
diagnosticProvider: {
62+
interFileDependencies: false,
63+
workspaceDiagnostics: false
64+
},
65+
documentDropEditsProvider: true
6266
},
6367

6468
create(context) {
@@ -160,7 +164,7 @@ export function createMdxServicePlugin() {
160164
}
161165
},
162166

163-
provideSemanticDiagnostics(document) {
167+
provideDiagnostics(document) {
164168
const decoded = context.decodeEmbeddedDocumentUri(
165169
URI.parse(document.uri)
166170
)

packages/language-service/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
"@types/estree": "^1.0.0",
4242
"@types/mdast": "^4.0.0",
4343
"@types/unist": "^3.0.0",
44-
"@volar/language-service": "~2.3.0",
44+
"@volar/language-service": "~2.4.0",
4545
"estree-walker": "^3.0.0",
4646
"mdast-util-mdxjs-esm": "^2.0.0",
4747
"mdast-util-to-markdown": "^2.0.0",

packages/typescript-plugin/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
},
3131
"dependencies": {
3232
"@mdx-js/language-service": "0.5.7",
33-
"@volar/typescript": "~2.3.0",
33+
"@volar/typescript": "~2.4.0",
3434
"load-plugin": "^6.0.0",
3535
"remark-frontmatter": "^5.0.0",
3636
"remark-gfm": "^4.0.0"

packages/vscode-mdx/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@
4141
"devDependencies": {
4242
"@types/node": "^22.0.0",
4343
"@types/vscode": "^1.82.0",
44-
"@volar/language-server": "~2.3.0",
45-
"@volar/vscode": "~2.3.0",
44+
"@volar/language-server": "~2.4.0",
45+
"@volar/vscode": "~2.4.0",
4646
"@vscode/vsce": "^2.0.0",
4747
"esbuild": "^0.23.0",
4848
"ovsx": "^0.9.0"

0 commit comments

Comments
 (0)