From 03e286feb4fd3d132ecdefe031cad46ca68d47cb Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sun, 14 Sep 2025 23:17:31 -0400 Subject: [PATCH] docs(lsp): add demos.org Picked up by the :lang emacs-lisp module's elisp-demos package when displaying help.el/helpful documentation. --- modules/tools/lsp/demos.org | 40 +++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 modules/tools/lsp/demos.org diff --git a/modules/tools/lsp/demos.org b/modules/tools/lsp/demos.org new file mode 100644 index 000000000..b107f140a --- /dev/null +++ b/modules/tools/lsp/demos.org @@ -0,0 +1,40 @@ +#+title: :tools lsp API demos +#+property: header-args:elisp :results pp :exports both :eval never-export + +* set-eglot-client! +#+begin_src emacs-lisp +;; For setting a single server command: +(set-eglot-client! 'python-mode + `(,(concat doom-data-dir \"lsp/mspyls/Microsoft.Python.LanguageServer\"))) + +;; This is equivalent to +(with-eval-after-load 'eglot + (add-to-list 'eglot-server-programs `(python-mode . (,(concat doom-data-dir "lsp/mspyls/Microsoft.Python.LanguageServer\"))))) +#+end_src + +#+begin_src emacs-lisp +(set-eglot-client! '(python-mode python-ts-mode) + "pylsp" "pyls" + '("basedpyright" "--stdio") + '("basedpyright-langserver" "--stdio") + '("pyright" "--stdio") + '("pyright-langserver" "--stdio") + '("pyrefly" "lsp") + "jedi-language-server" + '("ruff" "server") + "ruff-lsp") + +;; This is equivalent to +(with-eval-after-load 'eglot + (add-to-list 'eglot-server-programs + `(python-mode + . ,(eglot-alternatives '("pylsp" "pyls" + ("basedpyright" "--stdio") + ("basedpyright-langserver" "--stdio") + ("pyright" "--stdio") + ("pyright-langserver" "--stdio") + ("pyrefly" "lsp") + "jedi-language-server" + ("ruff" "server") + "ruff-lsp")))))) +#+end_src