[Mlir-commits] [mlir] [emacs][lsp][tblgen] add tblgen-lsp-server support for emacs lsp-mode (PR #76337)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Wed Jan 8 11:07:46 PST 2025


https://github.com/mgcsysinfcat updated https://github.com/llvm/llvm-project/pull/76337

>From b530c6dfc9d2e098b3634ea720f0b0bfde0d411f Mon Sep 17 00:00:00 2001
From: mgcsysinfcat <p779yqwdf at mozmail.com>
Date: Sun, 24 Dec 2023 23:00:00 +0800
Subject: [PATCH 1/2] add tblgen-lsp-server support for lsp-mode

---
 mlir/utils/emacs/tblgen-lsp.el | 45 ++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)
 create mode 100644 mlir/utils/emacs/tblgen-lsp.el

diff --git a/mlir/utils/emacs/tblgen-lsp.el b/mlir/utils/emacs/tblgen-lsp.el
new file mode 100644
index 00000000000000..607459549193a1
--- /dev/null
+++ b/mlir/utils/emacs/tblgen-lsp.el
@@ -0,0 +1,45 @@
+;;; tblgen-lsp.el --- Description -*- lexical-binding: t; -*-
+;;
+;; Package-Requires: ((emacs "24.3"))
+;;
+;; This file is not part of GNU Emacs.
+;;
+;;; Commentary:
+;;  LSP clinet to use with `tablegen-mode' that uses `tblgen-lsp-server' or any
+;;  user made compatible server.
+;;
+;;
+;;; Code:
+
+
+(defgroup lsp-tblgen nil
+  "LSP support for Tablegen."
+  :group 'lsp-mode
+  :link '(url-link "https://mlir.llvm.org/docs/Tools/MLIRLSP/"))
+
+(defcustom lsp-tblgen-server-executable "tblgen-lsp-server"
+  "Command to start the mlir language server."
+  :group 'lsp-tblgen
+  :risky t
+  :type 'file)
+
+
+(defcustom lsp-tblgen-server-args ""
+  "Args of LSP client for TableGen "
+  :group 'lsp-tblgen
+  :risky t
+  :type 'file)
+
+(defun lsp-tblgen-setup ()
+  "Setup the LSP client for TableGen."
+  (add-to-list 'lsp-language-id-configuration '(tablegen-mode . "tablegen"))
+
+  (lsp-register-client
+   (make-lsp-client
+    :new-connection (lsp-stdio-connection (lambda () (cons lsp-tblgen-server-executable lsp-tblgen-server-args))); (concat "--tablegen-compilation-database=" lsp-tblgen-compilation-database-location) )))
+    :activation-fn (lsp-activate-on "tablegen")
+    :priority -1
+    :server-id 'tblgen-lsp-server)))
+
+(provide 'tblgen-lsp)
+;;; tblgen-lsp.el ends here

>From bda821407d1ce2a956a5a9ba06ae7bedd1635837 Mon Sep 17 00:00:00 2001
From: mgcsysinfcat <143941278+mgcsysinfcat at users.noreply.github.com>
Date: Thu, 9 Jan 2025 03:07:38 +0800
Subject: [PATCH 2/2] Update mlir/utils/emacs/tblgen-lsp.el

Co-authored-by: Ronan Keryell <ronan.keryell at amd.com>
---
 mlir/utils/emacs/tblgen-lsp.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mlir/utils/emacs/tblgen-lsp.el b/mlir/utils/emacs/tblgen-lsp.el
index 607459549193a1..d0e9a4e8dbc381 100644
--- a/mlir/utils/emacs/tblgen-lsp.el
+++ b/mlir/utils/emacs/tblgen-lsp.el
@@ -36,7 +36,7 @@
 
   (lsp-register-client
    (make-lsp-client
-    :new-connection (lsp-stdio-connection (lambda () (cons lsp-tblgen-server-executable lsp-tblgen-server-args))); (concat "--tablegen-compilation-database=" lsp-tblgen-compilation-database-location) )))
+    :new-connection (lsp-stdio-connection (lambda () (cons lsp-tblgen-server-executable (split-string-shell-command lsp-tblgen-server-args))))
     :activation-fn (lsp-activate-on "tablegen")
     :priority -1
     :server-id 'tblgen-lsp-server)))



More information about the Mlir-commits mailing list