[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/typescript-mode 2c43dd034c 068/222: Merge pull request #46
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/typescript-mode 2c43dd034c 068/222: Merge pull request #46 from ananthakumaran/fix/union-type-in-return-annotation |
Date: |
Sun, 6 Feb 2022 16:59:17 -0500 (EST) |
branch: elpa/typescript-mode
commit 2c43dd034c156762589f80f7c6163a2bd35b51d0
Merge: 1cea84486f f3140123d6
Author: Louis-Dominique Dubeau <ldd@lddubeau.com>
Commit: GitHub <noreply@github.com>
Merge pull request #46 from
ananthakumaran/fix/union-type-in-return-annotation
---
test-files/indentation-reference-document.ts | 7 +++++++
typescript-mode.el | 31 ++++++++++++++--------------
2 files changed, 23 insertions(+), 15 deletions(-)
diff --git a/test-files/indentation-reference-document.ts
b/test-files/indentation-reference-document.ts
index d6e3124f0f..2fdf6ef337 100644
--- a/test-files/indentation-reference-document.ts
+++ b/test-files/indentation-reference-document.ts
@@ -282,6 +282,13 @@ function bif(a: number,
return "abc):d";
}
+// Generic and union in return type. This case was constructed from
+// a specific bug in the indentation code.
+function bif2(a: number,
+ b: number): Array<number> | number {
+ return 1;
+}
+
// Comment where the return type would appear.
function gogo(a: number,
b: number) /* foo */ {
diff --git a/typescript-mode.el b/typescript-mode.el
index 4b091fa64d..7c9676be87 100644
--- a/typescript-mode.el
+++ b/typescript-mode.el
@@ -1808,18 +1808,24 @@ moved on success."
(save-excursion
(loop named search-loop
do (progn
- (if (eq (char-before) ?>)
- (if (looking-back "=>" (- (point) 2))
- ;; Move back over the arrow of an arrow
function.
- (backward-char 2)
- ;; Otherwise, we are looking at the end of the
parameters
- ;; list of a generic. We need to move back over
the list.
- (backward-char)
-
(typescript--backward-over-generic-parameter-list))
- ;; General case: we just move back over the current
sexp.
+ (cond
+ ;; Looking at the arrow of an arrow function:
+ ;; move back over the arrow.
+ ((looking-back "=>" (- (point) 2))
+ (backward-char 2))
+ ;; Looking at the end of the parameters list
+ ;; of a generic: move back over the list.
+ ((eq (char-before) ?>)
+ (backward-char)
+ (typescript--backward-over-generic-parameter-list))
+ ;; Looking at a union: skip over the character.
+ ((eq (char-before) ?|)
+ (backward-char))
+ ;; General case: we just move back over the current
sexp.
+ (t
(condition-case nil
(backward-sexp)
- (scan-error nil)))
+ (scan-error nil))))
(typescript--backward-syntactic-ws)
(let ((before (char-before)))
;; Check whether we are at "):".
@@ -1884,11 +1890,6 @@ moved on success."
(when (or (typescript--backward-to-parameter-list)
(eq (char-before) ?\)))
(backward-list))
- ;; If the parameter list is preceded by (, take the
- ;; start of the parameter list as our reference.
- ;; This allows handling functions in parameter
- ;; lists. Otherwise, we want to go back to the
- ;; start of function declaration.
(back-to-indentation)
(cond (same-indent-p
(current-column))
- [nongnu] elpa/typescript-mode bf9a4155cc 043/222: Revise Emacs versions tested a little more., (continued)
- [nongnu] elpa/typescript-mode bf9a4155cc 043/222: Revise Emacs versions tested a little more., ELPA Syncer, 2022/02/06
- [nongnu] elpa/typescript-mode a3c91282bc 039/222: Add test-case and indentation-reference document., ELPA Syncer, 2022/02/06
- [nongnu] elpa/typescript-mode d29f31c791 045/222: Fix indentation of methods that are generators., ELPA Syncer, 2022/02/06
- [nongnu] elpa/typescript-mode e780858a86 050/222: Don't interpret spread syntax as a continuation., ELPA Syncer, 2022/02/06
- [nongnu] elpa/typescript-mode f3140123d6 067/222: Remove a leftover comment., ELPA Syncer, 2022/02/06
- [nongnu] elpa/typescript-mode aae70b59e6 023/222: Merge pull request #16 from wingyplus/add-as-and-from-keywords, ELPA Syncer, 2022/02/06
- [nongnu] elpa/typescript-mode 3766e37f24 026/222: Add README, ELPA Syncer, 2022/02/06
- [nongnu] elpa/typescript-mode f6907e8ae3 031/222: Fix error in compilation-mode alist registration., ELPA Syncer, 2022/02/06
- [nongnu] elpa/typescript-mode 316b018d27 040/222: Add CI-config and test-runner., ELPA Syncer, 2022/02/06
- [nongnu] elpa/typescript-mode ab6d105807 076/222: Add regression tests for function name highlighting., ELPA Syncer, 2022/02/06
- [nongnu] elpa/typescript-mode 2c43dd034c 068/222: Merge pull request #46 from ananthakumaran/fix/union-type-in-return-annotation,
ELPA Syncer <=
- [nongnu] elpa/typescript-mode 3361adad67 093/222: Prevent messing up comment fontification when filling paragraphs., ELPA Syncer, 2022/02/06
- [nongnu] elpa/typescript-mode 5350c45aec 104/222: Add function to convert plain strings to template strings., ELPA Syncer, 2022/02/06
- [nongnu] elpa/typescript-mode 7a5c74d88e 109/222: Merge pull request #72 from Wilfred/remove_cpp, ELPA Syncer, 2022/02/06
- [nongnu] elpa/typescript-mode c2d72b7d81 116/222: Fix unwanted indentation after non-keyword "each", ELPA Syncer, 2022/02/06
- [nongnu] elpa/typescript-mode 0d32c85bfb 110/222: Drop typescript-parent-mode., ELPA Syncer, 2022/02/06
- [nongnu] elpa/typescript-mode 5b6d60a2b2 118/222: Fix indentation after keyword-lookalike methods., ELPA Syncer, 2022/02/06
- [nongnu] elpa/typescript-mode 6a6c63ad5e 126/222: Extract test utilities, ELPA Syncer, 2022/02/06
- [nongnu] elpa/typescript-mode 72ec0f93aa 125/222: Merge pull request #90 from jack-williams/add-never, ELPA Syncer, 2022/02/06
- [nongnu] elpa/typescript-mode 69607202bc 139/222: Make GPL license discoverable by Github., ELPA Syncer, 2022/02/06
- [nongnu] elpa/typescript-mode f20103a448 154/222: Add `delete-selection` hints, ELPA Syncer, 2022/02/06