[Mlir-commits] [mlir] Enable disable LSPs in extension (PR #191957)

Jacques Pienaar llvmlistbot at llvm.org
Mon Apr 13 22:53:48 PDT 2026


https://github.com/jpienaar created https://github.com/llvm/llvm-project/pull/191957

Fixes lvm/vscode-mlir#9

>From ee9ae0d344318bdd41fb1b34adc5e4299279e6b8 Mon Sep 17 00:00:00 2001
From: Jacques Pienaar <jacques+gh at japienaar.info>
Date: Tue, 14 Apr 2026 05:53:38 +0000
Subject: [PATCH] [jj-spr] initial version

Created using jj-spr 0.1.0
---
 mlir/utils/vscode/package.json       | 18 ++++++++++++++++++
 mlir/utils/vscode/src/mlirContext.ts | 12 ++++++++++++
 2 files changed, 30 insertions(+)

diff --git a/mlir/utils/vscode/package.json b/mlir/utils/vscode/package.json
index c52da0af1b18b..93e8ac3f67a5c 100644
--- a/mlir/utils/vscode/package.json
+++ b/mlir/utils/vscode/package.json
@@ -154,6 +154,12 @@
       "type": "object",
       "title": "MLIR",
       "properties": {
+        "mlir.enable": {
+          "scope": "resource",
+          "type": "boolean",
+          "default": true,
+          "description": "Enable the MLIR language server (mlir-lsp-server)."
+        },
         "mlir.server_path": {
           "scope": "resource",
           "type": "string",
@@ -164,6 +170,12 @@
           "type": "array",
           "description": "A list of additional arguments for mlir-lsp-server executable. E.g. --log=verbose."
         },
+        "mlir.pdll_enable": {
+          "scope": "resource",
+          "type": "boolean",
+          "default": true,
+          "description": "Enable the MLIR PDLL language server (mlir-pdll-lsp-server)."
+        },
         "mlir.pdll_server_path": {
           "scope": "resource",
           "type": "string",
@@ -179,6 +191,12 @@
           "type": "array",
           "description": "A list of additional arguments for pdll-lsp-server executable. E.g. --log=verbose."
         },
+        "mlir.tablegen_enable": {
+          "scope": "resource",
+          "type": "boolean",
+          "default": true,
+          "description": "Enable the MLIR TableGen language server (tblgen-lsp-server)."
+        },
         "mlir.tablegen_server_path": {
           "scope": "resource",
           "type": "string",
diff --git a/mlir/utils/vscode/src/mlirContext.ts b/mlir/utils/vscode/src/mlirContext.ts
index e12aa92522d08..2738b41cb0ad6 100644
--- a/mlir/utils/vscode/src/mlirContext.ts
+++ b/mlir/utils/vscode/src/mlirContext.ts
@@ -93,6 +93,14 @@ export class MLIRContext implements vscode.Disposable {
       folderContext = new WorkspaceFolderContext();
       this.workspaceFolders.set(workspaceFolderStr, folderContext);
     }
+
+    // Check to see if the language client should be enabled.
+    const enableSettingName =
+        (languageId === 'mlir') ? 'enable' : `${languageId}_enable`;
+    if (!config.get<boolean>(enableSettingName, workspaceFolder, true)) {
+      return null;
+    }
+
     // Start the client for this language if necessary.
     let client = folderContext.clients.get(languageId);
     if (!client) {
@@ -194,6 +202,10 @@ export class MLIRContext implements vscode.Disposable {
         workspaceFolder, outputChannel, serverSettingName, languageName,
         additionalServerArgs);
     configsToWatch.push(serverSettingName);
+
+    const enableSettingName =
+        (languageName === 'mlir') ? 'enable' : `${languageName}_enable`;
+    configsToWatch.push(enableSettingName);
     filepathsToWatch.push(serverPath);
 
     // Watch for configuration changes on this folder.



More information about the Mlir-commits mailing list