diff options
Diffstat (limited to 'l/src')
| -rw-r--r-- | l/src/config.lisp | 27 | ||||
| -rw-r--r-- | l/src/main.lisp | 17 | ||||
| -rw-r--r-- | l/src/option.lisp | 1 | 
3 files changed, 31 insertions, 14 deletions
| diff --git a/l/src/config.lisp b/l/src/config.lisp index f826537..d01a1fd 100644 --- a/l/src/config.lisp +++ b/l/src/config.lisp @@ -14,6 +14,11 @@       :initform nil       :reader reload-current-tab       :documentation "True if the current tab should be reloaded") +   (debug-output +     :initarg :debug-output +     :initform nil +     :reader debug-output +     :documentation "True to enable debug output")     (ws-client       :reader ws-client @@ -21,16 +26,26 @@  (defmethod print-object ((object config) stream)    (print-unreadable-object (object stream :type t) -    (with-slots (socket-url extension-ids reload-current-tab ws-client) object -      (format stream -              ":socket-url ~s :extension-ids ~s :reload-current-tab ~s :ws-client ~s" -              socket-url extension-ids reload-current-tab ws-client)))) +    (with-slots (socket-url +                  extension-ids +                  reload-current-tab +                  debug-output +                  ws-client) +      object +      (format +        stream +        ":socket-url ~s :extension-ids ~s :reload-current-tab ~s :debug-output ~s :ws-client ~s" +        socket-url extension-ids reload-current-tab debug-output ws-client)))) -(defun make-config (&key socket-url extension-ids reload-current-tab) +(defun make-config (&key socket-url +                         extension-ids +                         reload-current-tab +                         debug-output)    (let ((config (make-instance 'config                                 :socket-url socket-url                                 :extension-ids extension-ids -                               :reload-current-tab reload-current-tab))) +                               :reload-current-tab reload-current-tab +                               :debug-output debug-output)))      ;; Initialise a new websocket-driver client      (setf (slot-value config 'ws-client) (wsd:make-client socket-url)) diff --git a/l/src/main.lisp b/l/src/main.lisp index 6f6ed6b..8df0172 100644 --- a/l/src/main.lisp +++ b/l/src/main.lisp @@ -18,6 +18,9 @@    (:name :reload-current-tab           :description "pass this to reload the active Chrome tab"           :long "reload-current-tab") +  (:name :debug +         :description "print debug output" +         :long "debug")    (:name :help           :description "print this help menu"           :short #\h @@ -42,18 +45,19 @@                        (ws-on-message                         message                         (extension-ids config) -                       (reload-current-tab config)))) +                       config)))            (websocket-send *client* (target-get-targets-msg                                      (next-call-id *devtools-root-call-id*)))            (wait-group:wait *wg*)))))) -(defun ws-on-message (message extension-ids reload-current-tab) +(defun ws-on-message (message extension-ids config)    (let* ((response (jsown:parse message))           (targets (parse-get-targets-response response))) -    (format t "Response: ~a~%" response) -    (format t "~a~%" *wg*) +    (when (debug-output config) +      (format t "Response: ~a~%" response) +      (format t "~a~%" *wg*))      (when targets        (let ((targets (extension-targets targets))) @@ -66,9 +70,8 @@                              (json-obj-get response "params")                              "sessionId"))) -    (when (and reload-current-tab +    (when (and (reload-current-tab config)                 (runtime-evaluate-msg-p response)) -      (format t "Reloading based on response: ~a~%" response)        (reload-tab (json-obj-get                      (json-obj-get response "result")                      "sessionId"))) @@ -108,7 +111,6 @@  (defun reload-extension (session-id)    ;; Use call ID "1" as this is the first message sent to the attached target. -  (format t "reloading EXTENSION~%")    (setf *last-session-id* session-id)    (websocket-send      *client* @@ -122,7 +124,6 @@  (defun reload-tab (session-id)    ;; Use call ID "2" as this will always be sent after a `reload-extension`    ;; message. -  (format t "reloading NOW~%")    (websocket-send      *client*      (runtime-evaluate-msg diff --git a/l/src/option.lisp b/l/src/option.lisp index 02c89c2..6965b71 100644 --- a/l/src/option.lisp +++ b/l/src/option.lisp @@ -48,4 +48,5 @@      (make-config :socket-url (getf options :socket-url)                   :reload-current-tab (getf options :reload-current-tab) +                 :debug-output (getf options :debug)                   :extension-ids free-args))) | 
