slynk.asd (3527B)
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-match") 37 (:file "slynk-backend") 38 ;; If/when we require ASDF3, we shall use :if-feature instead 39 #+(or cmu sbcl scl) 40 (:file "slynk-source-path-parser") 41 #+(or cmu ecl sbcl scl) 42 (:file "slynk-source-file-cache") 43 #+clisp 44 (:file "xref") 45 #+(or clisp clozure clasp) 46 (:file "metering") 47 (:module "backend" 48 :serial t 49 :components (#+allegro 50 (:file "allegro") 51 #+armedbear 52 (:file "abcl") 53 #+clisp 54 (:file "clisp") 55 #+clozure 56 (:file "ccl") 57 #+cmu 58 (:file "cmucl") 59 #+cormanlisp 60 (:file "corman") 61 #+ecl 62 (:file "ecl") 63 #+lispworks 64 (:file "lispworks") 65 #+sbcl 66 (:file "sbcl") 67 #+clasp 68 (:file "clasp") 69 #+scl 70 (:file "scl") 71 #+mkcl 72 (:file "mkcl"))) 73 #-armedbear 74 (:file "slynk-gray") 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 (with-standard-io-syntax (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