File tree Expand file tree Collapse file tree 4 files changed +61
-0
lines changed Expand file tree Collapse file tree 4 files changed +61
-0
lines changed Original file line number Diff line number Diff line change @@ -24,6 +24,7 @@ Core Grammars:
2424- fix(cpp) added flat_set and flat_map as a part of cpp 23 version [ Lavan]
2525- fix(yaml) - Fixed special chars in yaml [ Dxuian]
2626- fix(basic) - Fixed closing quotation marks not required for a PRINT statement [ Somya]
27+ - fix(swift) - Fixed syntax highlighting for class func/var declarations [ guuido]
2728
2829New Grammars:
2930
@@ -58,6 +59,7 @@ CONTRIBUTORS
5859[ Álvaro Mondéjar ] : https://github.com/mondeja
5960[ Lavan ] : https://github.com/jvlavan
6061[ Somya ] : https://github.com/somya-05
62+ [ guuido ] : https://github.com/guuido
6163
6264
6365## Version 11.10.0
Original file line number Diff line number Diff line change @@ -460,6 +460,33 @@ export default function(hljs) {
460460 end : / } /
461461 } ;
462462
463+ const CLASS_FUNC_DECLARATION = {
464+ match : [
465+ / c l a s s \b / ,
466+ / \s + / ,
467+ / f u n c \b / ,
468+ / \s + / ,
469+ / \b [ A - Z a - z _ ] [ A - Z a - z 0 - 9 _ ] * \b /
470+ ] ,
471+ scope : {
472+ 1 : "keyword" ,
473+ 3 : "keyword" ,
474+ 5 : "title.function"
475+ }
476+ } ;
477+
478+ const CLASS_VAR_DECLARATION = {
479+ match : [
480+ / c l a s s \b / ,
481+ / \s + / ,
482+ / v a r \b / ,
483+ ] ,
484+ scope : {
485+ 1 : "keyword" ,
486+ 3 : "keyword"
487+ }
488+ } ;
489+
463490 const TYPE_DECLARATION = {
464491 begin : [
465492 / ( s t r u c t | p r o t o c o l | c l a s s | e x t e n s i o n | e n u m | a c t o r ) / ,
@@ -524,6 +551,8 @@ export default function(hljs) {
524551 ...COMMENTS ,
525552 FUNCTION_OR_MACRO ,
526553 INIT_SUBSCRIPT ,
554+ CLASS_FUNC_DECLARATION ,
555+ CLASS_VAR_DECLARATION ,
527556 TYPE_DECLARATION ,
528557 OPERATOR_DECLARATION ,
529558 PRECEDENCEGROUP ,
Original file line number Diff line number Diff line change 1+ <span class="hljs-keyword">class</span> <span class="hljs-keyword">func</span> <span class="hljs-title function_">f1</span>() -> <span class="hljs-type">Void</span> { }
2+
3+ <span class="hljs-keyword">class</span> <span class="hljs-keyword">func</span> <span class="hljs-title function_">f2</span><span class="hljs-operator"><</span><span class="hljs-type">T</span>: <span class="hljs-type">Comparable</span><span class="hljs-operator">></span>() -> <span class="hljs-type">T</span> { }
4+
5+ <span class="hljs-keyword">class</span> <span class="hljs-keyword">func</span> <span class="hljs-title function_">f3</span><span class="hljs-operator"><</span><span class="hljs-type">T</span><span class="hljs-operator">></span>(
6+ <span class="hljs-keyword">_</span> p1: <span class="hljs-type">Int</span>,
7+ p2: <span class="hljs-type">String</span>
8+ ) <span class="hljs-keyword">async</span> <span class="hljs-keyword">throws</span> -> [<span class="hljs-type">T</span>] { }
9+
10+ <span class="hljs-keyword">class</span> <span class="hljs-keyword">var</span> v1: <span class="hljs-type">Int</span> { <span class="hljs-keyword">get</span> <span class="hljs-keyword">set</span> }
11+
12+ <span class="hljs-keyword">class</span> <span class="hljs-keyword">var</span> v2: <span class="hljs-type">String</span> {
13+ <span class="hljs-keyword">get</span> { <span class="hljs-keyword">return</span> <span class="hljs-string">"test"</span> }
14+ <span class="hljs-keyword">set</span> { }
15+ }
Original file line number Diff line number Diff line change 1+ class func f1() -> Void { }
2+
3+ class func f2<T: Comparable>() -> T { }
4+
5+ class func f3<T>(
6+ _ p1: Int,
7+ p2: String
8+ ) async throws -> [T] { }
9+
10+ class var v1: Int { get set }
11+
12+ class var v2: String {
13+ get { return "test" }
14+ set { }
15+ }
You can’t perform that action at this time.
0 commit comments