From 55ee66844e8ba701debe38f8b262e98b12dbabf2 Mon Sep 17 00:00:00 2001 From: TupikovVladimir Date: Fri, 12 Jun 2020 01:46:27 +0300 Subject: [PATCH] enh(csharp) highlight generics in more cases (#2599) --- src/languages/cs.js | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/languages/cs.js b/src/languages/cs.js index 6d14d531d7..772b71260c 100644 --- a/src/languages/cs.js +++ b/src/languages/cs.js @@ -86,6 +86,14 @@ function(hljs) { ] }; + var GENERIC_MODIFIER = { + begin: "<", + end: ">", + contains: [ + { beginKeywords: "in out"}, + hljs.TITLE_MODE + ] + }; var TYPE_IDENT_RE = hljs.IDENT_RE + '(<' + hljs.IDENT_RE + '(\\s*,\\s*' + hljs.IDENT_RE + ')*>)?(\\[\\])?'; return { @@ -161,13 +169,16 @@ function(hljs) { }, { className: 'function', - begin: '(' + TYPE_IDENT_RE + '\\s+)+' + hljs.IDENT_RE + '\\s*\\(', returnBegin: true, + begin: '(' + TYPE_IDENT_RE + '\\s+)+' + hljs.IDENT_RE + '\\s*(\\<.+\\>)?\\s*\\(', returnBegin: true, end: /\s*[{;=]/, excludeEnd: true, keywords: KEYWORDS, contains: [ { - begin: hljs.IDENT_RE + '\\s*\\(', returnBegin: true, - contains: [hljs.TITLE_MODE], + begin: hljs.IDENT_RE + '\\s*(\\<.+\\>)?\\s*\\(', returnBegin: true, + contains: [ + hljs.TITLE_MODE, + GENERIC_MODIFIER + ], relevance: 0 }, {