Skip to content

Commit

Permalink
Towards #12: Add support for metadata + dictionaries in Structure View
Browse files Browse the repository at this point in the history
  • Loading branch information
justint committed Jun 27, 2020
1 parent 00492ac commit 1cd87ef
Show file tree
Hide file tree
Showing 16 changed files with 364 additions and 66 deletions.
43 changes: 26 additions & 17 deletions src/main/gen/com/justint/usdidea/lang/parser/USDParser.java

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions src/main/gen/com/justint/usdidea/lang/psi/USDTypes.java

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 2 additions & 8 deletions src/main/gen/com/justint/usdidea/lang/psi/impl/usdDictImpl.java

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 1 addition & 4 deletions src/main/gen/com/justint/usdidea/lang/psi/usdDict.java

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

28 changes: 28 additions & 0 deletions src/main/gen/com/justint/usdidea/lang/psi/usdDictItem.java

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions src/main/gen/com/justint/usdidea/lang/psi/usdMetadatum.java

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion src/main/gen/com/justint/usdidea/lang/psi/usdPrimSpec.java

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 9 additions & 1 deletion src/main/gen/com/justint/usdidea/lang/psi/usdVisitor.java

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import com.intellij.psi.PsiElement;
import com.intellij.ui.breadcrumbs.BreadcrumbsProvider;
import com.justint.usdidea.lang.USDLanguage;
import com.justint.usdidea.lang.psi.impl.usdPrimSpecImpl;
import com.justint.usdidea.lang.psi.USDBreadcrumbItem;
import org.jetbrains.annotations.NotNull;

public class USDBreadcrumbsProvider implements BreadcrumbsProvider {
Expand All @@ -16,15 +16,12 @@ public Language[] getLanguages() {

@Override
public boolean acceptElement(@NotNull PsiElement psiElement) {
return psiElement instanceof usdPrimSpecImpl;
return (psiElement instanceof USDBreadcrumbItem);
}

@NotNull
@Override
public String getElementInfo(@NotNull PsiElement psiElement) {
if (psiElement instanceof usdPrimSpecImpl) {
return ((usdPrimSpecImpl) psiElement).getName();
}
else return "";
return ((USDBreadcrumbItem)psiElement).getName();
}
}
7 changes: 5 additions & 2 deletions src/main/java/com/justint/usdidea/lang/USD.bnf
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
parserClass="com.justint.usdidea.lang.parser.USDParser"

extends="com.intellij.extapi.psi.ASTWrapperPsiElement"
implements("DictItem|PrimSpec")="com.justint.usdidea.lang.psi.USDBreadcrumbItem"

psiClassPrefix="usd"
psiImplClassSuffix="Impl"
Expand Down Expand Up @@ -224,7 +225,7 @@ AttributeValue ::= Item

Metadata ::= leftparens (!rightparens [MetadataComment | Metadatum])* rightparens

Metadatum ::= ListEditAction? MetadataKey equals MetadataValue {pin=2 recoverWhile=Metadatum_recover}
Metadatum ::= ListEditAction? MetadataKey equals MetadataValue {methods=[getName isDictionary getPresentation] pin=2 recoverWhile=Metadatum_recover}
private Metadatum_recover ::= !(rightparens | ListEditAction | MetadataKey )

ListEditAction ::= add | append | prepend | delete | reorder
Expand All @@ -249,7 +250,9 @@ Item ::= InterpolatedArray | Array | Vector | string | number | floatnumber | Re

ReferenceItem ::= assetReference pathReference | assetReference | pathReference

Dict ::= leftbrace [!rightbrace DictKey equals DictValue (DictKey equals DictValue)*] rightbrace | leftbrace rightbrace
Dict ::= leftbrace [!rightbrace DictItem (DictItem)*] rightbrace | leftbrace rightbrace

DictItem ::= DictKey equals DictValue {methods=[getName getType isDictionary getPresentation]}

DictKey ::= AttributeType (Identifier | string)

Expand Down

0 comments on commit 1cd87ef

Please sign in to comment.