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

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

[nongnu] elpa/dart-mode eba375b 112/192: Parse JSON arrays as lists


From: ELPA Syncer
Subject: [nongnu] elpa/dart-mode eba375b 112/192: Parse JSON arrays as lists
Date: Sun, 29 Aug 2021 11:02:01 -0400 (EDT)

branch: elpa/dart-mode
commit eba375b1c59d4ca67a0fe229afb2a67170840406
Author: Natalie Weizenbaum <nex342@gmail.com>
Commit: Natalie Weizenbaum <nex342@gmail.com>

    Parse JSON arrays as lists
---
 dart-mode.el | 72 ++++++++++++++++++++++++++++++------------------------------
 1 file changed, 36 insertions(+), 36 deletions(-)

diff --git a/dart-mode.el b/dart-mode.el
index 389d092..2520a30 100644
--- a/dart-mode.el
+++ b/dart-mode.el
@@ -3,7 +3,7 @@
 ;; Author: Natalie Weizenbaum
 ;; URL: https://github.com/nex3/dart-mode
 ;; Version: 1.0.0
-;; Package-Requires: ((emacs "24.5") (cl-lib "0.5") (dash "2.10.0") (flycheck 
"0.23"))
+;; Package-Requires: ((emacs "24.5") (cl-lib "0.5") (dash "2.10.0") (flycheck 
"0.23") (s "1.11"))
 ;; Keywords: language
 
 ;; Copyright (C) 2011 Google Inc.
@@ -93,6 +93,7 @@
 (require 'dash)
 (require 'flycheck)
 (require 'json)
+(require 's)
 
 
 ;;; Utility functions and macros
@@ -940,7 +941,8 @@ the callback for that request is given the json decoded 
response."
           (let ((json-lines
                  (-map (lambda (s)
                          (dart-info (concat "Received: " s))
-                         (json-read-from-string s))
+                         (-let [json-array-type 'list]
+                           (json-read-from-string s)))
                        (-filter (lambda (s)
                                   (not (or (null s) (string= "" s))))
                                 (-butlast buf-lines)))))
@@ -1061,8 +1063,7 @@ minibuffer."
        "analysis.getHover"
        `(("file" . ,filename) ("offset" . ,pos))
        (lambda (response)
-         (-when-let* ((hovers (dart--get response 'result 'hovers))
-                      (hover (if (eq (length hovers) 0) nil (elt hovers 0))))
+         (-when-let (hover (car (dart--get response 'result 'hovers)))
            (dart--json-let hover
                (offset
                 length
@@ -1197,9 +1198,8 @@ minibuffer."
      (lambda (response)
        (-when-let (result (dart--get response 'result))
          (dart--json-let result (files targets regions)
-           (unless (eq (length regions) 0)
-             (let* ((region (elt regions 0))
-                    (target-index (elt (dart--get region 'targets) 0))
+           (-when-let (region (car regions))
+             (let* ((target-index (car (dart--get region 'targets)))
                     (target (elt targets target-index))
 
                     (file-index (dart--get target 'fileIndex))
@@ -1301,34 +1301,34 @@ to add a header and otherwise prepare it for displaying 
results."
               (let ((buffer-read-only nil))
                 (save-excursion
                   (goto-char (point-max))
-                  (loop
-                   for result across results
-                   do (let ((location (dart--get result 'location))
-                            (path (dart--get result 'path))
-                            (start (point)))
-                        (dart--fontify-excursion '(compilation-info underline)
-                          (when (cl-some
-                                 (lambda (element)
-                                   (equal (dart--get element 'kind) 
"CONSTRUCTOR"))
-                                 path)
-                            (insert "new "))
-
-                          (insert
-                           (loop for element across path
-                                 unless (member (dart--get element 'kind)
-                                                '("COMPILATION_UNIT" "FILE" 
"LIBRARY" "PARAMETER"))
-                                 unless (string-empty-p (dart--get element 
'name))
-                                 collect (dart--get element 'name) into names
-                                 finally return (mapconcat 'identity (reverse 
names) ".")))
-
-                          (make-text-button
-                           start (point)
-                           'action (lambda (_) (dart--goto-location 
location))))
-
-                        (dart--json-let location (file (line startLine) 
(column startColumn))
-                          (insert " " file ":"
-                                  (dart--face-string line 
'compilation-line-number) ":"
-                                  (dart--face-string column 
'compilation-column-number) ?\n)))))
+                  (dolist (result results)
+                    (let ((location (dart--get result 'location))
+                          (path (dart--get result 'path))
+                          (start (point)))
+                      (dart--fontify-excursion '(compilation-info underline)
+                        (when (cl-some
+                               (lambda (element)
+                                 (equal (dart--get element 'kind) 
"CONSTRUCTOR"))
+                               path)
+                          (insert "new "))
+
+                        (insert
+                         (->> path
+                              (--remove (member (dart--get it 'kind)
+                                                '("COMPILATION_UNIT" "FILE" 
"LIBRARY" "PARAMETER")))
+                              (--map (dart--get it 'name))
+                              (-remove 'string-empty-p)
+                              nreverse
+                              (s-join ".")))
+
+                        (make-text-button
+                         start (point)
+                         'action (lambda (_) (dart--goto-location location))))
+
+                      (dart--json-let location (file (line startLine) (column 
startColumn))
+                        (insert " " file ":"
+                                (dart--face-string line 
'compilation-line-number) ":"
+                                (dart--face-string column 
'compilation-column-number) ?\n)))))
 
                 (setq total-results (+ total-results (length results)))
 
@@ -1465,7 +1465,7 @@ If FIRST is non-nil, this is the first completion event 
for this completion."
     (when first
       (setq dart--last-expand-index 0)
       (setq dart--last-expand-beginning (copy-marker (+ offset 1)))
-      (dart--use-expand-suggestion (+ offset 1) (+ offset length 1) (elt 
results 0)))
+      (dart--use-expand-suggestion (+ offset 1) (+ offset length 1) (car 
results)))
 
     (setq first nil)
     (setq dart--last-expand-results results)))



reply via email to

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