]> git.eshelyaron.com Git - emacs.git/commitdiff
Teach js-mode about ES6 generators
authorDaniel Colascione <dancol@dancol.org>
Fri, 9 Jan 2015 18:25:50 +0000 (10:25 -0800)
committerDaniel Colascione <dancol@dancol.org>
Fri, 9 Jan 2015 18:25:50 +0000 (10:25 -0800)
* lisp/progmodes/js.el (js--function-heading-1-re)
(js--function-prologue-beginning): Parse ES6 generator function
declarations.  (That is, "function* name()").

lisp/ChangeLog
lisp/progmodes/js.el

index bca8d28b1a5d1294709c3e4d52be916d3287d796..c7ad41a800b6121070baa453cb19b709aa45a544 100644 (file)
@@ -1,3 +1,9 @@
+2015-01-09  Daniel Colascione  <dancol@dancol.org>
+
+       * progmodes/js.el (js--function-heading-1-re)
+       (js--function-prologue-beginning): Parse ES6 generator function
+       declarations.  (That is, "function* name()").
+
 2015-01-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * emacs-lisp/eieio.el (defclass): Move from eieio-defclass all the code
index de6a33988a483dd7ab6486917897979690697271..c25e52cdc6a0f498681d10176b3362ad1e021796 100644 (file)
@@ -248,7 +248,7 @@ name as matched contains
 
 (defconst js--function-heading-1-re
   (concat
-   "^\\s-*function\\s-+\\(" js--name-re "\\)")
+   "^\\s-*function\\(?:\\s-\\|\\*\\)+\\(" js--name-re "\\)")
   "Regexp matching the start of a JavaScript function header.
 Match group 1 is the name of the function.")
 
@@ -796,6 +796,9 @@ determined.  Otherwise, return nil."
   (let ((name t))
     (forward-word)
     (forward-comment most-positive-fixnum)
+    (when (eq (char-after) ?*)
+      (forward-char)
+      (forward-comment most-positive-fixnum))
     (when (looking-at js--name-re)
       (setq name (match-string-no-properties 0))
       (goto-char (match-end 0)))