From 02002e0dbac425bb873829faf1191146d91d5bc4 Mon Sep 17 00:00:00 2001 From: Sameer Rahmani Date: Sun, 4 Dec 2022 21:59:24 +0000 Subject: [PATCH] Add the guile cube with a LSP client --- core/cubes/scheme.el | 34 ++++++++++------------------------ 1 file changed, 10 insertions(+), 24 deletions(-) diff --git a/core/cubes/scheme.el b/core/cubes/scheme.el index 5960f69..e3f9fd1 100644 --- a/core/cubes/scheme.el +++ b/core/cubes/scheme.el @@ -28,37 +28,23 @@ (require 'fpkg) (require 'fg42/cube) + (defcube fg42/guile-cube - "This cube adds supports for GNU Guile Scheme via =geiser-guile= library. -For more info checkout [[https://www.nongnu.org/geiser/]]" - (:title "Guile Cube" - :flag guile + "This cube adds supports for GNU Guile Scheme via =emacs-lsp-scheme= library. +For more info checkout [[https://codeberg.org/rgherdt/emacs-lsp-scheme]]" + (:title "Scheme Cube" + :flag scheme :flag-default t) (fg42/rainbow-delimiters-cube) (fg42/paredit-cube) - (fpkg/use geiser-guile)) + (fpkg/use lsp-scheme + :hook (scheme-mode . lsp-scheme-guile) + :config + (add-hook 'scheme-mode-hook #'lsp-scheme) + (setq lsp-scheme-implementation "guile"))) -(defcube fg42/guix-cube - "This cube provides all the functionality necessary to use and develop -GNU Guix. It depends on the =fg42/guile-cube= and will execute it internally. - -If you want to develop guix pass the path to the guix source via =:src= -keyword (default is =~/src/guix=" - (:title "Guix Cube" - :flag guix - :flag-default t) - - (let ((src (or (plist-get fg42/guix-cube-params :src) - "~/src/guix"))) - (if-flag guile - (progn - (fg42/guile-cube) - (with-eval-after-load 'geiser-guile - (add-to-list 'geiser-guile-load-path src))) - (error "`fg42/guile-cube' cube in necessary to use `fg42/guix-cube'")))) - (provide 'cubes/scheme) ;;; scheme.el ends here