emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/firefox-javascript-repl c35e324539 16/24: Refer to Fire


From: Thomas Fitzsimmons
Subject: [elpa] externals/firefox-javascript-repl c35e324539 16/24: Refer to Firefox Debugging Remote Protocol
Date: Thu, 1 Jun 2023 00:41:52 -0400 (EDT)

branch: externals/firefox-javascript-repl
commit c35e324539f34da4227c9b5700eb41ebfcc7bb96
Author: Thomas Fitzsimmons <fitzsim@fitzsim.org>
Commit: Thomas Fitzsimmons <fitzsim@fitzsim.org>

    Refer to Firefox Debugging Remote Protocol
    
    * firefox-javascript-repl.el: Refer to Firefox Debugging Remote
    Protocol consistently.  Expand FRDP acronym and link to official
    documentation.
    (fjrepl--get-result, fjrepl--extract-result)
    (fjrepl--handle-done, fjrepl--handle-console)
    (fjrepl--handle-target, fjrepl--handle-tab)
    (fjrepl--debug-result): Update docstrings to use FRDP acronym.
    * firefox-javascript-repl.el (fjrepl--parse-prior-message): Remove
    some tabs.
    (firefox-javascript-repl): Likewise.
---
 firefox-javascript-repl.el | 59 +++++++++++++++++++++++++---------------------
 1 file changed, 32 insertions(+), 27 deletions(-)

diff --git a/firefox-javascript-repl.el b/firefox-javascript-repl.el
index da6b27df16..5c63eafa66 100644
--- a/firefox-javascript-repl.el
+++ b/firefox-javascript-repl.el
@@ -33,15 +33,16 @@
 ;; (unless someone sends a really convincing patch).  I promise to
 ;; attempt to stive to keep this working with at least the
 ;; greenest-of-evergreen Firefox and Firefox ESR versions (see
-;; Compatibility).  My sense is that the Firefox Debug Protocol is
-;; less of a moving target than it used to be.  Emacs versions back to
-;; 26.1 (or earlier if anyone can test on Emacs < 26.1) will be
-;; supported.
+;; Compatibility).  My sense is that the Firefox Remote Debugging
+;; Protocol is less of a moving target than it used to be.  Emacs
+;; versions back to 26.1 (or earlier if anyone can test on Emacs <
+;; 26.1) will be supported.
 
 ;; Wouldn't it be great (for other people) to turn this into a full
 ;; SLIME analog for JavaScript (patches accepted)?  I tried `jsSlime'
 ;; (https://github.com/segv/jss) but its most recent update is ten
-;; years old and the Firefox Debug Protocol has changed too much.
+;; years old and the Firefox Remote Debugging Protocol has changed too
+;; much.
 
 ;; The function `fjrepl--extract-result' could do a way better job of
 ;; getting results but I find it OK for little experiments.  If I need
@@ -72,6 +73,11 @@
 ;; ║ 2023-05-26 ║ x86-64       ║ Abrowser ║ 111.0.1 (64-bit)     ║
 ;; ╙────────────╨──────────────╨──────────╨──────────────────────╜
 
