From 4462c9d61d667561b8fe6247ce12da5109c800b6 Mon Sep 17 00:00:00 2001 From: caem Date: Thu, 22 May 2025 22:08:53 +0200 Subject: [PATCH] Emacs: Add scheme mode lsp --- .config/emacs/init.el | 5 +++++ README.org | 2 ++ scripts/install_dependencies | 16 +++++++++++++++- 3 files changed, 22 insertions(+), 1 deletion(-) mode change 100644 => 100755 scripts/install_dependencies diff --git a/.config/emacs/init.el b/.config/emacs/init.el index 9a96d2b..db5e776 100644 --- a/.config/emacs/init.el +++ b/.config/emacs/init.el @@ -139,6 +139,11 @@ (require 'lsp-pyright) (lsp)))) +(use-package lsp-scheme + :ensure t + :custom (lsp-scheme-implementation "guile") + :hook (scheme-mode . lsp-scheme)) + ;; === Major Modes === (setq-default indent-tabs-mode nil) diff --git a/README.org b/README.org index 46a4aa4..24196a0 100644 --- a/README.org +++ b/README.org @@ -16,6 +16,8 @@ TODO - Bash - C & C++ compiler - ag +- Guile (with headers) +- chicken ** installation #+begin_src sh diff --git a/scripts/install_dependencies b/scripts/install_dependencies old mode 100644 new mode 100755 index 7c1fe36..7204b20 --- a/scripts/install_dependencies +++ b/scripts/install_dependencies @@ -1,3 +1,17 @@ #!/usr/bin/env bash -echo "Unimplemented" +if ! grep /etc/os-release -e ID=fedora -q; then + echo "Currently only Fedora Linux is supported by this script" +fi + +sudo dnf install -y emacs ag guile30 guile30-devel chicken gcc + +sudo ln -svf "$(command -v guile3.0)" /usr/local/bin/guile +sudo ln -svf "$(command -v guild3.0)" /usr/local/bin/guild +sudo ln -svf "$(command -v guile-config3.0)" /usr/local/bin/guile-config +sudo ln -svf "$(command -v guile-tools3.0)" /usr/local/bin/guile-tools +sudo ln -svf "$(command -v guile-snarf3.0)" /usr/local/bin/guile-snarf + +cd `csi -R chicken.platform -p '(chicken-home)'` +curl https://3e8.org/pub/chicken-doc/chicken-doc-repo-5.tgz | sudo tar zx +chicken-install -s json-rpc r7rs apropos chicken-doc srfi-18 lsp-server