1
0
Fork 0
mirror of synced 2024-11-05 17:08:57 -05:00
ultimate-vim/sources_non_forked/slimv/slime/start-swank.lisp
2022-06-05 18:14:25 +08:00

40 lines
1.3 KiB
Common Lisp

;;; This file is intended to be loaded by an implementation to
;;; get a running swank server
;;; e.g. sbcl --load start-swank.lisp
;;;
;;; Default port is 4005
;;; For additional swank-side configurations see
;;; 6.2 section of the Slime user manual.
;;;
;;; Modified for Slimv:
;;; - don't close connection
;;; - pass swank port in environment variable
(load (merge-pathnames "swank-loader.lisp" *load-truename*))
(swank-loader:init
:delete nil ; delete any existing SWANK packages
:reload nil ; reload SWANK, even if the SWANK package already exists
:load-contribs nil ; load all contribs
:from-emacs nil) ; not started from emacs
(defun my-getenv (name &optional default)
#+CMU
(let ((x (assoc name ext:*environment-list*
:test #'string=)))
(if x (cdr x) default))
#-CMU
(or
#+Allegro (sys:getenv name)
#+CLISP (ext:getenv name)
#+ECL (si:getenv name)
#+SBCL (sb-unix::posix-getenv name)
#+LISPWORKS (lispworks:environment-variable name)
#+CCL (ccl::getenv name)
default))
(swank:create-server :port (parse-integer (my-getenv "SWANK_PORT" "4005"))
;; if non-nil the connection won't be closed
;; after connecting
:dont-close t)