dotemacs/contrapunctus/cp-lisp.el

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)