114 lines
2.9 KiB
EmacsLisp
114 lines
2.9 KiB
EmacsLisp
;; (require 'chicken)
|
|
|
|
(setq print-length nil
|
|
eval-expression-print-length nil)
|
|
|
|
;; (require 'slime)
|
|
(use-package slime
|
|
:commands (slime-setup)
|
|
:init (slime-setup)
|
|
:bind
|
|
(:map slime-mode-map
|
|
("M-n" . next-line)
|
|
("M-p" . previous-line)
|
|
("SPC" . self-insert-command))
|
|
:config
|
|
(setq inferior-lisp-program
|
|
;; "/usr/bin/ecl"
|
|
"/usr/bin/sbcl"))
|
|
|
|
(defun set-cl-repl-keys ()
|
|
(if (or (cp-buffer-name-match-p "^\*inferior-lisp\*\\(<[0-9]*>\\)?")
|
|
(eq major-mode 'lisp-mode))
|
|
(progn
|
|
(local-set-key (kbd "TAB") 'completion-at-point)
|
|
(local-set-key (kbd "M-q") 'sp-indent-defun))))
|
|
|
|
(add-hook 'slime-connected-hook 'set-cl-repl-keys)
|
|
(add-hook 'comint-mode-hook 'set-cl-repl-keys)
|
|
(add-hook 'lisp-mode-hook 'set-cl-repl-keys)
|
|
|
|
(setq scheme-program-name "csi -:c")
|
|
(setq comint-prompt-read-only t)
|
|
|
|
(add-to-list 'auto-mode-alist '("\\.scm\\'" . scheme-mode))
|
|
;; (add-to-list 'auto-mode-alist '("\\.scm\\'" . geiser-mode))
|
|
;; (require 'geiser)
|
|
|
|
(use-package geiser
|
|
:commands (run-chicken run-guile geiser-mode))
|
|
;; (with-eval-after-load 'geiser-mode
|
|
;; (setq geiser-mode-smart-tab-p t)
|
|
;; (define-key geiser-mode-map (kbd "C-.") nil)
|
|
;; ;; (cp-set-keys
|
|
;; ;; :unset t
|
|
;; ;; :keymap geiser-mode-map
|
|
;; ;; :bindings
|
|
;; ;; `((,(kbd "C-."))))
|
|
;; )
|
|
|
|
(use-package scheme-mode
|
|
:defer t
|
|
:interpreter "csi")
|
|
|
|
(defun contrapunctus-lisp-copy (arg)
|
|
"Run `whole-line-or-region-copy-region-as-kill' if region is
|
|
active, else `sp-copy-sexp'."
|
|
(interactive "P")
|
|
(if (region-active-p)
|
|
(whole-line-or-region-copy-region-as-kill arg)
|
|
(sp-copy-sexp arg)))
|
|
|
|
(use-package elisp-mode
|
|
:diminish
|
|
:bind
|
|
(:map emacs-lisp-mode-map
|
|
("<tab>" . 'company-indent-or-complete-common)
|
|
("<C-tab>" . 'outline-toggle-children)
|
|
("M-n" . 'outline-next-heading)
|
|
("M-p" . 'outline-previous-heading))
|
|
:config
|
|
(put 'cl-loop 'lisp-indent-function 'defun))
|
|
|
|
(use-package eldoc
|
|
:diminish
|
|
:if (featurep 'elisp-mode)
|
|
:init (add-hook 'emacs-lisp-mode-hook 'eldoc-mode)
|
|
:config (setq eldoc-idle-delay 0))
|
|
|
|
(use-package emr
|
|
:ensure t
|
|
:bind (:map prog-mode-map
|
|
("M-S-<return>" . emr-show-refactor-menu)))
|
|
|
|
(use-package projectile
|
|
:hook
|
|
(emacs-lisp-mode . projectile-mode))
|
|
|
|
(defun colorize-compilation-buffer ()
|
|
(ansi-color-apply-on-region compilation-filter-start
|
|
(point)))
|
|
|
|
(add-hook 'compilation-filter-hook 'colorize-compilation-buffer)
|
|
|
|
(use-package nameless
|
|
:ensure t
|
|
:commands nameless-mode
|
|
:init
|
|
(add-hook 'emacs-lisp-mode-hook 'nameless-mode)
|
|
(add-hook 'ert-results-mode-hook 'nameless-mode)
|
|
:bind (:map emacs-lisp-mode-map
|
|
("C-c C-n" . nameless-mode)))
|
|
|
|
(use-package explain-pause-mode
|
|
:disabled
|
|
:diminish
|
|
:commands explain-pause-mode
|
|
:init (explain-pause-mode))
|
|
|
|
(use-package exec-path-from-shell
|
|
:commands exec-path-from-shell-initialize
|
|
:init (exec-path-from-shell-initialize))
|
|
|
|
(provide 'cp-lisp)
|