[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/d-mode e70d89f 312/346: Fix fontification of catch stateme
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/d-mode e70d89f 312/346: Fix fontification of catch statements |
Date: |
Sun, 29 Aug 2021 11:00:51 -0400 (EDT) |
branch: elpa/d-mode
commit e70d89fa6c7f9c7900df10d3304feba2a8af11ca
Author: Vladimir Panteleev <git@thecybershadow.net>
Commit: Vladimir Panteleev <git@thecybershadow.net>
Fix fontification of catch statements
---
d-mode.el | 14 ++++++++++----
tests/fonts_lambda_params.d | 5 +++++
tests/fonts_lambda_params.d.html | 5 +++++
3 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/d-mode.el b/d-mode.el
index 4a62e73..06ec3d5 100644
--- a/d-mode.el
+++ b/d-mode.el
@@ -7,7 +7,7 @@
;; Maintainer: Russel Winder <russel@winder.org.uk>
;; Vladimir Panteleev <vladimir@thecybershadow.net>
;; Created: March 2007
-;; Version: 201911120029
+;; Version: 201911121009
;; Keywords: D programming language emacs cc-mode
;; Package-Requires: ((emacs "25.1"))
@@ -793,7 +793,8 @@ CONTEXT is as in `c-forward-decl-or-cast-1'."
(defun d-around--c-get-fontification-context (orig-fun match-pos &rest args)
;; checkdoc-params: (orig-fun match-pos args)
"Advice function for fixing cc-mode handling of D lambda parameter lists."
- (let ((res (apply orig-fun match-pos args)))
+ (let ((res (apply orig-fun match-pos args))
+ (type 'varlist))
;; (message "(c-get-fontification-context %S) @ %S -> %S" args (point) res)
(when (and
(c-major-mode-is 'd-mode)
@@ -810,7 +811,12 @@ CONTEXT is as in `c-forward-decl-or-cast-1'."
(save-excursion
(and
(c-backward-token-2)
- (looking-at (d-make-keywords-re t '("foreach")))))
+ (cond
+ ((looking-at (d-make-keywords-re t '("foreach"
"foreach_reverse")))
+ t)
+ ((looking-at (d-make-keywords-re t '("catch")))
+ (setq type 'decl)
+ t))))
(progn
(c-forward-sexp)
(c-forward-syntactic-ws)
@@ -819,7 +825,7 @@ CONTEXT is as in `c-forward-decl-or-cast-1'."
(eq (char-after) ?\{)
(looking-at "=>"))))))))
- (setq res (cons 'varlist t))
+ (setq res (cons type t))
;; (message " patching -> %S" res)
)
res))
diff --git a/tests/fonts_lambda_params.d b/tests/fonts_lambda_params.d
index 45f3902..dc70530 100644
--- a/tests/fonts_lambda_params.d
+++ b/tests/fonts_lambda_params.d
@@ -10,4 +10,9 @@ void fun()
foreach (a, b; c) foo();
foreach (a; c) {}
foreach (a, b; c) {}
+
+ try {} catch (Exception e) {}
+ try {} catch (Exception) {}
+ try {} catch (Exception e) run();
+ try {} catch (Exception) run();
}
diff --git a/tests/fonts_lambda_params.d.html b/tests/fonts_lambda_params.d.html
index 3bddb49..58100b5 100644
--- a/tests/fonts_lambda_params.d.html
+++ b/tests/fonts_lambda_params.d.html
@@ -10,4 +10,9 @@
<span class="keyword">foreach</span> (<span
class="variable-name">a</span>, <span class="variable-name">b</span>; c) foo();
<span class="keyword">foreach</span> (<span
class="variable-name">a</span>; c) {}
<span class="keyword">foreach</span> (<span
class="variable-name">a</span>, <span class="variable-name">b</span>; c) {}
+
+ <span class="keyword">try</span> {} <span class="keyword">catch</span>
(<span class="type">Exception</span> <span class="variable-name">e</span>) {}
+ <span class="keyword">try</span> {} <span class="keyword">catch</span>
(<span class="type">Exception</span>) {}
+ <span class="keyword">try</span> {} <span class="keyword">catch</span>
(<span class="type">Exception</span> <span class="variable-name">e</span>)
run();
+ <span class="keyword">try</span> {} <span class="keyword">catch</span>
(<span class="type">Exception</span>) run();
}
- [nongnu] elpa/d-mode 8ffe5ac 265/346: Remove doxygen-font-lock-*, (continued)
- [nongnu] elpa/d-mode 8ffe5ac 265/346: Remove doxygen-font-lock-*, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 80f2019 261/346: Don't nest imenu to arbitrary depths, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode bdd5d78 281/346: Replace d-forward-decl-or-cast-1 implementation with a custom one, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 02d1c7f 290/346: tests: Add more binary operation tests, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 09ecdaa 303/346: Add "make coverage", ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 166fac8 313/346: Fix fontification of second foreach variable, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 0d45ab2 315/346: Fix brace stack logic creating unbalanced stacks, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 55c8cb0 306/346: Fontify types in function parameter lists, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode c22a8c1 309/346: Fontify variables in foreach loops, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 3731f1b 316/346: Fontify built-in @-keywords as keywords, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode e70d89f 312/346: Fix fontification of catch statements,
ELPA Syncer <=
- [nongnu] elpa/d-mode 2f7adb1 319/346: Fontify sole lambda params, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode b40a7ab 328/346: Unbundle undercover.el, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode a9c05fd 331/346: tests/I0102: Remove #min-version, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 32446a7 338/346: Merge pull request #107 from CyberShadow/github-actions, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode c3be102 344/346: Cask: Fetch undercover.el directly from git, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 7fdd7b2 343/346: .github/workflows/test.yml: Add final step to call the Coveralls webhook, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 505022e 341/346: tests: New testcase, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 199743d 346/346: tests/I0021: Update condition, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 66796d0 247/346: Rename gplv2.txt -> COPYING, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 51dcd68 251/346: Improve comprehension of D constructors and destructors, ELPA Syncer, 2021/08/29