changeset 668: |
c687d7005ec7 |
parent 667: |
bb8aa1eda12b |
child 669: |
3966d52b0b2f |
author: |
Richard Westhaver <ellis@rwest.io> |
date: |
Mon, 23 Sep 2024 18:54:03 -0400 |
files: |
emacs/default.el emacs/lib/slime-repl-ansi-color.el |
description: |
add slime-repl-ansi-color |
1.1--- a/emacs/default.el Mon Sep 23 17:03:54 2024 -0400
1.2+++ b/emacs/default.el Mon Sep 23 18:54:03 2024 -0400
1.3@@ -224,7 +224,6 @@
1.4
1.5 ;;; Lisp
1.6 (use-package company :ensure t)
1.7-(use-package slime-repl-ansi-color :ensure t)
1.8
1.9 (defvar slime-toggle nil)
1.10 (defun slime-toggle ()
1.11@@ -243,10 +242,10 @@
1.12
1.13 (use-package slime
1.14 :ensure t
1.15- :after (slime-repl-ansi-color)
1.16- :init
1.17+ :config
1.18 (require 'slime-company "slime-company")
1.19 (require 'slime-cape "slime-cape")
1.20+ (require 'slime-repl-ansi-color "slime-repl-ansi-color")
1.21 (setq slime-contribs '(slime-fancy
1.22 slime-quicklisp
1.23 slime-hyperdoc
1.24@@ -269,9 +268,7 @@
1.25 slime-asdf))
1.26 (put 'make-instance 'common-lisp-indent-function 1)
1.27 (put 'reinitialize-instance 'common-lisp-indent-function 1)
1.28- (slime-repl-ansi-color-init)
1.29- (slime-cape-init)
1.30- (slime-setup)
1.31+ (slime-setup slime-contribs)
1.32 ;; X11-only (mcclim requires clx)
1.33 (defun clouseau-inspect (string)
1.34 "Inspect a lisp value with Clouseau. make sure to load clouseau
2.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000
2.2+++ b/emacs/lib/slime-repl-ansi-color.el Mon Sep 23 18:54:03 2024 -0400
2.3@@ -0,0 +1,36 @@
2.4+;;; lib/slime-repl-ansi-color.el --- https://github.com/deadtrickster/slime-repl-ansi-color -*- lexical-binding: t -*-
2.5+(require 'ansi-color)
2.6+
2.7+(define-slime-contrib slime-repl-ansi-color
2.8+ "Turn on ANSI colors in REPL output"
2.9+ (:authors "Max Mikhanosha")
2.10+ (:license "GPL")
2.11+ (:slime-dependencies slime-repl)
2.12+ (:on-load
2.13+ (add-hook 'slime-repl-mode-hook
2.14+ (lambda ()
2.15+ (slime-repl-ansi-on)))))
2.16+
2.17+(defvar slime-repl-ansi-color nil
2.18+ "When Non-NIL will process ANSI colors in the lisp output")
2.19+
2.20+(make-variable-buffer-local 'slime-repl-ansi-color)
2.21+
2.22+(defun slime-repl-ansi-on ()
2.23+ "Set `ansi-color-for-comint-mode' to t."
2.24+ (interactive)
2.25+ (setq slime-repl-ansi-color t))
2.26+
2.27+(defun slime-repl-ansi-off ()
2.28+ "Set `ansi-color-for-comint-mode' to t."
2.29+ (interactive)
2.30+ (setq slime-repl-ansi-color nil))
2.31+
2.32+(defadvice slime-repl-emit (around slime-repl-ansi-colorize activate compile)
2.33+ (with-current-buffer (slime-output-buffer)
2.34+ (let ((start slime-output-start))
2.35+ (setq ad-return-value ad-do-it)
2.36+ (when slime-repl-ansi-color
2.37+ (ansi-color-apply-on-region start slime-output-end)))))
2.38+
2.39+(provide 'slime-repl-ansi-color)