dotemacs

My Emacs configuration
git clone git://git.entf.net/dotemacs
Log | Files | Refs | LICENSE

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