Add the guile cube with a LSP client
This commit is contained in:
parent
99fc162767
commit
02002e0dba
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue