File tree Expand file tree Collapse file tree 3 files changed +14
-7
lines changed Expand file tree Collapse file tree 3 files changed +14
-7
lines changed Original file line number Diff line number Diff line change @@ -33,7 +33,7 @@ import com.intellij.psi.TokenType;
33
33
IDENTIFIER = [ a- zA- Z0- 9][ _\- a- zA- Z0- 9] *
34
34
35
35
VARIABLE_ID = [ a- zA- Z0- 9][ _\- a- zA- Z0- 9] *
36
- AGENT_ID =( [ a- zA- Z0- 9][ _\- a- zA- Z0- 9] *)( ":" [ ._ \- a - zA - Z0 - 9 ] *)?
36
+ AGENT_ID = [ a- zA- Z0- 9][ _\- a- zA- Z0- 9] *
37
37
COMMAND_ID = [ a- zA- Z0- 9][ _\- a- zA- Z0- 9] *
38
38
LANGUAGE_ID = [ a- zA- Z0- 9][ _\- a- zA- Z0- 9 .] *
39
39
@@ -42,6 +42,7 @@ CODE_CONTENT=[^\n]+
42
42
NEWLINE = \n | \r | \r\n
43
43
44
44
COLON = :
45
+ PROPERTY_VALUE = [^ :] +
45
46
46
47
%{
47
48
private boolean isCodeStart = false ;
@@ -115,8 +116,10 @@ COLON=:
115
116
}
116
117
117
118
<AGENT_BLOCK> {
118
- {AGENT_ID} { yybegin(YYINITIAL ); return AGENT_ID ; }
119
- [^] { return TokenType . BAD_CHARACTER ; }
119
+ {AGENT_ID} { return AGENT_ID ; }
120
+ {COLON} { return COLON ; }
121
+ {PROPERTY_VALUE} { return PROPERTY_VALUE ; }
122
+ [^] { yypushback(1 ); yybegin(YYINITIAL ); }
120
123
}
121
124
122
125
<COMMAND_BLOCK> {
Original file line number Diff line number Diff line change 27
27
VARIABLE_ID = "VARIABLE_ID"
28
28
COMMAND_ID = "COMMAND_ID"
29
29
AGENT_ID = "AGENT_ID"
30
+ COLON = "COLON"
31
+ PROPERTY_VALUE = "PROPERTY_VALUE"
30
32
]
31
33
}
32
34
33
35
DevInFile ::= (used | code | TEXT_SEGMENT | NEWLINE)*
34
36
35
37
used ::= (
36
- AGENT_START AGENT_ID?
37
- | COMMAND_START COMMAND_ID?
38
- | VARIABLE_START VARIABLE_ID?
38
+ AGENT_START AGENT_ID (COLON PROPERTY_VALUE) ?
39
+ | COMMAND_START COMMAND_ID
40
+ | VARIABLE_START VARIABLE_ID
39
41
)
40
42
41
43
code ::= CODE_BLOCK_START LANGUAGE_ID? NEWLINE? code_contents? CODE_BLOCK_END?
Original file line number Diff line number Diff line change @@ -19,7 +19,9 @@ DevInFile
19
19
PsiElement(DevInTokenType.NEWLINE)('\n')
20
20
DevInUsedImpl(USED)
21
21
PsiElement(DevInTokenType.AGENT_START)('@')
22
- PsiElement(DevInTokenType.AGENT_ID)('file:Sample.file')
22
+ PsiElement(DevInTokenType.AGENT_ID)('file')
23
+ PsiElement(DevInTokenType.COLON)(':')
24
+ PsiElement(DevInTokenType.PROPERTY_VALUE)('Sample.file')
23
25
PsiElement(DevInTokenType.TEXT_SEGMENT)(' 从文件中读取内容')
24
26
PsiElement(DevInTokenType.NEWLINE)('\n')
25
27
PsiElement(DevInTokenType.TEXT_SEGMENT)('#system_id:51 传递参数到 story_id')
You can’t perform that action at this time.
0 commit comments