branch: elpa/flymake-collection commit 1d22083e03d742184d2af63a57e8bc2293f3862d Author: Mohsin Kaleem <mohk...@kisara.moe> Commit: Mohsin Kaleem <mohk...@kisara.moe>
(flymake-rest): Avoid unecessary requires The flymake-rest-define macro is required while compiling, but the only feature from it needed while running is flymake-rest-parse-json. Furthermore you'll probably always have to require flymake-rest just to make sure all the faces and other base functions you need are setup, so this moves definitions and requires around to minimise the amount of redundant definitions being loaded. --- checkers/flymake-rest-awk-gawk.el | 3 ++- checkers/flymake-rest-clang.el | 3 ++- checkers/flymake-rest-eslint.el | 3 ++- checkers/flymake-rest-html-tidy.el | 3 ++- checkers/flymake-rest-jq.el | 3 ++- checkers/flymake-rest-jsonlint.el | 3 ++- checkers/flymake-rest-less.el | 3 ++- checkers/flymake-rest-markdownlint.el | 3 ++- checkers/flymake-rest-mypy.el | 3 ++- checkers/flymake-rest-proselint.el | 3 ++- checkers/flymake-rest-pycodestyle.el | 3 ++- checkers/flymake-rest-pylint.el | 3 ++- checkers/flymake-rest-rubocop.el | 3 ++- checkers/flymake-rest-shellcheck.el | 3 ++- flymake-rest-define.el | 20 -------------------- flymake-rest.el | 20 ++++++++++++++++++++ 16 files changed, 48 insertions(+), 34 deletions(-) diff --git a/checkers/flymake-rest-awk-gawk.el b/checkers/flymake-rest-awk-gawk.el index f988eb0af9..b5b22ecbe7 100644 --- a/checkers/flymake-rest-awk-gawk.el +++ b/checkers/flymake-rest-awk-gawk.el @@ -3,9 +3,10 @@ ;;; Code: (require 'flymake) -(require 'flymake-rest-define) +(require 'flymake-rest) (eval-when-compile + (require 'flymake-rest-define) (require 'flymake-rest-parse-rx)) ;;;###autoload (autoload 'flymake-rest-awk-gawk "flymake-rest-awk-gawk") diff --git a/checkers/flymake-rest-clang.el b/checkers/flymake-rest-clang.el index 6bb3d9988c..80fa326446 100644 --- a/checkers/flymake-rest-clang.el +++ b/checkers/flymake-rest-clang.el @@ -3,9 +3,10 @@ ;;; Code: (require 'flymake) -(require 'flymake-rest-define) +(require 'flymake-rest) (eval-when-compile + (require 'flymake-rest-define) (require 'flymake-rest-parse-rx)) (defvar flymake-rest-clang-args diff --git a/checkers/flymake-rest-eslint.el b/checkers/flymake-rest-eslint.el index 288ddce0ee..f2f713ce74 100644 --- a/checkers/flymake-rest-eslint.el +++ b/checkers/flymake-rest-eslint.el @@ -3,9 +3,10 @@ ;;; Code: (require 'flymake) -(require 'flymake-rest-define) +(require 'flymake-rest) (eval-when-compile + (require 'flymake-rest-define) (require 'flymake-rest-parse-enumerate)) ;;;###autoload (autoload 'flymake-rest-eslint "flymake-rest-eslint") diff --git a/checkers/flymake-rest-html-tidy.el b/checkers/flymake-rest-html-tidy.el index 29df9fff66..34531749bc 100644 --- a/checkers/flymake-rest-html-tidy.el +++ b/checkers/flymake-rest-html-tidy.el @@ -3,9 +3,10 @@ ;;; Code: (require 'flymake) -(require 'flymake-rest-define) +(require 'flymake-rest) (eval-when-compile + (require 'flymake-rest-define) (require 'flymake-rest-parse-rx)) ;;;###autoload (autoload 'flymake-rest-html-tidy "flymake-rest-html-tidy") diff --git a/checkers/flymake-rest-jq.el b/checkers/flymake-rest-jq.el index 0309675630..9b26a86f73 100644 --- a/checkers/flymake-rest-jq.el +++ b/checkers/flymake-rest-jq.el @@ -3,9 +3,10 @@ ;;; Code: (require 'flymake) -(require 'flymake-rest-define) +(require 'flymake-rest) (eval-when-compile + (require 'flymake-rest-define) (require 'flymake-rest-parse-rx)) ;;;###autoload (autoload 'flymake-rest-jq "flymake-rest-jq") diff --git a/checkers/flymake-rest-jsonlint.el b/checkers/flymake-rest-jsonlint.el index 66e568f3b8..ee9144a1c0 100644 --- a/checkers/flymake-rest-jsonlint.el +++ b/checkers/flymake-rest-jsonlint.el @@ -3,9 +3,10 @@ ;;; Code: (require 'flymake) -(require 'flymake-rest-define) +(require 'flymake-rest) (eval-when-compile + (require 'flymake-rest-define) (require 'flymake-rest-parse-rx)) ;;;###autoload (autoload 'flymake-rest-jsonlint "flymake-rest-jsonlint") diff --git a/checkers/flymake-rest-less.el b/checkers/flymake-rest-less.el index 1ccea79d11..e04934212d 100644 --- a/checkers/flymake-rest-less.el +++ b/checkers/flymake-rest-less.el @@ -3,9 +3,10 @@ ;;; Code: (require 'flymake) -(require 'flymake-rest-define) +(require 'flymake-rest) (eval-when-compile + (require 'flymake-rest-define) (require 'flymake-rest-parse-rx)) ;;;###autoload (autoload 'flymake-rest-less "flymake-rest-less") diff --git a/checkers/flymake-rest-markdownlint.el b/checkers/flymake-rest-markdownlint.el index 92bab1789f..3d79ba3b34 100644 --- a/checkers/flymake-rest-markdownlint.el +++ b/checkers/flymake-rest-markdownlint.el @@ -3,9 +3,10 @@ ;;; Code: (require 'flymake) -(require 'flymake-rest-define) +(require 'flymake-rest) (eval-when-compile + (require 'flymake-rest-define) (require 'flymake-rest-parse-rx)) (defcustom flymake-rest-markdownlint-style nil diff --git a/checkers/flymake-rest-mypy.el b/checkers/flymake-rest-mypy.el index 67ad0b8060..5976cb7895 100644 --- a/checkers/flymake-rest-mypy.el +++ b/checkers/flymake-rest-mypy.el @@ -3,9 +3,10 @@ ;;; Code: (require 'flymake) -(require 'flymake-rest-define) +(require 'flymake-rest) (eval-when-compile + (require 'flymake-rest-define) (require 'flymake-rest-parse-rx)) ;;;###autoload (autoload 'flymake-rest-mypy "flymake-rest-mypy") diff --git a/checkers/flymake-rest-proselint.el b/checkers/flymake-rest-proselint.el index be92b14745..f912b7cec6 100644 --- a/checkers/flymake-rest-proselint.el +++ b/checkers/flymake-rest-proselint.el @@ -3,9 +3,10 @@ ;;; Code: (require 'flymake) -(require 'flymake-rest-define) +(require 'flymake-rest) (eval-when-compile + (require 'flymake-rest-define) (require 'flymake-rest-parse-enumerate)) ;;;###autoload (autoload 'flymake-rest-proselint "flymake-rest-proselint") diff --git a/checkers/flymake-rest-pycodestyle.el b/checkers/flymake-rest-pycodestyle.el index 9c11426fc9..c2669914de 100644 --- a/checkers/flymake-rest-pycodestyle.el +++ b/checkers/flymake-rest-pycodestyle.el @@ -3,9 +3,10 @@ ;;; Code: (require 'flymake) -(require 'flymake-rest-define) +(require 'flymake-rest) (eval-when-compile + (require 'flymake-rest-define) (require 'flymake-rest-parse-rx)) ;;;###autoload (autoload 'flymake-rest-pycodestyle "flymake-rest-pycodestyle") diff --git a/checkers/flymake-rest-pylint.el b/checkers/flymake-rest-pylint.el index 27ddded359..bd20c206ce 100644 --- a/checkers/flymake-rest-pylint.el +++ b/checkers/flymake-rest-pylint.el @@ -3,9 +3,10 @@ ;;; Code: (require 'flymake) -(require 'flymake-rest-define) +(require 'flymake-rest) (eval-when-compile + (require 'flymake-rest-define) (require 'flymake-rest-parse-enumerate)) ;;;###autoload (autoload 'flymake-rest-pylint "flymake-rest-pylint") diff --git a/checkers/flymake-rest-rubocop.el b/checkers/flymake-rest-rubocop.el index 91722e8502..233fd32eea 100644 --- a/checkers/flymake-rest-rubocop.el +++ b/checkers/flymake-rest-rubocop.el @@ -3,9 +3,10 @@ ;;; Code: (require 'flymake) -(require 'flymake-rest-define) +(require 'flymake-rest) (eval-when-compile + (require 'flymake-rest-define) (require 'flymake-rest-parse-rx)) (defcustom flymake-rest-rubocop-use-bundler t diff --git a/checkers/flymake-rest-shellcheck.el b/checkers/flymake-rest-shellcheck.el index c1c58c07f1..e8d0d84ed2 100644 --- a/checkers/flymake-rest-shellcheck.el +++ b/checkers/flymake-rest-shellcheck.el @@ -3,9 +3,10 @@ ;;; Code: (require 'flymake) -(require 'flymake-rest-define) +(require 'flymake-rest) (eval-when-compile + (require 'flymake-rest-define) (require 'flymake-rest-parse-enumerate)) ;;;###autoload (autoload 'flymake-rest-shellcheck "flymake-rest-shellcheck") diff --git a/flymake-rest-define.el b/flymake-rest-define.el index c5b184d217..158cdeb167 100644 --- a/flymake-rest-define.el +++ b/flymake-rest-define.el @@ -206,24 +206,4 @@ diagnostics to parse this form should evaluate to nil." (process-send-eof proc))) ,proc-symb)))))) -(defun flymake-rest-parse-json (output) - "Helper for `flymake-rest-define' to parse JSON output OUTPUT. - -Adapted from `flycheck-parse-json'. This reads a bunch of JSON-Lines -like output from OUTPUT into a list and then returns it." - (let (objects - (json-array-type 'list) - (json-false nil)) - (with-temp-buffer - (insert output) - (goto-char (point-min)) - (while (not (eobp)) - (when (memq (char-after) '(?\{ ?\[)) - (push (json-parse-buffer - :object-type 'alist :array-type 'list - :null-object nil :false-object nil) - objects)) - (forward-line))) - objects)) - (provide 'flymake-rest-define) diff --git a/flymake-rest.el b/flymake-rest.el index 588ba88b8c..33f01c2d09 100644 --- a/flymake-rest.el +++ b/flymake-rest.el @@ -62,4 +62,24 @@ '((t (:inherit font-lock-type-face))) "Id of a diagnostic.") +(defun flymake-rest-parse-json (output) + "Helper for `flymake-rest-define' to parse JSON output OUTPUT. + +Adapted from `flycheck-parse-json'. This reads a bunch of JSON-Lines +like output from OUTPUT into a list and then returns it." + (let (objects + (json-array-type 'list) + (json-false nil)) + (with-temp-buffer + (insert output) + (goto-char (point-min)) + (while (not (eobp)) + (when (memq (char-after) '(?\{ ?\[)) + (push (json-parse-buffer + :object-type 'alist :array-type 'list + :null-object nil :false-object nil) + objects)) + (forward-line))) + objects)) + (provide 'flymake-rest)