From f1e9996b8ac0387cc89de164db561de343170bba Mon Sep 17 00:00:00 2001 From: Sanchayan Maity Date: Sun, 24 Feb 2019 20:11:30 +0530 Subject: [PATCH] init.el: Add support for scheme Signed-off-by: Sanchayan Maity --- init.el | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/init.el b/init.el index e9421b9..bc9c782 100644 --- a/init.el +++ b/init.el @@ -520,6 +520,77 @@ "tf" '(slime-toggle-fancy-trace)) +(general-define-key + :states '(normal visual emacs) + :prefix "SPC m" + :keymaps 'scheme-mode-map + "'" '(geiser-mode-switch-to-repl) + "," '(lisp-state-toggle-lisp-state) + "cc" '(geiser-compile-current-buffer + :which-key "compile current buffer") + "cp" '(geiser-add-to-load-path + :which-key "add directory to load path") + + "eb" '(geiser-eval-buffer + :which-key "evaluate the whole buffer") + "ee" '(geiser-eval-last-sexp + :which-key "evaluate last sexp") + "ef" '(geiser-eval-definition + :which-key "evaluate current function") + "el" '(lisp-state-eval-sexp-end-of-line + :which-key "evaluate line") + "er" '(geiser-eval-region + :which-key "evaluate region") + + "gb" '(geiser-pop-symbol-stack + :which-key "go back") + "gm" '(geiser-edit-module + :which-key "goto module") + "gn" '(next-error + :which-key "next error") + "gN" '(previous-error + :which-key "previous error") + + "hh" '(geiser-doc-symbol-at-point + :which-key "docs for symbol at point") + "hd" '(geiser-doc-look-up-manual + :which-key "look up manual entry for symbol at point") + "hm" '(geiser-doc-module + :which-key "display exports for module") + "h<" '(geiser-xref-callers + :which-key "display callers") + "h>" '(geiser-xref-callees + :which-key "display callees") + + "il" '(geiser-insert-lambda + :which-key "insert lambda") + + "me" '(geiser-expand-last-sexp + :which-key "macroexpand last sexp") + "mf" '(geiser-expand-definition + :which-key "macroexpand surrounding sexp") + "mx" '(geiser-expand-region + :which-key "macroexpand region") + + "si" '(geiser-mode-switch-to-repl + :which-key "start or switch to repl") + "sb" '(geiser-eval-buffer + :which-key "send buffer to repl") + "sB" '(geiser-eval-buffer-and-go + :which-key "send buffer to repl and focus it") + "sf" '(geiser-eval-definition + :which-key "send definition to repl") + "sF" '(geiser-eval-definition-and-go + :which-key "send definition to repl and focus it") + "se" '(geiser-eval-last-sexp + :which-key "send last sexp to repl") + "sr" '(geiser-eval-region + :which-key "send region to repl") + "sR" '(geiser-eval-region-and-go + :which-key "send region to repl and focus it") + "ss" '(geiser-set-scheme + :which-key "select scheme implementation")) + (general-define-key :states '(normal visual emacs) :prefix "SPC m" @@ -795,6 +866,13 @@ :config (slime-setup)) +;; scheme support +(use-package geiser + :defer t + :commands run-geiser + :hook + (scheme-mode . company-mode)) + ;; go support (use-package company-go :defer t