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

llvmlistbot at llvm.org llvmlistbot at llvm.org
Mon Apr 13 22:54:33 PDT 2026


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-mlir

Author: Jacques Pienaar (jpienaar)

<details>
<summary>Changes</summary>

Fixes lvm/vscode-mlir#<!-- -->9

---
Full diff: https://github.com/llvm/llvm-project/pull/191957.diff


2 Files Affected:

- (modified) mlir/utils/vscode/package.json (+18) 
- (modified) mlir/utils/vscode/src/mlirContext.ts (+12) 


``````````diff
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.

``````````

</details>


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


More information about the Mlir-commits mailing list