diff --git a/roles/config/files/.config/doom/config.el b/roles/config/files/.config/doom/config.el index f1b3e774f..a4b8f0411 100644 --- a/roles/config/files/.config/doom/config.el +++ b/roles/config/files/.config/doom/config.el @@ -192,8 +192,23 @@ (list #'company-ansible))) )) +;; gleam-mode +(use-package! gleam-ts-mode + :mode (rx ".gleam" eos)) + +(after! treesit + (add-to-list 'auto-mode-alist '("\\.gleam$" . gleam-ts-mode))) + +(after! gleam-ts-mode + (unless (treesit-language-available-p 'gleam) + (gleam-ts-install-grammar))) + ;; Eglot LSP ;; Documentation: https://discourse.doomemacs.org/t/set-up-lsp-mode-or-eglot-for-insert-language-here/62#how-to-use-a-custom-server-12 +;; powershell (set-eglot-client! 'powershell-mode '("pwsh" "-NoLogo" "-NoProfile" "-Command" "/opt/powershell-editor-services/PowerShellEditorServices/Start-EditorServices.ps1" "-HostName" "Emacs" "-HostProfileId" "Emacs" "-HostVersion" "1.0.0" "-Stdio")) +;; fish (set-eglot-client! 'fish-mode '("fish-lsp" "start")) +;; gleam +(set-eglot-client! 'gleam-ts-mode '("gleam" "lsp")) diff --git a/roles/config/files/.config/doom/packages.el b/roles/config/files/.config/doom/packages.el index 5c1f32e64..2d262f495 100644 --- a/roles/config/files/.config/doom/packages.el +++ b/roles/config/files/.config/doom/packages.el @@ -65,3 +65,11 @@ ;; ansible completion (package! company-ansible) + +;; gleam treesitter +(package! gleam-ts-mode + :recipe (:host github + :repo "gleam-lang/gleam-mode" + :branch "main" + + :files ("gleam-ts-*.el")))