@Nullable @Override public Lexer getIndexingLexer(@NotNull PsiFile file) { return file instanceof GoFile ? ((GoFile)file).getParserDefinition().createLexer(file.getProject()) : null; }
@Nullable @Override public Lexer getIndexingLexer(@NotNull PsiFile file) { if (file instanceof BallerinaFile) { return ((BallerinaFile) file).getParserDefinition().createLexer(file.getProject()); } return null; }
? def.createLexer(project) : new PrefixSuffixAddingLexer(def.createLexer(project), prefix, TokenType.WHITE_SPACE, suffix, TokenType.WHITE_SPACE);
@NotNull protected ASTNode createAST(@NotNull String text, @NotNull ParserDefinition definition) { PsiParser parser = definition.createParser(getProject()); Lexer lexer = definition.createLexer(getProject()); PsiBuilderImpl psiBuilder = new PsiBuilderImpl(getProject(), null, definition, lexer, new CharTableImpl(), text, null, null); return parser.parse(definition.getFileNodeType(), psiBuilder); }
@NotNull protected SyntaxTraverser<LighterASTNode> parseLight(@NotNull String text, @NotNull ParserDefinition definition) { LightPsiParser parser = (LightPsiParser)definition.createParser(getProject()); Lexer lexer = definition.createLexer(getProject()); PsiBuilderImpl psiBuilder = new PsiBuilderImpl(getProject(), null, definition, lexer, new CharTableImpl(), text, null, null); parser.parseLight(definition.getFileNodeType(), psiBuilder); return SyntaxTraverser.lightTraverser(psiBuilder); }
public static PsiElement createEmptyCsvField(Project project) { final String text = "<undefined>"; final IElementType type = CsvTypes.FIELD; final PsiManager psiManager = PsiManager.getInstance(project); final DummyHolder dummyHolder = DummyHolderFactory.createHolder(psiManager, null); final FileElement fileElement = dummyHolder.getTreeElement(); final ParserDefinition parserDefinition = LanguageParserDefinitions.INSTANCE.forLanguage(CsvLanguage.INSTANCE); final Lexer lexer = parserDefinition.createLexer(project); final PsiBuilder psiBuilder = PsiBuilderFactory.getInstance().createBuilder(project, fileElement, lexer, CsvLanguage.INSTANCE, text); final ASTNode node = parserDefinition.createParser(project).parse(type, psiBuilder); fileElement.rawAddChildren((com.intellij.psi.impl.source.tree.TreeElement) node); return node.getPsi(); }