From fd1f524aff8c17a818e2ab0e483022ac2d6e4898 Mon Sep 17 00:00:00 2001 From: Tu Do Date: Tue, 31 Mar 2015 12:42:13 +0700 Subject: [PATCH] Improve SLIME layer - Use slime for indentation - Add extension for SBCL - Allow to create a common lisp scratch buffer with slime-scratch - Enable fuzzy completion with score. - Don't enable SLIME in Emacs Lisp. It's not usable. The SLIME of Emacs Lisp is Emacs itself. --- contrib/slime/packages.el | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/contrib/slime/packages.el b/contrib/slime/packages.el index 27b03a2c1..00a3e8f86 100644 --- a/contrib/slime/packages.el +++ b/contrib/slime/packages.el @@ -23,11 +23,22 @@ which require an initialization must be listed explicitly in the list.") :commands slime-mode :init (progn - (setq slime-contribs '(slime-fancy) + (setq slime-contribs '(slime-fancy + slime-indentation + slime-sbcl-exts + slime-scratch) inferior-lisp-program "sbcl") - (add-to-hooks 'slime-mode '(lisp-mode-hook - emacs-lisp-mode-hook - scheme-mode-hook))) + + ;; enable fuzzy matching in code buffer and SLIME REPL + (setq slime-complete-symbol*-fancy t) + (setq slime-complete-symbol-function 'slime-fuzzy-complete-symbol) + + ;; enabel smartparen in code buffer and SLIME REPL + (add-hook 'slime-repl-mode-hook #'smartparens-strict-mode) + + (add-to-hooks 'slime-mode '(lisp-mode-hook scheme-mode-hook))) :config (message "loading slime...") - (slime-setup))) + (slime-setup) + (dolist (m `(,slime-mode-map ,slime-repl-mode-map)) + (define-key m [(tab)] 'slime-fuzzy-complete-symbol))))