public GoLexer() { super(new FlexAdapter(new _GoLexer()), TokenSet.orSet(GoParserDefinition.COMMENTS, GoParserDefinition.WHITESPACES)); } }
@Override public void start(@NotNull CharSequence buffer, int startOffset, int endOffset, int initialState) { super.start(buffer, startOffset, endOffset, myPerlLexerState); }
@Override public int getTokenEnd() { if (!fragmentBuffer.isEmpty()) { return super.getTokenStart() + fragmentBuffer.getFirst().endOffset; } return super.getTokenEnd(); }
@Override public int getTokenStart() { if (!fragmentBuffer.isEmpty()) { return super.getTokenStart() + fragmentBuffer.getFirst().startOffset; } return super.getTokenStart(); }
@Override public CharSequence getTokenSequence() { if (!fragmentBuffer.isEmpty()) { return super.getTokenSequence().subSequence(fragmentBuffer.getFirst().startOffset, fragmentBuffer.getFirst().endOffset); } return super.getTokenSequence(); }
@Override public void advance() { if (!fragmentBuffer.isEmpty()) { fragmentBuffer.removeFirst(); } if (fragmentBuffer.isEmpty()) { super.advance(); IElementType type = getTokenType(); if (TOKENS_TO_FRAGMENT.contains(type)) { buildFragment(); } } }
@Override public void start(CharSequence buffer, int startOffset, int endOffset, int initialState) { super.start(buffer, startOffset, endOffset, initialState); fragmentBuffer.clear(); }
public PerlTemplatingMergingLexerAdapter(@Nullable Project project, @NotNull FlexLexer flexLexer, TokenSet tokensToMerge) { super( new PerlSublexingLexerAdapter( project, new FlexAdapter(flexLexer), false), tokensToMerge ); } }
@NotNull @Override public Lexer createLexer(final Project project) { return new FlexAdapter(new ImpexLexer((Reader) null)); }
@Override protected Lexer createLexer() { return new FlexAdapter(new DHighlightingLexer(null)); }
public BashLexer(BashVersion bashVersion) { super(new FlexAdapter( new _BashLexer(bashVersion, null)), MergeTuple.create(TokenSet.create(STRING_DATA), STRING_CONTENT), MergeTuple.create(TokenSet.create(HEREDOC_LINE), HEREDOC_CONTENT)); } }