[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 60f7a2b 080/110: Fix computed property generator methods i
From: |
Dmitry Gutov |
Subject: |
[elpa] master 60f7a2b 080/110: Fix computed property generator methods indentation |
Date: |
Thu, 23 Jun 2016 01:13:01 +0000 (UTC) |
branch: master
commit 60f7a2b5b79696aae732811df3c530daa3bd55ac
Author: Dmitry Gutov <address@hidden>
Commit: Dmitry Gutov <address@hidden>
Fix computed property generator methods indentation
Closes #317
---
js2-old-indent.el | 13 ++++++++-----
tests/indent.el | 10 +++++++++-
2 files changed, 17 insertions(+), 6 deletions(-)
diff --git a/js2-old-indent.el b/js2-old-indent.el
index 82a00b4..9768d1e 100644
--- a/js2-old-indent.el
+++ b/js2-old-indent.el
@@ -225,12 +225,15 @@ and comments have been removed."
(eq (char-after) ??))))
(not (and
(eq (char-after) ?*)
- (looking-at (concat "\\* *" js2-mode-identifier-re " *("))
+ ;; Generator method (possibly using computed property).
+ (looking-at (concat "\\* *\\(?:\\[\\|"
+ js2-mode-identifier-re
+ " *(\\)"))
(save-excursion
- (goto-char (1- (match-end 0)))
- (let (forward-sexp-function) (forward-sexp))
- (js2-forward-sws)
- (eq (char-after) ?{))))))
+ (js2-backward-sws)
+ ;; We might misindent some expressions that would
+ ;; return NaN anyway. Shouldn't be a problem.
+ (memq (char-before) '(?, ?} ?{)))))))
(defun js2-continued-expression-p ()
"Return non-nil if the current line continues an expression."
diff --git a/tests/indent.el b/tests/indent.el
index bacb614..b0235ff 100644
--- a/tests/indent.el
+++ b/tests/indent.el
@@ -146,7 +146,15 @@
"class A {
| * x() {
| return 1
- | * 2;
+ | * a(2);
+ | }
+ |}")
+
+(js2-deftest-indent indent-generator-computed-method
+ "class A {
+ | *[Symbol.iterator]() {
+ | yield 'Foo';
+ | yield 'Bar';
| }
|}")
- [elpa] master bc46db5 104/110: Add a test for #335 as well, (continued)
- [elpa] master bc46db5 104/110: Add a test for #335 as well, Dmitry Gutov, 2016/06/22
- [elpa] master 92f5479 108/110: Parse generator methods better, Dmitry Gutov, 2016/06/22
- [elpa] master 58857dc 103/110: Merge branch 'dgreensp-object-rest-spread', Dmitry Gutov, 2016/06/22
- [elpa] master 0cda392 109/110: Make a new release, Dmitry Gutov, 2016/06/22
- [elpa] master be0b00d 063/110: js2-mode-extend-comment: Don't check that the next line is also commented, Dmitry Gutov, 2016/06/22
- [elpa] master 757f91d 065/110: And move its definition below, Dmitry Gutov, 2016/06/22
- [elpa] master 7e0b11f 071/110: Add tests for of parsing, Dmitry Gutov, 2016/06/22
- [elpa] master 83d9890 070/110: Fix await parsing, Dmitry Gutov, 2016/06/22
- [elpa] master bacb022 074/110: Refactor async arrow function matching, Dmitry Gutov, 2016/06/22
- [elpa] master 57dca37 073/110: Refactor await parsing to only parse once, Dmitry Gutov, 2016/06/22
- [elpa] master 60f7a2b 080/110: Fix computed property generator methods indentation,
Dmitry Gutov <=
- [elpa] master de6df33 049/110: Fix semicolons and scoping in exported decls, Dmitry Gutov, 2016/06/22
- [elpa] master dbf4fe9 038/110: Adapt async/await changes to latest master, Dmitry Gutov, 2016/06/22
- [elpa] master 7fe7165 053/110: Fix array destructuring including triple-dot, Dmitry Gutov, 2016/06/22
- [elpa] master d1bf11f 068/110: Fix void parsing, Dmitry Gutov, 2016/06/22
- [elpa] master 7b430a3 079/110: Merge pull request #308 from zmwangx/jsdoc-callback-func-method, Dmitry Gutov, 2016/06/22
- [elpa] master c988876 086/110: Fix the straggler, Dmitry Gutov, 2016/06/22
- [elpa] master 6399bec 001/110: Support ES(7) async/await syntax; Closes #185, Dmitry Gutov, 2016/06/22
- [elpa] master fa0aa09 060/110: Merge pull request #294 from lunaryorn/patch-1, Dmitry Gutov, 2016/06/22
- [elpa] master ec7932d 047/110: Merge pull request #283 from XeCycle/master-with-async, Dmitry Gutov, 2016/06/22
- [elpa] master e44d9e1 088/110: Merge pull request #325 from phst/all-tests, Dmitry Gutov, 2016/06/22