initial commit

This commit is contained in:
me
2024-05-23 19:27:43 +08:00
parent 70275b14e9
commit b9a77b4453
14 changed files with 88 additions and 27 deletions

View File

@@ -2,7 +2,7 @@
generate=[token-case="as-is" element-case="as-is"]
parserClass="me.zhouxi.slint.lang.parser.SlintParser"
implements="me.zhouxi.slint.lang.psi.SlintPsiElement"
extends="me.zhouxi.slint.lang.psi.SlintPsiElementImpl"
extends="me.zhouxi.slint.lang.psi.impl.SlintPsiElementImpl"
elementTypeHolderClass="me.zhouxi.slint.lang.psi.SlintTypes"
elementTypeClass="me.zhouxi.slint.lang.SlintElementType"
tokenTypeClass="me.zhouxi.slint.lang.SlintTokenType"
@@ -133,8 +133,12 @@ ExportModule ::= '*' FromKeyword ModuleLocation ';'{
Component ::= ComponentKeyword ComponentName InheritDeclaration? ComponentBody {
pin=1
implements=["me.zhouxi.slint.lang.psi.SlintPsiNamedElement"]
mixin="me.zhouxi.slint.lang.psi.impl.SlintPsiNamedElementMixinImpl"
implements=[
"me.zhouxi.slint.lang.psi.SlintPsiNamedElement"
"com.intellij.psi.StubBasedPsiElement<me.zhouxi.slint.stubs.stub.SlintComponentStub>"
]
stubClass="me.zhouxi.slint.stubs.stub.SlintComponentStub"
mixin="me.zhouxi.slint.lang.psi.impl.SlintStubBasedPsiNamedElementImpl<me.zhouxi.slint.stubs.stub.SlintComponentStub>"
}
//组件定义
//private LegacyComponent ::= (ComponentName|NamedIdentifier ':=' ) ComponentBody
@@ -183,7 +187,7 @@ PropertyChanged ::= ChangedKeyword LocalVariable '=>' CodeBlock{
// 回调定义 pure callback abc()->int; callback abc; callback(..);callback()->type;
CallbackDeclaration ::= PureKeyword? CallbackKeyword FunctionName CallbackBinding? ';'{
pin=2
implements=["me.zhouxi.slint.lang.psi.SlintPsiNamedElement"]
implements=["me.zhouxi.slint.lang.psi.SlintPsiNamedElement""me.zhouxi.slint.stubs.SlintPsiStubElement<>"]
mixin="me.zhouxi.slint.lang.psi.impl.SlintPsiNamedElementMixinImpl"
}
//回调参数定义
@@ -502,7 +506,7 @@ Named ::= PropertyName | TypeName |ExternalName | InternalName|ComponentName|Fu
pin=1
}
{
extends("PropertyName|TypeName|ComponentName|FunctionName")=Named
extends("PropertyName|TypeName|ComponentName|FunctionName|InternalName|ExternalName")=Named
}
LocalVariable ::= GenericIdentifier{
mixin="me.zhouxi.slint.lang.psi.impl.SlintPsiNamedElementMixinImpl"