[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/d-mode 2f7adb1 319/346: Fontify sole lambda params
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/d-mode 2f7adb1 319/346: Fontify sole lambda params |
Date: |
Sun, 29 Aug 2021 11:00:52 -0400 (EDT) |
branch: elpa/d-mode
commit 2f7adb185fc5440dc2b0eb80b4eed1a218ad0b32
Author: Vladimir Panteleev <git@thecybershadow.net>
Commit: Vladimir Panteleev <git@thecybershadow.net>
Fontify sole lambda params
---
d-mode.el | 15 +++++++++++++--
tests/fonts_params.d | 4 ++++
tests/fonts_params.d.html | 4 ++++
3 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/d-mode.el b/d-mode.el
index 4c4e8c9..89d84eb 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: 201911121452
+;; Version: 201911121459
;; Keywords: D programming language emacs cc-mode
;; Package-Requires: ((emacs "25.1"))
@@ -144,7 +144,7 @@
d "\\(\\[[^]]*\\]\\|\\.\\.\\.\\|\\*\\)")
(c-lang-defconst c-decl-prefix-re
- d "\\([{}();:,]+\\)")
+ d "\\([{}();:,=]+\\)")
(c-lang-defconst c-identifier-ops
;; For recognizing "~this", ".foo", and "foo.bar.baz" as identifiers
@@ -631,6 +631,17 @@ Evaluate OLD-FORM if the Emacs version is older than
MIN-VERSION,
(setq id-start (point))
t)))
+ ;; Lambda literal
+ ((and (memq context '(top nil arglist))
+ (save-excursion
+ (and
+ (d-forward-identifier)
+ (progn
+ (c-forward-syntactic-ws)
+ (looking-at "=>")))))
+ (setq id-start decl-start)
+ t)
+
;; Function / variable / constant declaration, i.e. an
;; (optional) type followed by an identifier.
((and (memq context '(top nil))
diff --git a/tests/fonts_params.d b/tests/fonts_params.d
index dc70530..8e3e0b2 100644
--- a/tests/fonts_params.d
+++ b/tests/fonts_params.d
@@ -4,6 +4,10 @@
auto dg = (Object a, Object b) {};
alias dg2 = (a, b) {};
+alias dg3 = a => a + 1;
+alias dg4 = fun(a => a + 1);
+alias dg5 = fun(a, b => b + 1);
+
void fun()
{
foreach (a; c) foo();
diff --git a/tests/fonts_params.d.html b/tests/fonts_params.d.html
index 58100b5..0d6c716 100644
--- a/tests/fonts_params.d.html
+++ b/tests/fonts_params.d.html
@@ -4,6 +4,10 @@
<span class="keyword">auto</span> <span class="variable-name">dg</span> =
(<span class="type">Object</span> <span class="variable-name">a</span>, <span
class="type">Object</span> <span class="variable-name">b</span>) {};
<span class="keyword">alias</span> <span class="variable-name">dg2</span> =
(<span class="variable-name">a</span>, <span class="variable-name">b</span>) {};
+<span class="keyword">alias</span> <span class="variable-name">dg3</span> =
<span class="variable-name">a</span> => a + 1;
+<span class="keyword">alias</span> <span class="variable-name">dg4</span> =
fun(<span class="variable-name">a</span> => a + 1);
+<span class="keyword">alias</span> <span class="variable-name">dg5</span> =
fun(a, <span class="variable-name">b</span> => b + 1);
+
<span class="type">void</span> <span class="function-name">fun</span>()
{
<span class="keyword">foreach</span> (<span
class="variable-name">a</span>; c) foo();
- [nongnu] elpa/d-mode 80f2019 261/346: Don't nest imenu to arbitrary depths, (continued)
- [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, 2021/08/29
- [nongnu] elpa/d-mode 2f7adb1 319/346: Fontify sole lambda params,
ELPA Syncer <=
- [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
- [nongnu] elpa/d-mode f4b3d8a 267/346: Precompute regular expressions for inline keyword lists, ELPA Syncer, 2021/08/29