summaryrefslogtreecommitdiffstats
path: root/lisp/init-javascript.el
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2017-05-31 20:57:41 +0200
committerMartin Polden <mpolden@mpolden.no>2017-05-31 20:57:41 +0200
commit3cb44c0ba3f74639ad1abde5cf77292825fdd378 (patch)
tree3ca5b7418e7acf6a1308cce57b188f0c2b2e2be9 /lisp/init-javascript.el
parentd768b60ac1af853eaeb628a5facb26f5139d13f2 (diff)
Do not use :config to declare functions
Diffstat (limited to 'lisp/init-javascript.el')
-rw-r--r--lisp/init-javascript.el61
1 files changed, 30 insertions, 31 deletions
diff --git a/lisp/init-javascript.el b/lisp/init-javascript.el
index 309e883..3a4cd7f 100644
--- a/lisp/init-javascript.el
+++ b/lisp/init-javascript.el
@@ -1,3 +1,31 @@
+;; use jq for reformatting json
+(defun jq-reformat-region (begin end)
+ (interactive "r")
+ (if (executable-find "jq")
+ (let* ((tmpfile (make-temp-file "jq"))
+ (errbuf (get-buffer-create "*jq errors*"))
+ (result (call-process-region begin end "jq" nil
+ `((:file ,tmpfile) ,tmpfile) nil
+ "--monochrome-output" "--ascii-output"
+ "."))
+ (success (zerop result))
+ (resbuf (if success (current-buffer) errbuf)))
+ (with-current-buffer resbuf
+ (insert-file-contents tmpfile nil nil nil t))
+ (if success
+ (progn
+ (kill-buffer errbuf)
+ (message "Reformatted JSON"))
+ (message "Failed to reformat JSON. Check errors for details"))
+ (delete-file tmpfile))
+ (message "Could not find jq in PATH.")))
+
+(defun jq-reformat ()
+ (interactive)
+ (if (use-region-p)
+ (jq-reformat-region (region-beginning) (region-end))
+ (jq-reformat-region (point-min) (point-max))))
+
(use-package js
:ensure nil ;; package is bundled with emacs
@@ -10,36 +38,7 @@
("\\.\\(json\\|jshintrc\\)\\'" . js-mode)
:bind (:map js-mode-map
- ;; C-c p runs formats json with jq
- ("C-c p" . jq-reformat))
-
- :config
- ;; use jq for reformatting json
- (defun jq-reformat-region (begin end)
- (interactive "r")
- (if (executable-find "jq")
- (let* ((tmpfile (make-temp-file "jq"))
- (errbuf (get-buffer-create "*jq errors*"))
- (result (call-process-region begin end "jq" nil
- `((:file ,tmpfile) ,tmpfile) nil
- "--monochrome-output" "--ascii-output"
- "."))
- (success (zerop result))
- (resbuf (if success (current-buffer) errbuf)))
- (with-current-buffer resbuf
- (insert-file-contents tmpfile nil nil nil t))
- (if success
- (progn
- (kill-buffer errbuf)
- (message "Reformatted JSON"))
- (message "Failed to reformat JSON. Check errors for details"))
- (delete-file tmpfile))
- (message "Could not find jq in PATH.")))
-
- (defun jq-reformat ()
- (interactive)
- (if (use-region-p)
- (jq-reformat-region (region-beginning) (region-end))
- (jq-reformat-region (point-min) (point-max)))))
+ ;; C-c p runs formats json with jq
+ ("C-c p" . jq-reformat)))
(provide 'init-javascript)