Re: [PATCH 1/2] update C# userdiff patterns
- From
Marius Ungureanu <marius.ungureanu@xamarin.com>
- Date
- Apr 27, 2014, 13:45 UTC
- Message-ID
- <31BBCA60-8EC8-43B1-B82F-071324036AC8@xamarin.com>
- In-Reply-To
- <535BFFEB.8040103@kdbg.org>
Remove all keywords since they don't cause conflicts.
Add method modifiers: abstract, async, explicit, extern, implicit, partial, operator.
Add properties modifiers: abstract, readonly.
Add type modifiers: abstract.
Parse C# operator functions.
Fix constructor parsing.
Signed-off-by: Marius Ungureanu <marius.ungureanu@xamarin.com> --- userdiff.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/userdiff.c b/userdiff.c index fad52d6..e7ba5e3 100644 --- a/userdiff.c +++ b/userdiff.c @@ -133,14 +133,12 @@ PATTERNS("cpp", "|[-+0-9.e]+[fFlL]?|0[xXbB]?[0-9a-fA-F]+[lLuU]*" "|[-+*/<>%&^|=!]=|--|\\+\\+|<<=?|>>=?|&&|\\|\\||::|->\\*?|\\.\\*"), PATTERNS("csharp", - /* Keywords */ - "!^[ \t]*(do|while|for|if|else|instanceof|new|return|switch|case|throw|catch|using)\n" /* Methods and constructors */ - "^[ \t]*(((static|public|internal|private|protected|new|virtual|sealed|override|unsafe)[ \t]+)*[][<>@.~_[:alnum:]]+[ \t]+[<>@._[:alnum:]]+[ \t]*\\(.*\\))[ \t]*$\n" + "^[ \t]*(((abstract|async|explicit|extern|implicit|internal|new|operator|override|partial|private|protected|public|sealed|static|unsafe|virtual)[ \t]+)*[][<>@._[:alnum:]]*[ \t]*[-<>@.~=+!*%&|^_[:alnum:]]+[ \t]*\\(.*\\))[ \t]*$\n" /* Properties */ - "^[ \t]*(((static|public|internal|private|protected|new|virtual|sealed|override|unsafe)[ \t]+)*[][<>@.~_[:alnum:]]+[ \t]+[@._[:alnum:]]+)[ \t]*$\n" + "^[ \t]*(((abstract|internal|new|override|private|protected|public|readonly|sealed|static|unsafe|virtual)[ \t]+)*[][<>@.~_[:alnum:]]+[ \t]+[@._[:alnum:]]+)[ \t]*$\n" /* Type definitions */ - "^[ \t]*(((static|public|internal|private|protected|new|unsafe|sealed|abstract|partial)[ \t]+)*(class|enum|interface|struct)[ \t]+.*)$\n" + "^[ \t]*(((abstract|internal|new|override|partial|private|protected|public|sealed|static|unsafe)[ \t]+)*(class|enum|interface|struct)[ \t]+.*)$\n" /* Namespace */ "^[ \t]*(namespace[ \t]+.*)$", /* -- */
-- 1.8.4