Skip to content

Commit 38a3201

Browse files
authored
Pass arguments to LSP (#446) (#497)
1 parent 11dd164 commit 38a3201

File tree

4 files changed

+61
-0
lines changed

4 files changed

+61
-0
lines changed

CHANGELOG.md

+5
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file.
44

55
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)\
66

7+
## [Unreleased]
8+
9+
## Added
10+
- Pass arguments to lsp [#446][https://github.com/mshr-h/vscode-verilog-hdl-support/issues/446]
11+
712
## [1.14.3] - 2024-07-30
813

914
## Added

README.md

+20
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,10 @@ Use the following settings to configure the extension to your needs.
216216

217217
\[Experimental\] A path to the svls Language Server binary.
218218

219+
- `verilog.languageServer.svls.arguments'`(Default: '')
220+
221+
\[Experimental\] Add custom arguments for the Svls Language Server.
222+
219223
- `verilog.languageServer.veridian.enabled` (Default: `false`)
220224

221225
\[Experimental\] Enable veridian Language Server for SystemVerilog.
@@ -224,6 +228,10 @@ Use the following settings to configure the extension to your needs.
224228

225229
\[Experimental\] A path to the veridian Language Server binary.
226230

231+
- `verilog.languageServer.veridian.arguments'`(Default: '')
232+
233+
\[Experimental\] Add custom arguments for the Veridian Language Server.
234+
227235
- `verilog.languageServer.hdlChecker.enabled` (Default: `false`)
228236

229237
\[Experimental\] Enable HDL Checker Language Server for Verilog-HDL, SystemVerilog, and VHDL.
@@ -232,6 +240,10 @@ Use the following settings to configure the extension to your needs.
232240

233241
\[Experimental\] A path to the HDL Checker Language Server binary.
234242

243+
- `verilog.languageServer.hdlChecker.arguments'`(Default: '')
244+
245+
\[Experimental\] Add custom arguments for the HDL Checker Language Server.
246+
235247
- `verilog.languageServer.veribleVerilogLs.enabled` (Default: `false`)
236248

237249
\[Experimental\] Enable verible-verilog-ls Language Server for SystemVerilog.
@@ -240,6 +252,10 @@ Use the following settings to configure the extension to your needs.
240252

241253
\[Experimental\] A path to the verible-verilog-ls Language Server binary.
242254

255+
- `verilog.languageServer.veribleVerilogLs.arguments'`(Default: '')
256+
257+
\[Experimental\] Add custom arguments for the verible-verilog-ls Language Server.
258+
243259
- `verilog.languageServer.rustHdl.enabled` (Default: `false`)
244260

245261
\[Experimental\] Enable rust_hdl Language Server for VHDL.
@@ -248,6 +264,10 @@ Use the following settings to configure the extension to your needs.
248264

249265
\[Experimental\] A path to the rust_hdl Language Server binary.
250266

267+
- `verilog.languageServer.rustHdl.arguments'`(Default: '')
268+
269+
\[Experimental\] Add custom arguments for the rust_hdl Language Server.
270+
251271
- `verilog.formatting.verilogHDL.formatter` (Default: `verilog-format`)
252272

253273
\[Experimental\] Choose the Verilog-HDL formatter. Possible values are:

package.json

+30
Original file line numberDiff line numberDiff line change
@@ -390,6 +390,12 @@
390390
"default": "svls",
391391
"description": "[Experimental] A path to the Svls Language Server binary."
392392
},
393+
"verilog.languageServer.svls.arguments": {
394+
"scope": "window",
395+
"type": "string",
396+
"default": "",
397+
"description": "[Experimental] Add custom arguments for the Svls Language Server."
398+
},
393399
"verilog.languageServer.veridian.enabled": {
394400
"scope": "window",
395401
"type": "boolean",
@@ -402,12 +408,24 @@
402408
"default": "veridian",
403409
"description": "[Experimental] A path to the Veridian Language Server binary."
404410
},
411+
"verilog.languageServer.veridian.arguments": {
412+
"scope": "window",
413+
"type": "string",
414+
"default": "",
415+
"description": "[Experimental] Add custom arguments for the HDL Checker Veridian Language Server."
416+
},
405417
"verilog.languageServer.hdlChecker.enabled": {
406418
"scope": "window",
407419
"type": "boolean",
408420
"default": false,
409421
"description": "[Experimental] Enable HDL Checker Language Server for Verilog-HDL, SystemVerilog, and VHDL."
410422
},
423+
"verilog.languageServer.hdlChecker.arguments": {
424+
"scope": "window",
425+
"type": "string",
426+
"default": "",
427+
"description": "[Experimental] Add custom arguments for the HDL Checker Language Server."
428+
},
411429
"verilog.languageServer.veribleVerilogLs.enabled": {
412430
"scope": "window",
413431
"type": "boolean",
@@ -420,6 +438,12 @@
420438
"default": "verible-verilog-ls",
421439
"description": "[Experimental] A path to the verible-verilog-ls Language Server binary."
422440
},
441+
"verilog.languageServer.veribleVerilogLs.arguments": {
442+
"scope": "window",
443+
"type": "string",
444+
"default": "",
445+
"description": "[Experimental] Add custom arguments for the verible-verilog-ls Language Server."
446+
},
423447
"verilog.languageServer.hdlChecker.path": {
424448
"scope": "window",
425449
"type": "string",
@@ -438,6 +462,12 @@
438462
"default": "vhdl_ls",
439463
"description": "[Experimental] A path to the Rust hdl Language Server binary."
440464
},
465+
"verilog.languageServer.rustHdl.arguments": {
466+
"scope": "window",
467+
"type": "string",
468+
"default": "",
469+
"description": "[Experimental] Add custom arguments for the Rust hdl Language Server."
470+
},
441471
"verilog.formatting.verilogHDL.formatter": {
442472
"scope": "window",
443473
"type": "string",

src/extension.ts

+6
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,12 @@ function setupLanguageClient(
204204
let enabled: boolean = <boolean>settings.get('enabled', false);
205205

206206
let binPath = <string>settings.get('path', defaultPath);
207+
let customArgs = <string>settings.get('arguments');
208+
209+
if (customArgs) {
210+
serverArgs.push(customArgs);
211+
serverDebugArgs.push(customArgs);
212+
}
207213

208214
let serverOptions: ServerOptions = {
209215
run: { command: binPath, args: serverArgs },

0 commit comments

Comments
 (0)