emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/csharp-mode 91fff08 124/459: Fontify conversion operato


From: ELPA Syncer
Subject: [elpa] externals/csharp-mode 91fff08 124/459: Fontify conversion operators definitions. Fontify base interfaces names for 'interface' and 'struct' declarations.
Date: Sun, 22 Aug 2021 13:59:10 -0400 (EDT)

branch: externals/csharp-mode
commit 91fff08409c5c605c0976b3ee1fdc8004a6eee97
Author: Yakov Markovitch <ymarkovitch@gmail.com>
Commit: Yakov Markovitch <ymarkovitch@gmail.com>

    Fontify conversion operators definitions. Fontify base interfaces names for 
'interface' and 'struct' declarations.
    
    Enable correct fontification for conversion operator declarations like:
    public static implicit operator Foo(Bar value) { ...
    where "implicit", "explicit", and "operator" are fontified as keywords, 
while "Foo" as a type.
    
    Enable fontification of base interfaces names for constructions like:
    public interface IFoo : IBar { ...
    public struct Foo : IBar { ...
---
 csharp-mode.el | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/csharp-mode.el b/csharp-mode.el
index 69ae0b2..55df6bc 100644
--- a/csharp-mode.el
+++ b/csharp-mode.el
@@ -1189,7 +1189,7 @@ a square parentasis block [ ... ]."
 
 
 (c-lang-defconst c-colon-type-list-kwds
-  csharp '("class"))
+  csharp '("class" "struct" "interface"))
 
 (c-lang-defconst c-block-prefix-disallowed-chars
 
@@ -1273,6 +1273,7 @@ a square parentasis block [ ... ]."
 (c-lang-defconst c-modifier-kwds
   csharp '("public" "partial" "private" "const" "abstract" "sealed"
            "protected" "ref" "out" "static" "virtual"
+           "implicit" "explicit" "fixed"
            "override" "params" "internal" "async"))
 
 
@@ -1285,10 +1286,16 @@ a square parentasis block [ ... ]."
   ;; csharp '("private" "protected" "public" "internal")
 )
 
+(c-lang-defconst c-opt-op-identifier-prefix
+  "Regexp matching the token before the ones in
+`c-overloadable-operators' when operators are specified in their \"identifier 
form\".
+
+This regexp is assumed to not match any non-operator identifier."
+  csharp (c-make-keywords-re t '("operator")))
 
 ;; Define the keywords that can have something following after them.
 (c-lang-defconst c-type-list-kwds
-  csharp '("struct" "class" "interface" "is" "as"
+  csharp '("struct" "class" "interface" "is" "as" "operator"
            "delegate" "event" "set" "get" "add" "remove"))
 
 ;; Handle typeless variable declaration
@@ -1312,6 +1319,7 @@ a square parentasis block [ ... ]."
 ;; Statement keywords followed by a paren sexp and then by a substatement.
 (c-lang-defconst c-block-stmt-2-kwds
   csharp '("for" "if" "switch" "while" "catch" "foreach" "using"
+           "fixed"
            "checked" "unchecked" "lock"))
 
 
@@ -1330,7 +1338,7 @@ a square parentasis block [ ... ]."
 
 ;; Keywords that start "primary expressions."
 (c-lang-defconst c-primary-expr-kwds
-  csharp '("this" "base"))
+  csharp '("this" "base" "operator"))
 
 ;; Treat namespace as an outer block so class indenting
 ;; works properly.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]