mirror of
https://github.com/Myzel394/config-lsp.git
synced 2025-06-19 15:35:28 +02:00
60 lines
742 B
ANTLR
60 lines
742 B
ANTLR
grammar Config;
|
|
|
|
lineStatement
|
|
: WHITESPACE? entry WHITESPACE? leadingComment? EOF
|
|
;
|
|
|
|
entry
|
|
: key? WHITESPACE? separator? WHITESPACE? value?
|
|
;
|
|
|
|
leadingComment
|
|
: commentSymbol WHITESPACE? (string WHITESPACE?)+
|
|
;
|
|
|
|
key
|
|
: string
|
|
;
|
|
|
|
separator
|
|
: EQUAL
|
|
;
|
|
|
|
value
|
|
: string
|
|
;
|
|
|
|
string
|
|
: (WHITESPACE? ((STRING | QUOTED_STRING) WHITESPACE)* (STRING | QUOTED_STRING))
|
|
;
|
|
|
|
commentSymbol
|
|
: HASH | SEMICOLON
|
|
;
|
|
|
|
///////////////////////////////////////////////
|
|
|
|
EQUAL
|
|
: '='
|
|
;
|
|
|
|
HASH
|
|
: '#'
|
|
;
|
|
|
|
SEMICOLON
|
|
: ';'
|
|
;
|
|
|
|
WHITESPACE
|
|
: [ \t]+
|
|
;
|
|
|
|
STRING
|
|
: ~('\r' | '\n' | '"' | ' ' | '\t')+
|
|
;
|
|
|
|
QUOTED_STRING
|
|
: '"' WHITESPACE? (STRING WHITESPACE)* STRING? ('"')?
|
|
;
|