slynk.asd (3501B)
1 ;;; -*- lisp -*- 2 (in-package :asdf) 3 4 ;; ASDF system definition for loading the Slynk server independently 5 ;; of Emacs. 6 ;; 7 ;; Usage: 8 ;; 9 ;; (push #p"/path/to/this/file/" asdf:*central-registry*) 10 ;; (asdf:load-system :slynk) 11 ;; (slynk:create-server :port PORT) => ACTUAL-PORT 12 ;; 13 ;; (PORT can be zero to mean "any available port".) 14 ;; Then the Slynk server is running on localhost:ACTUAL-PORT. You can 15 ;; use `M-x sly-connect' to connect Emacs to it. 16 ;; 17 ;; This code has been placed in the Public Domain. All warranties 18 ;; are disclaimed. 19 20 (defsystem :slynk 21 :serial t 22 ;; See commit message and GitHub#502, GitHub#501 for the reason 23 ;; for this dedicated sbcl muffling. 24 #+sbcl 25 :around-compile 26 #+sbcl 27 (lambda (thunk) 28 (handler-bind (((and warning (not style-warning)) 29 (lambda (c) 30 (format *error-output* "~&~@<~S: ~3i~:_~A~:>~%" 31 (class-name (class-of c)) c) 32 (muffle-warning c)))) 33 (let ((sb-ext:*on-package-variance* '(:warn t))) 34 (funcall thunk)))) 35 :components 36 ((:file "slynk-backend") 37 ;; If/when we require ASDF3, we shall use :if-feature instead 38 #+(or cmu sbcl scl) 39 (:file "slynk-source-path-parser") 40 #+(or cmu ecl sbcl scl) 41 (:file "slynk-source-file-cache") 42 #+clisp 43 (:file "xref") 44 #+(or clisp clozure clasp) 45 (:file "metering") 46 (:module "backend" 47 :serial t 48 :components (#+allegro 49 (:file "allegro") 50 #+armedbear 51 (:file "abcl") 52 #+clisp 53 (:file "clisp") 54 #+clozure 55 (:file "ccl") 56 #+cmu 57 (:file "cmucl") 58 #+cormanlisp 59 (:file "corman") 60 #+ecl 61 (:file "ecl") 62 #+lispworks 63 (:file "lispworks") 64 #+sbcl 65 (:file "sbcl") 66 #+clasp 67 (:file "clasp") 68 #+scl 69 (:file "scl") 70 #+mkcl 71 (:file "mkcl"))) 72 #-armedbear 73 (:file "slynk-gray") 74 (:file "slynk-match") 75 (:file "slynk-rpc") 76 (:file "slynk") 77 (:file "slynk-completion") 78 (:file "slynk-apropos"))) 79 80 (defmethod perform :after ((o load-op) (c (eql (find-system :slynk)))) 81 (format *debug-io* "~&SLYNK's ASDF loader finished.") 82 (funcall (read-from-string "slynk::init"))) 83 84 85 ;;; Contrib systems (should probably go into their own file one day) 86 ;;; 87 (defsystem :slynk/arglists 88 :depends-on (:slynk) 89 :components ((:file "../contrib/slynk-arglists"))) 90 91 (defsystem :slynk/fancy-inspector 92 :depends-on (:slynk) 93 :components ((:file "../contrib/slynk-fancy-inspector"))) 94 95 (defsystem :slynk/package-fu 96 :depends-on (:slynk) 97 :components ((:file "../contrib/slynk-package-fu"))) 98 99 (defsystem :slynk/mrepl 100 :depends-on (:slynk) 101 :components ((:file "../contrib/slynk-mrepl"))) 102 103 (defsystem :slynk/trace-dialog 104 :depends-on (:slynk) 105 :components ((:file "../contrib/slynk-trace-dialog"))) 106 107 (defsystem :slynk/profiler 108 :depends-on (:slynk) 109 :components ((:file "../contrib/slynk-profiler"))) 110 111 (defsystem :slynk/stickers 112 :depends-on (:slynk) 113 :components ((:file "../contrib/slynk-stickers"))) 114 115 (defsystem :slynk/indentation 116 :depends-on (:slynk) 117 :components ((:file "../contrib/slynk-indentation"))) 118 119 (defsystem :slynk/retro 120 :depends-on (:slynk) 121 :components ((:file "../contrib/slynk-retro"))) 122