+;; Acronyms:
+
+;; FRDP: Firefox Remote Debugging Protocol
+;;       https://firefox-source-docs.mozilla.org/devtools/backend/protocol.html
+
 ;;; Code:
 (require 'cc-langs)
 (require 'comint)
@@ -218,22 +224,21 @@ ARGUMENTS will be used for FORMAT, like `messages'."
       (let ((start (point)))
         (forward-sexp)
         (prog1
-           (let ((json-object-type 'hash-table))
-             (json-read-from-string
-              (buffer-substring start (point))))
+            (let ((json-object-type 'hash-table))
+              (json-read-from-string
+               (buffer-substring start (point))))
           (backward-sexp)))))  )
 
 (defun fjrepl--get-result (buffer descend &rest arguments)
   "Return a field from BUFFER.
-BUFFER holds Firefox's Remote Debug Protocol response messages.
-DESCEND is non-nil if ARGUMENTS represent a decending path
-through the data structure.  DESCEND is nil if ARGUMENTS should
-match fields at the current depth level.  Search from the most
-recent to the least recent messages.  Return the filtered value
-based on the matching arguments in the hierarchy.  ARGUMENTS is a
-list of numbers and strings.  A number is used to pick out an
-element in a JSON list, a string is used to pick out an element
-from a JSON map."
+BUFFER holds the FRDP response messages.  DESCEND is non-nil if
+ARGUMENTS represent a decending path through the data structure.
+DESCEND is nil if ARGUMENTS should match fields at the current
+depth level.  Search from the most recent to the least recent
+messages.  Return the filtered value based on the matching
+arguments in the hierarchy.  ARGUMENTS is a list of numbers and
+strings.  A number is used to pick out an element in a JSON list,
+a string is used to pick out an element from a JSON map."
   (with-current-buffer buffer
     (goto-char (point-max))
     (let (result)
@@ -266,8 +271,8 @@ from a JSON map."
 
 (defun fjrepl--extract-result (network response)
   "Filter the process NETWORK.
-RESPONSE is a Firefox Debug Protocol message received from the
-browser.  Return the result of the JavaScript evaluation."
+RESPONSE is a FRDP message received from the browser.  Return the
+result of the JavaScript evaluation."
   (fjrepl--debug response)
   (let* ((result (with-temp-buffer
                    (insert response)
@@ -292,7 +297,7 @@ browser.  Return the result of the JavaScript evaluation."
   "Process the startListeners response.
 NAME is a string, the process name to use, BUFFER is a string,
 the name of the buffer in which to put process output, NETWORK is
-the debugger-server connection to Firefox."
+the FRDP connection to Firefox."
   (fjrepl--remove-results)
   (set-process-filter network 'fjrepl--extract-result)
   (fjrepl--message
@@ -317,7 +322,7 @@ MESSAGE is the error message."
   "Process the startListeners response.
 NAME is a string, the process name to use, BUFFER is a string,
 the name of the buffer in which to put process output, NETWORK is
-the debugger-server connection to Firefox."
+the FRDP connection to Firefox."
   (fjrepl--ensure-count "Failed to access Firefox console actor")
   (fjrepl--message "Handling console message %d"
                    (setq fjrepl--count (1+ fjrepl--count)))
@@ -342,7 +347,7 @@ the arguments for the format string."
   "Process the getTarget response.
 NAME is a string, the process name to use, BUFFER is a string,
 the name of the buffer in which to put process output, NETWORK is
-the debugger-server connection to Firefox."
+the FRDP connection to Firefox."
   (fjrepl--ensure-count "Failed to find Firefox targets")
   (fjrepl--message "Handling target message %d"
                    (setq fjrepl--count (1+ fjrepl--count)))
@@ -366,7 +371,7 @@ the debugger-server connection to Firefox."
   "Process the listTabs response.
 NAME is a string, the process name to use, BUFFER is a string,
 the name of the buffer in which to put process output, NETWORK is
-the debugger-server connection to Firefox."
+the FRDP connection to Firefox."
   (fjrepl--ensure-count "Failed to find Firefox tab")
   (fjrepl--message "Handling tab message %d"
                    (setq fjrepl--count (1+ fjrepl--count)))
@@ -387,10 +392,10 @@ the debugger-server connection to Firefox."
   (internal-default-process-filter network response))
 
 (defun fjrepl--handle-first (name buffer network)
-  "Connect to Firefox process and process the first message from Firefox.
+  "Connect to Firefox process and process the first FRDP message from Firefox.
 NAME is a string, the process name to use, BUFFER is a string,
 the name of the buffer in which to put process output, NETWORK is
-the debugger-server connection to Firefox."
+the FRDP connection to Firefox."
   (fjrepl--ensure-count "Failed to detect first message from Firefox")
   (fjrepl--message "Handling first message %d"
                    (setq fjrepl--count (1+ fjrepl--count)))
@@ -455,8 +460,8 @@ localhost (127.0.0.1) TCP port 6000."
                                 (fjrepl--message
                                  "%s %s; deleting %s"
                                  process
-                                (string-trim-left (string-trim-right event))
-                                profile-directory)
+                                 (string-trim-left (string-trim-right event))
+                                 profile-directory)
                                 (setq fjrepl--console-actor nil)
                                 (kill-buffer
                                  firefox-standard-output-buffer-name)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]