Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Allow class declaration and inheritance to be on a separate line.
Also add support for virtual inheritance.
  • Loading branch information
Frédéric Nadeau, ing committed Nov 6, 2017
1 parent 9c0c5f2 commit 951aecb
Showing 1 changed file with 14 additions and 16 deletions.
30 changes: 14 additions & 16 deletions grammars/c++.cson
Original file line number Diff line number Diff line change
Expand Up @@ -281,33 +281,31 @@
]
}
{
'begin': '\\b(class|struct)\\b\\s*([_A-Za-z][_A-Za-z0-9]*\\b)?+(\\s*:\\s*(public|protected|private)\\s*([_A-Za-z][_A-Za-z0-9]*\\b)((\\s*,\\s*(public|protected|private)\\s*[_A-Za-z][_A-Za-z0-9]*\\b)*))?'
'begin': '\\b(class|struct)\\b\\s*([_A-Za-z][_A-Za-z0-9]*\\b)?+(\\s*:\\s*)?'
'beginCaptures':
'1':
'name': 'storage.type.cpp'
'2':
'name': 'entity.name.type.cpp'
'4':
'name': 'storage.type.modifier.cpp'
'5':
'name': 'entity.name.type.inherited.cpp'
'6':
'patterns': [
{
'match': '(public|protected|private)'
'name': 'storage.type.modifier.cpp'
}
{
'match': '[_A-Za-z][_A-Za-z0-9]*'
'name': 'entity.name.type.inherited.cpp'
}
]
'end': '(?<=\\})|(?=(;|\\(|\\)|>|\\[|\\]|=))'
'name': 'meta.class-struct-block.cpp'
'patterns': [
{
'include': '#angle_brackets'
}
{
'begin': '(virtual\\s*)?(public|protected|private)\\s*(virtual\\s*)?([_A-Za-z][_A-Za-z0-9]*)\\b'
'beginCaptures':
'1':
'name': 'storage.type.modifier.cpp'
'2':
'name': 'storage.type.modifier.cpp'
'3':
'name': 'storage.type.modifier.cpp'
'4':
'name': 'entity.name.type.inherited.cpp'
'end': '(\\{)|(\\s*\\n)|(,)?'
}
{
'begin': '\\{'
'beginCaptures':
Expand Down

0 comments on commit 951aecb

Please sign in to comment.