Permalink
Browse files

bump js2-refactor

  • Loading branch information...
1 parent 9a54a79 commit 14f7d47279c3e171c377a6f302f9d0c42f43267e @nelhage committed Nov 21, 2016
Showing 1,221 changed files with 17,751 additions and 17 deletions.
View
@@ -14,9 +14,9 @@
(make-symbolic-link "../.elisp/elpa" ".emacs.d/elpa"))
(require 'package)
-(add-to-list 'package-archives
- '("marmalade" .
- "http://marmalade-repo.org/packages/"))
+; (add-to-list 'package-archives
+; '("marmalade" .
+; "http://marmalade-repo.org/packages/"))
(add-to-list 'package-archives
'("melpa" . "http://melpa.milkbox.net/packages/") t)
(package-initialize)
@@ -80,7 +80,7 @@
((:keywords "async")
(:url . "http://elpa.gnu.org/packages/async.html"))])
(auctex .
- [(11 89 6)
+ [(11 89 7)
nil "Integrated environment for *TeX*" tar
((:url . "http://www.gnu.org/software/auctex/"))])
(aumix-mode .
@@ -151,7 +151,7 @@
((:url . "https://github.com/cpitclaudel/compact-docstrings")
(:keywords "convenience" "faces" "lisp" "maint" "c"))])
(company .
- [(0 9 0)
+ [(0 9 2)
((emacs
(24 1))
(cl-lib
@@ -291,7 +291,7 @@
((:url . "http://elpa.gnu.org/packages/ediprolog.html")
(:keywords "languages" "processes"))])
(el-search .
- [(1 0 1)
+ [(1 1 2)
((emacs
(25))
(stream
@@ -342,9 +342,9 @@
((:keywords "calendar")
(:url . "http://elpa.gnu.org/packages/excorporate.html"))])
(exwm .
- [(0 11)
+ [(0 12)
((xelb
- (0 11)))
+ (0 12)))
"Emacs X Window Manager" tar
((:keywords "unix")
(:url . "https://github.com/ch11ng/exwm"))])
@@ -638,7 +638,7 @@
((:url . "https://github.com/michael-heerdegen/on-screen.el")
(:keywords "convenience"))])
(org .
- [(20161102)
+ [(20161118)
nil "Outline-based notes management and organizer" tar nil])
(osc .
[(0 1)
@@ -803,7 +803,7 @@
((:url . "https://github.com/Malabarba/speed-of-thought-lisp")
(:keywords "convenience" "lisp"))])
(spinner .
- [(1 7 1)
+ [(1 7 3)
nil "Add spinners and progress-bars to the mode-line for ongoing operations" single
((:url . "https://github.com/Malabarba/spinner.el")
(:keywords "processes" "mode-line"))])
@@ -903,11 +903,13 @@
((:url . "http://elpa.gnu.org/packages/url-http-ntlm.html")
(:keywords "comm" "data" "processes" "hypermedia"))])
(validate .
- [(1 0 0)
+ [(1 0 2)
((emacs
(24 1))
(cl-lib
- (0 5)))
+ (0 5))
+ (seq
+ (2 16)))
"Schema validation for Emacs-lisp" single
((:url . "http://elpa.gnu.org/packages/validate.html")
(:keywords "lisp"))])
@@ -970,7 +972,7 @@
((:url . "http://elpa.gnu.org/packages/xclip.html")
(:keywords "convenience" "tools"))])
(xelb .
- [(0 11)
+ [(0 12)
((emacs
(24 4))
(cl-generic
@@ -460,7 +460,7 @@
[(12)
nil "A theme loosely based on Tron: Legacy colors" single])
(transmission .
- [(0 9)
+ [(0 10)
((emacs
(24 4))
(let-alist
@@ -1531,7 +1531,7 @@
[(0 8)
nil "Various deletion strategies when editing" single])
(palimpsest .
- [(0 8)
+ [(0 9)
nil "Various deletion strategies when editing" single])
(pager-default-keybindings .
[(1 1)
@@ -1571,6 +1571,9 @@
(outlined-elisp-mode .
[(1 0 5)
nil "outline-minor-mode settings for emacs lisp" single])
+ (outer-spaces .
+ [(20161029 2230)
+ nil "A minimalistic minor-mode to highlight redundant spaces" single])
(otter-mode .
[(1 2)
nil "Major mode for source files of the Otter automated theorem prover" single])
@@ -3371,7 +3374,7 @@
(2 2 0)))
"Modern API for working with files and directories" single])
(eyebrowse .
- [(0 7 0)
+ [(0 7 2)
((dash
(2 7 0))
(emacs
Oops, something went wrong.
@@ -0,0 +1,49 @@
+;;; js2-refactor-autoloads.el --- automatically extracted autoloads
+;;
+;;; Code:
+(add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path))))
+
+;;;### (autoloads nil "js2-refactor" "js2-refactor.el" (22579 12262
+;;;;;; 0 0))
+;;; Generated autoloads from js2-refactor.el
+
+(autoload 'js2-refactor-mode "js2-refactor" "\
+Minor mode providing JavaScript refactorings.
+
+\(fn &optional ARG)" t nil)
+
+(autoload 'js2r-add-keybindings-with-prefix "js2-refactor" "\
+Add js2r keybindings using the prefix PREFIX.
+
+\(fn PREFIX)" nil nil)
+
+(autoload 'js2r-add-keybindings-with-modifier "js2-refactor" "\
+Add js2r keybindings using the modifier MODIFIER.
+
+\(fn MODIFIER)" nil nil)
+
+;;;***
+
+;;;### (autoloads nil "js2r-vars" "js2r-vars.el" (22579 12262 0 0))
+;;; Generated autoloads from js2r-vars.el
+
+(autoload 'js2r-extract-var "js2r-vars" "\
+
+
+\(fn)" t nil)
+
+;;;***
+
+;;;### (autoloads nil nil ("js2-refactor-pkg.el" "js2r-conditionals.el"
+;;;;;; "js2r-conveniences.el" "js2r-formatting.el" "js2r-functions.el"
+;;;;;; "js2r-helpers.el" "js2r-iife.el" "js2r-paredit.el" "js2r-wrapping.el")
+;;;;;; (22579 12262 0 0))
+
+;;;***
+
+;; Local Variables:
+;; version-control: never
+;; no-byte-compile: t
+;; no-update-autoloads: t
+;; End:
+;;; js2-refactor-autoloads.el ends here
@@ -0,0 +1,10 @@
+(define-package "js2-refactor" "20161102.1108" "A JavaScript refactoring library for emacs."
+ '((js2-mode "20101228")
+ (s "1.9.0")
+ (multiple-cursors "1.0.0")
+ (dash "1.0.0")
+ (s "1.0.0")
+ (yasnippet "0.9.0.1")))
+;; Local Variables:
+;; no-byte-compile: t
+;; End:
@@ -0,0 +1,200 @@
+;;; js2-refactor.el --- The beginnings of a JavaScript refactoring library in emacs.
+
+;; Copyright (C) 2012-2014 Magnar Sveen
+;; Copyright (C) 2015-2016 Magnar Sveen and Nicolas Petton
+
+;; Author: Magnar Sveen <magnars@gmail.com>,
+;; Nicolas Petton <nicolas@petton.fr>
+;; Keywords: conveniences
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This is a collection of small refactoring functions to further the idea of a
+;; JavaScript IDE in Emacs that started with js2-mode.
+
+;; ## Installation
+
+;; Start by installing the dependencies:
+
+;; * js2-mode https://github.com/mooz/js2-mode/
+;; * dash https://github.com/magnars/dash.el
+;; * multiple-cursors https://github.com/magnars/multiple-cursors.el
+
+;; It is also recommended to get
+;; [expand-region](https://github.com/magnars/expand-region.el) to more easily mark
+;; vars, method calls and functions for refactorings.
+
+;; Then add this to your Emacs settings:
+
+;; (require 'js2-refactor)
+;; (add-hook 'js2-mode-hook #'js2-refactor-mode)
+;; (js2r-add-keybindings-with-prefix "C-c C-m")
+
+;; Note: I am working on a smoother installation path through package.el,
+;; but I haven't had the time to whip this project into that sort of
+;; structure - yet.
+
+;; ## Usage
+
+;; All refactorings start with `C-c C-m` and then a two-letter mnemonic shortcut.
+
+;; * `ee` is `expand-node-at-point`: Expand bracketed list according to node type at point (array, object, function, call args).
+;; * `cc` is `contract-node-at-point`: Contract bracketed list according to node type at point (array, object, function, call args).
+;; * `ef` is `extract-function`: Extracts the marked expressions out into a new named function.
+;; * `em` is `extract-method`: Extracts the marked expressions out into a new named method in an object literal.
+;; * `ip` is `introduce-parameter`: Changes the marked expression to a parameter in a local function.
+;; * `lp` is `localize-parameter`: Changes a parameter to a local var in a local function.
+;; * `wi` is `wrap-buffer-in-iife`: Wraps the entire buffer in an immediately invoked function expression
+;; * `ig` is `inject-global-in-iife`: Creates a shortcut for a marked global by injecting it in the wrapping immediately invoked function expression
+;; * `ag` is `add-to-globals-annotation`: Creates a `/*global */` annotation if it is missing, and adds the var at point to it.
+;; * `ev` is `extract-var`: Takes a marked expression and replaces it with a var.
+;; * `iv` is `inline-var`: Replaces all instances of a variable with its initial value.
+;; * `rv` is `rename-var`: Renames the variable on point and all occurrences in its lexical scope.
+;; * `vt` is `var-to-this`: Changes local `var a` to be `this.a` instead.
+;; * `ao` is `arguments-to-object`: Replaces arguments to a function call with an object literal of named arguments. Requires yasnippets.
+;; * `3i` is `ternary-to-if`: Converts ternary operator to if-statement.
+;; * `sv` is `split-var-declaration`: Splits a `var` with multiple vars declared, into several `var` statements.
+;; * `ss` is `split-string`: Splits a `string`.
+;; * `uw` is `unwrap`: Replaces the parent statement with the selected region.
+
+;; There are also some minor conveniences bundled:
+
+;; * `C-S-down` and `C-S-up` moves the current line up or down. If the line is an
+;; element in an object or array literal, it makes sure that the commas are
+;; still correctly placed.
+;; * `k` `kill-line`: Like `kill-line` but respecting the AST.
+
+;; ## Todo
+
+;; A list of some wanted improvements for the current refactorings.
+
+;; * expand- and contract-array: should work recursively with nested object literals and nested arrays.
+;; * expand- and contract-function: should deal better with nested object literals, array declarations, and statements terminated only by EOLs (without semicolons).
+;; * wrap-buffer-in-iife: should skip comments and namespace initializations at buffer start.
+;; * extract-variable: could end with a query-replace of the expression in its scope.
+
+;; ## Contributions
+
+;; * [Matt Briggs](https://github.com/mbriggs) contributed `js2r-add-to-globals-annotation`
+;; * [Alex Chamberlain](https://github.com/apchamberlain) contributed contracting and expanding arrays and functions.
+;; * [Nicolas Petton](https://github.com/NicolasPetton) contributed `js2r-kill`
+;; Thanks!
+
+;; ## Contribute
+
+;; This project is still in its infancy, and everything isn't quite sorted out
+;; yet. If you're eager to contribute, please add an issue here on github and we
+;; can discuss your changes a little before diving into the elisp :-).
+
+;; To fetch the test dependencies:
+
+;; $ cd /path/to/multiple-cursors
+;; $ git submodule init
+;; $ git submodule update
+
+;; Run the tests with:
+
+;; $ ./util/ecukes/ecukes features
+
+;;; Code:
+
+(require 'js2-mode)
+(require 'js2r-helpers)
+(require 'js2r-formatting)
+(require 'js2r-iife)
+(require 'js2r-vars)
+(require 'js2r-functions)
+(require 'js2r-wrapping)
+(require 'js2r-conditionals)
+(require 'js2r-conveniences)
+(require 'js2r-paredit)
+
+(defvar js2-refactor-mode-map
+ (make-sparse-keymap)
+ "Keymap for js2-refactor.")
+
+;;;###autoload
+(define-minor-mode js2-refactor-mode
+ "Minor mode providing JavaScript refactorings."
+ :lighter " js2r"
+ :keymap js2-refactor-mode-map
+ (when js2-refactor-mode
+ (yas-minor-mode-on)))
+
+;;; Settings ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+(defgroup js2-refactor nil
+ "Minor mode providing JavaScript refactorings."
+ :group 'tools
+ :prefix "js2r-"
+ :link '(url-link :tag "Repository" "https://github.com/magnars/js2-refactor.el"))
+
+(defcustom js2r-use-strict nil
+ "When non-nil, js2r inserts strict declarations in IIFEs."
+ :group 'js2-refactor
+ :type 'boolean)
+
+(defcustom js2r-prefered-quote-type 1
+ "The prefered quote style for strings."
+ :group 'js2-refactor
+ :type '(choice (const :tag "Double" 1)
+ (const :tag "Single" 2)))
+
+;;; Keybindings ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+(defun js2r--add-keybindings (key-fn)
+ "Add js2r refactoring keybindings to `js2-mode-map' using KEY-FN to create each keybinding."
+ (define-key js2-refactor-mode-map (funcall key-fn "ee") #'js2r-expand-node-at-point)
+ (define-key js2-refactor-mode-map (funcall key-fn "cc") #'js2r-contract-node-at-point)
+ (define-key js2-refactor-mode-map (funcall key-fn "wi") #'js2r-wrap-buffer-in-iife)
+ (define-key js2-refactor-mode-map (funcall key-fn "ig") #'js2r-inject-global-in-iife)
+ (define-key js2-refactor-mode-map (funcall key-fn "ev") #'js2r-extract-var)
+ (define-key js2-refactor-mode-map (funcall key-fn "iv") #'js2r-inline-var)
+ (define-key js2-refactor-mode-map (funcall key-fn "rv") #'js2r-rename-var)
+ (define-key js2-refactor-mode-map (funcall key-fn "vt") #'js2r-var-to-this)
+ (define-key js2-refactor-mode-map (funcall key-fn "ag") #'js2r-add-to-globals-annotation)
+ (define-key js2-refactor-mode-map (funcall key-fn "sv") #'js2r-split-var-declaration)
+ (define-key js2-refactor-mode-map (funcall key-fn "ss") #'js2r-split-string)
+ (define-key js2-refactor-mode-map (funcall key-fn "ef") #'js2r-extract-function)
+ (define-key js2-refactor-mode-map (funcall key-fn "em") #'js2r-extract-method)
+ (define-key js2-refactor-mode-map (funcall key-fn "ip") #'js2r-introduce-parameter)
+ (define-key js2-refactor-mode-map (funcall key-fn "lp") #'js2r-localize-parameter)
+ (define-key js2-refactor-mode-map (funcall key-fn "tf") #'js2r-toggle-function-expression-and-declaration)
+ (define-key js2-refactor-mode-map (funcall key-fn "ta") #'js2r-toggle-arrow-function-and-expression)
+ (define-key js2-refactor-mode-map (funcall key-fn "ao") #'js2r-arguments-to-object)
+ (define-key js2-refactor-mode-map (funcall key-fn "uw") #'js2r-unwrap)
+ (define-key js2-refactor-mode-map (funcall key-fn "wl") #'js2r-wrap-in-for-loop)
+ (define-key js2-refactor-mode-map (funcall key-fn "3i") #'js2r-ternary-to-if)
+ (define-key js2-refactor-mode-map (funcall key-fn "lt") #'js2r-log-this)
+ (define-key js2-refactor-mode-map (funcall key-fn "dt") #'js2r-debug-this)
+ (define-key js2-refactor-mode-map (funcall key-fn "sl") #'js2r-forward-slurp)
+ (define-key js2-refactor-mode-map (funcall key-fn "ba") #'js2r-forward-barf)
+ (define-key js2-refactor-mode-map (funcall key-fn "k") #'js2r-kill)
+ (define-key js2-refactor-mode-map (kbd "<C-S-down>") #'js2r-move-line-down)
+ (define-key js2-refactor-mode-map (kbd "<C-S-up>") #'js2r-move-line-up))
+
+;;;###autoload
+(defun js2r-add-keybindings-with-prefix (prefix)
+ "Add js2r keybindings using the prefix PREFIX."
+ (js2r--add-keybindings (-partial #'js2r--key-pairs-with-prefix prefix)))
+
+;;;###autoload
+(defun js2r-add-keybindings-with-modifier (modifier)
+ "Add js2r keybindings using the modifier MODIFIER."
+ (js2r--add-keybindings (-partial #'js2r--key-pairs-with-modifier modifier)))
+
+(provide 'js2-refactor)
+;;; js2-refactor.el ends here
Oops, something went wrong.

0 comments on commit 14f7d47

Please sign in to comment.