|
|
- (require 'slime)
- (require 'slime-repl)
-
- (define-slime-contrib slime-banner
- "Persistent header line and startup animation."
- (:authors "Helmut Eller <heller@common-lisp.net>"
- "Luke Gorrie <luke@synap.se>")
- (:license "GPL")
- (:on-load (setq slime-repl-banner-function 'slime-startup-message))
- (:on-unload (setq slime-repl-banner-function 'slime-repl-insert-banner)))
-
- (defcustom slime-startup-animation (fboundp 'animate-string)
- "Enable the startup animation."
- :type '(choice (const :tag "Enable" t) (const :tag "Disable" nil))
- :group 'slime-ui)
-
- (defcustom slime-header-line-p (boundp 'header-line-format)
- "If non-nil, display a header line in Slime buffers."
- :type 'boolean
- :group 'slime-repl)
-
- (defun slime-startup-message ()
- (when slime-header-line-p
- (setq header-line-format
- (format "%s Port: %s Pid: %s"
- (slime-lisp-implementation-type)
- (slime-connection-port (slime-connection))
- (slime-pid))))
- (when (zerop (buffer-size))
- (let ((welcome (concat "; SLIME " slime-version)))
- (if slime-startup-animation
- (animate-string welcome 0 0)
- (insert welcome)))))
-
- (provide 'slime-banner)
|