about summary refs log tree commit diff
path: root/configs/shared/emacs/.emacs.d/elpa/prettier-js-20180109.726/prettier-js.el
diff options
context:
space:
mode:
Diffstat (limited to 'configs/shared/emacs/.emacs.d/elpa/prettier-js-20180109.726/prettier-js.el')
-rw-r--r--configs/shared/emacs/.emacs.d/elpa/prettier-js-20180109.726/prettier-js.el214
1 files changed, 0 insertions, 214 deletions
diff --git a/configs/shared/emacs/.emacs.d/elpa/prettier-js-20180109.726/prettier-js.el b/configs/shared/emacs/.emacs.d/elpa/prettier-js-20180109.726/prettier-js.el
deleted file mode 100644
index 1b74ee7de9ea..000000000000
--- a/configs/shared/emacs/.emacs.d/elpa/prettier-js-20180109.726/prettier-js.el
+++ /dev/null
@@ -1,214 +0,0 @@
-;;; prettier-js.el --- Minor mode to format JS code on file save
-
-;; Version: 0.1.0
-;; Package-Version: 20180109.726
-
-;; Copyright (c) 2014 The go-mode Authors. All rights reserved.
-;; Portions Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
-
-;; Redistribution and use in source and binary forms, with or without
-;; modification, are permitted provided that the following conditions are
-;; met:
-
-;; * Redistributions of source code must retain the above copyright
-;; notice, this list of conditions and the following disclaimer.
-;; * Redistributions in binary form must reproduce the above
-;; copyright notice, this list of conditions and the following disclaimer
-;; in the documentation and/or other materials provided with the
-;; distribution.
-;; * Neither the name of the copyright holder nor the names of its
-;; contributors may be used to endorse or promote products derived from
-;; this software without specific prior written permission.
-
-;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-;; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-;; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-;; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-;; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-;; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-;; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-;; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-;; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-;; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-;; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.)
-
-;; Author: James Long and contributors
-;; Created: 10 January 2017
-;; Url: https://github.com/prettier/prettier-emacs
-;; Keywords: convenience wp edit js
-
-;; This file is not part of GNU Emacs.
-
-;;; Commentary:
-;; Formats your JavaScript code using 'prettier' on file save.
-
-;;; Code:
-
-(defgroup prettier-js nil
-  "Minor mode to format JS code on file save"
-  :group 'languages
-  :prefix "prettier-js"
-  :link '(url-link :tag "Repository" "https://github.com/prettier/prettier"))
-
-(defcustom prettier-js-command "prettier"
-  "The 'prettier' command."
-  :type 'string
-  :group 'prettier-js)
-
-(defcustom prettier-js-args '()
-  "List of args to send to prettier command."
-  :type '(repeat string)
-  :group 'prettier-js)
-
-(defcustom prettier-js-show-errors 'buffer
-    "Where to display prettier error output.
-It can either be displayed in its own buffer, in the echo area, or not at all.
-Please note that Emacs outputs to the echo area when writing
-files and will overwrite prettier's echo output if used from inside
-a `before-save-hook'."
-    :type '(choice
-            (const :tag "Own buffer" buffer)
-            (const :tag "Echo area" echo)
-            (const :tag "None" nil))
-      :group 'prettier-js)
-
-(defcustom prettier-js-width-mode nil
-  "Specify width when formatting buffer contents."
-  :type '(choice
-          (const :tag "Window width" window)
-          (const :tag "Fill column" fill)
-          (const :tag "None" nil))
-  :group 'prettier-js)
-
-(defun prettier-js--goto-line (line)
-  "Move cursor to line LINE."
-  (goto-char (point-min))
-    (forward-line (1- line)))
-
-(defun prettier-js--apply-rcs-patch (patch-buffer)
-  "Apply an RCS-formatted diff from PATCH-BUFFER to the current buffer."
-  (let ((target-buffer (current-buffer))
-        ;; Relative offset between buffer line numbers and line numbers
-        ;; in patch.
-        ;;
-        ;; Line numbers in the patch are based on the source file, so
-        ;; we have to keep an offset when making changes to the
-        ;; buffer.
-        ;;
-        ;; Appending lines decrements the offset (possibly making it
-        ;; negative), deleting lines increments it. This order
-        ;; simplifies the forward-line invocations.
-        (line-offset 0))
-    (save-excursion
-      (with-current-buffer patch-buffer
-        (goto-char (point-min))
-        (while (not (eobp))
-          (unless (looking-at "^\\([ad]\\)\\([0-9]+\\) \\([0-9]+\\)")
-            (error "Invalid rcs patch or internal error in prettier-js--apply-rcs-patch"))
-          (forward-line)
-          (let ((action (match-string 1))
-                (from (string-to-number (match-string 2)))
-                (len  (string-to-number (match-string 3))))
-            (cond
-             ((equal action "a")
-              (let ((start (point)))
-                (forward-line len)
-                (let ((text (buffer-substring start (point))))
-                  (with-current-buffer target-buffer
-                    (setq line-offset (- line-offset len))
-                    (goto-char (point-min))
-                    (forward-line (- from len line-offset))
-                    (insert text)))))
-             ((equal action "d")
-              (with-current-buffer target-buffer
-                (prettier-js--goto-line (- from line-offset))
-                (setq line-offset (+ line-offset len))
-                (let ((beg (point)))
-                  (forward-line len)
-                  (delete-region (point) beg))))
-             (t
-              (error "Invalid rcs patch or internal error in prettier-js--apply-rcs-patch")))))))))
-
-(defun prettier-js--process-errors (filename errorfile errbuf)
-  "Process errors for FILENAME, using an ERRORFILE and display the output in ERRBUF."
-  (with-current-buffer errbuf
-    (if (eq prettier-js-show-errors 'echo)
-        (progn
-          (message "%s" (buffer-string))
-          (prettier-js--kill-error-buffer errbuf))
-      (insert-file-contents errorfile nil nil nil)
-      ;; Convert the prettier stderr to something understood by the compilation mode.
-      (goto-char (point-min))
-      (insert "prettier errors:\n")
-      (while (search-forward-regexp "^stdin" nil t)
-        (replace-match (file-name-nondirectory filename)))
-      (compilation-mode)
-      (display-buffer errbuf))))
-
-(defun prettier-js--kill-error-buffer (errbuf)
-  "Kill buffer ERRBUF."
-  (let ((win (get-buffer-window errbuf)))
-    (if win
-        (quit-window t win)
-      (with-current-buffer errbuf
-        (erase-buffer))
-      (kill-buffer errbuf))))
-
-(defun prettier-js ()
-   "Format the current buffer according to the prettier tool."
-   (interactive)
-   (let* ((ext (file-name-extension buffer-file-name t))
-          (bufferfile (make-temp-file "prettier" nil ext))
-          (outputfile (make-temp-file "prettier" nil ext))
-          (errorfile (make-temp-file "prettier" nil ext))
-          (errbuf (if prettier-js-show-errors (get-buffer-create "*prettier errors*")))
-          (patchbuf (get-buffer-create "*prettier patch*"))
-          (coding-system-for-read 'utf-8)
-          (coding-system-for-write 'utf-8)
-          (width-args
-           (cond
-            ((equal prettier-js-width-mode 'window)
-             (list "--print-width" (number-to-string (window-body-width))))
-            ((equal prettier-js-width-mode 'fill)
-             (list "--print-width" (number-to-string fill-column)))
-            (t
-             '()))))
-     (unwind-protect
-         (save-restriction
-           (widen)
-           (write-region nil nil bufferfile)
-           (if errbuf
-               (with-current-buffer errbuf
-                 (setq buffer-read-only nil)
-                 (erase-buffer)))
-           (with-current-buffer patchbuf
-             (erase-buffer))
-           (if (zerop (apply 'call-process
-                             prettier-js-command bufferfile (list (list :file outputfile) errorfile)
-                             nil (append prettier-js-args width-args (list "--stdin" "--stdin-filepath" buffer-file-name))))
-               (progn
-                 (call-process-region (point-min) (point-max) "diff" nil patchbuf nil "-n" "--strip-trailing-cr" "-"
-                                      outputfile)
-                 (prettier-js--apply-rcs-patch patchbuf)
-                 (message "Applied prettier with args `%s'" prettier-js-args)
-                 (if errbuf (prettier-js--kill-error-buffer errbuf)))
-             (message "Could not apply prettier")
-             (if errbuf
-                 (prettier-js--process-errors (buffer-file-name) errorfile errbuf))
-             ))
-       (kill-buffer patchbuf)
-       (delete-file errorfile)
-       (delete-file bufferfile)
-       (delete-file outputfile))))
-
-;;;###autoload
-(define-minor-mode prettier-js-mode
-  "Runs prettier on file save when this mode is turned on"
-  :lighter " Prettier"
-  :global nil
-  (if prettier-js-mode
-      (add-hook 'before-save-hook 'prettier-js nil 'local)
-    (remove-hook 'before-save-hook 'prettier-js 'local)))
-
-(provide 'prettier-js)
-;;; prettier-js.el ends here