mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-16 14:23:28 +07:00
59 lines
1.7 KiB
Java
59 lines
1.7 KiB
Java
// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
|
package com.intellij.jsonpath.psi;
|
|
|
|
import com.intellij.jsonpath.JsonPathLanguage;
|
|
import com.intellij.jsonpath.lexer.JsonPathLexer;
|
|
import com.intellij.jsonpath.parser.JsonPathParser;
|
|
import com.intellij.lang.ASTNode;
|
|
import com.intellij.lang.ParserDefinition;
|
|
import com.intellij.lang.PsiParser;
|
|
import com.intellij.lexer.Lexer;
|
|
import com.intellij.openapi.project.Project;
|
|
import com.intellij.psi.FileViewProvider;
|
|
import com.intellij.psi.PsiElement;
|
|
import com.intellij.psi.PsiFile;
|
|
import com.intellij.psi.tree.IFileElementType;
|
|
import com.intellij.psi.tree.TokenSet;
|
|
import org.jetbrains.annotations.NotNull;
|
|
|
|
import static com.intellij.jsonpath.psi.JsonPathTokenSets.JSONPATH_STRINGS_SET;
|
|
|
|
public final class JsonPathParserDefinition implements ParserDefinition {
|
|
public static final IFileElementType FILE = new IFileElementType(JsonPathLanguage.INSTANCE);
|
|
|
|
@Override
|
|
public @NotNull Lexer createLexer(Project project) {
|
|
return new JsonPathLexer();
|
|
}
|
|
|
|
@Override
|
|
public @NotNull PsiParser createParser(Project project) {
|
|
return new JsonPathParser();
|
|
}
|
|
|
|
@Override
|
|
public @NotNull PsiFile createFile(@NotNull FileViewProvider viewProvider) {
|
|
return new JsonPathFile(viewProvider);
|
|
}
|
|
|
|
@Override
|
|
public @NotNull IFileElementType getFileNodeType() {
|
|
return FILE;
|
|
}
|
|
|
|
@Override
|
|
public @NotNull TokenSet getCommentTokens() {
|
|
return TokenSet.EMPTY;
|
|
}
|
|
|
|
@Override
|
|
public @NotNull TokenSet getStringLiteralElements() {
|
|
return JSONPATH_STRINGS_SET;
|
|
}
|
|
|
|
@Override
|
|
public @NotNull PsiElement createElement(ASTNode node) {
|
|
return JsonPathTypes.Factory.createElement(node);
|
|
}
|
|
}
|