Skip to content

Commit 8b7cf56

Browse files
author
Loïc Mangeonjean
committed
feat: override some default configurations
1 parent aee6bb0 commit 8b7cf56

File tree

3 files changed

+26
-3
lines changed

3 files changed

+26
-3
lines changed

src/extensionConfiguration.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { loadConfigurationForExtension } from '@codingame/monaco-editor-wrapper/features/extensionConfigurations'
2+
import { registerDefaultConfigurations } from '@codingame/monaco-editor-wrapper'
23
import { LanguageClientOptions } from './languageClientOptions'
34

45
/**
@@ -17,4 +18,6 @@ export async function loadExtensionConfigurations (clientOptions: LanguageClient
1718
}
1819

1920
await Promise.all(Array.from(extensionConfigurationToLoad).map(extensionId => loadConfigurationForExtension(extensionId)))
21+
22+
registerDefaultConfigurations(clientOptions.map(clientOption => clientOption.defaultConfigurationOverride).filter(<T> (v: T): v is Exclude<T, null | undefined> => v != null))
2023
}

src/languageClientOptions.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import staticOptions, { StaticLanguageClientId } from './staticOptions'
44

55
export type LanguageClientOptions = Pick<MonacoLanguageClientOptions, 'documentSelector' | 'synchronize' | 'initializationOptions' | 'middleware'> & {
66
vscodeExtensionIds?: string[]
7+
defaultConfigurationOverride?: Record<string, unknown>
78
/**
89
* Is this language server mutualizable by the CodinGame mutualized proxy
910
*/

src/staticOptions.ts

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,9 @@ const staticOptions = asLanguageClientOptionsById({
108108
},
109109
mutualizable: false,
110110
vscodeExtensionIds: ['cobol'],
111+
defaultConfigurationOverride: {
112+
'cobol-lsp.subroutine-manager.paths-local': ['/tmp/project']
113+
},
111114
async createAdditionalFeatures (client) {
112115
const { CobolResolveSubroutineFeature } = await import('./extensions/cobol')
113116
return [
@@ -212,7 +215,12 @@ const staticOptions = asLanguageClientOptionsById({
212215
configurationSection: 'Lua'
213216
},
214217
mutualizable: true,
215-
vscodeExtensionIds: ['lua']
218+
vscodeExtensionIds: ['lua'],
219+
defaultConfigurationOverride: {
220+
'Lua.runtime.version': 'Lua 5.4',
221+
'Lua.diagnostics.enable': true,
222+
'Lua.diagnostics.disable': ['lowercase-global']
223+
}
216224
},
217225
mysql: {
218226
documentSelector: [{
@@ -314,7 +322,10 @@ const staticOptions = asLanguageClientOptionsById({
314322
configurationSection: 'r.lsp'
315323
},
316324
mutualizable: true,
317-
vscodeExtensionIds: ['vscode-R']
325+
vscodeExtensionIds: ['vscode-R'],
326+
defaultConfigurationOverride: {
327+
'r.lsp.diagnostics': false
328+
}
318329
},
319330
react: {
320331
documentSelector: [
@@ -334,6 +345,10 @@ const staticOptions = asLanguageClientOptionsById({
334345
],
335346
mutualizable: true,
336347
vscodeExtensionIds: ['solargraph'],
348+
defaultConfigurationOverride: {
349+
'solargraph.diagnostics': true,
350+
'solargraph.formatting': true
351+
},
337352
synchronize: {
338353
configurationSection: 'solargraph'
339354
}
@@ -397,7 +412,11 @@ const staticOptions = asLanguageClientOptionsById({
397412
}
398413
],
399414
mutualizable: false,
400-
vscodeExtensionIds: ['svlangserver']
415+
vscodeExtensionIds: ['svlangserver'],
416+
defaultConfigurationOverride: {
417+
'systemverilog.linter': 'icarus',
418+
'systemverilog.launchConfiguration': 'iverilog -g2012 -t null'
419+
}
401420
},
402421
vue: {
403422
documentSelector: [

0 commit comments

Comments
 (0)