@Override protected LanguageEmbedding embedding( Token<CPTokenId> token, LanguagePath languagePath, InputAttributes inputAttributes) { //there can be just one token with CssTokenId.CSS type - always create core css language embedding return LanguageEmbedding.create(getCoreCssLanguage(), 0, 0); }
@Override protected LanguageEmbedding embedding( Token<CPTokenId> token, LanguagePath languagePath, InputAttributes inputAttributes) { //there can be just one token with CssTokenId.CSS type - always create core css language embedding return LanguageEmbedding.create(getCoreCssLanguage(), 0, 0); }
@Override protected LanguageEmbedding<?> embedding(Token<PHPTokenId> token, LanguagePath languagePath, InputAttributes inputAttributes) { PHPTokenId id = token.id(); if (id == T_INLINE_HTML) { return LanguageEmbedding.create(HTMLTokenId.language(), 0, 0, true); } else if (id == PHPDOC_COMMENT) { return LanguageEmbedding.create(PHPDocCommentTokenId.language(), 0, 0); } return null; // No embedding } }
@Override protected LanguageEmbedding<?> embedding(Token<RubyTokenId> token, LanguagePath languagePath, InputAttributes inputAttributes) { RubyTokenId id = token.id(); if (id == QUOTED_STRING_LITERAL) { return LanguageEmbedding.create(RubyStringTokenId.languageDouble(), 0, 0); } else if (id == STRING_LITERAL) { return LanguageEmbedding.create(RubyStringTokenId.languageSingle(), 0, 0); } else if ((id == LINE_COMMENT) || (id == BLOCK_COMMENT)) { return LanguageEmbedding.create(RubyCommentTokenId.language(), 1, 0); //} else if (id == REGEXP_LITERAL) { // return LanguageEmbedding.create(RubyRegexpTokenId.language(), 0, 0); } else if (id == DOCUMENTATION) { return LanguageEmbedding.create(RubyCommentTokenId.language(), 0, 0); } else if (id == EMBEDDED_RUBY) { return LanguageEmbedding.create(RubyTokenId.language(), 0, 0); } return null; // No embedding } }.language();
@Override protected LanguageEmbedding<? extends TokenId> embedding(Token<RhtmlTokenId> token, LanguagePath languagePath, InputAttributes inputAttributes) { switch(token.id()) { case HTML: return LanguageEmbedding.create(HTMLTokenId.language(), 0, 0, true); case RUBY_EXPR: case RUBY: return LanguageEmbedding.create(RubyTokenId.language(), 0, 0, false); default: return null; } }
@Override protected LanguageEmbedding<?> embedding( Token<FortranTokenId> token, LanguagePath languagePath, InputAttributes inputAttributes) { // Test language embedding in the block comment and string literal switch (token.id()) { case STRING_LITERAL: return LanguageEmbedding.create(CppStringTokenId.languageDouble(), 0, 0); case PREPROCESSOR_DIRECTIVE: return LanguageEmbedding.create(CppTokenId.languagePreproc(), 0, 0); } return null; // No embedding } }
@Override protected LanguageEmbedding<?> embedding( Token<RubyStringTokenId> token, LanguagePath languagePath, InputAttributes inputAttributes) { RubyStringTokenId id = token.id(); if (id == EMBEDDED_RUBY) { return LanguageEmbedding.create(RubyTokenId.language(), 0, 0); } return null; // No embedding }
@Override protected LanguageEmbedding<?> embedding( Token<RubyStringTokenId> token, LanguagePath languagePath, InputAttributes inputAttributes) { RubyStringTokenId id = token.id(); if (id == EMBEDDED_RUBY) { return LanguageEmbedding.create(RubyTokenId.language(), 0, 0); } return null; // No embedding }
return LanguageEmbedding.create(DoxygenTokenId.language(), 2, (token.partType() == PartType.COMPLETE) ? 2 : 0); case LINE_COMMENT: return LanguageEmbedding.create(DoxygenTokenId.language(), 2, 0); case DOXYGEN_COMMENT: return LanguageEmbedding.create(DoxygenTokenId.language(), 3, (token.partType() == PartType.COMPLETE) ? 2 : 0); case DOXYGEN_LINE_COMMENT: return LanguageEmbedding.create(DoxygenTokenId.language(), 3, 0); case RAW_STRING_LITERAL: return LanguageEmbedding.create(CppStringTokenId.languageRawString(), 0, 0); case STRING_LITERAL: return LanguageEmbedding.create(CppStringTokenId.languageDouble(), 0, 0); case CHAR_LITERAL: return LanguageEmbedding.create(CppStringTokenId.languageSingle(), 0, 0); case PREPROCESSOR_DIRECTIVE: return LanguageEmbedding.create(languagePreproc, 0, 0);
@Override protected LanguageEmbedding<?> embedding( Token<JspTokenId> token, LanguagePath languagePath, InputAttributes inputAttributes) { switch(token.id()) { case TEXT: return LanguageEmbedding.create(HTMLTokenId.language(), 0, 0, true); case EL: //lexer infrastructure workaround - need to adjust skiplenghts in case of short token int startSkipLength = token.length() > 2 ? 2 : token.length(); int endSkipLength = token.length() > 2 ? 1 : 0; return LanguageEmbedding.create(ELTokenId.language(), startSkipLength, endSkipLength); case SCRIPTLET: return LanguageEmbedding.create(JavaTokenId.language(), 0, 0, false); default: return null; } }
public LanguageEmbedding<?> findLanguageEmbedding ( Token token, LanguagePath languagePath, InputAttributes inputAttributes ) { String mimeType = languagePath.innerLanguage ().mimeType (); if (!LanguagesManager.getDefault ().isSupported (mimeType)) return null; Language<STokenId> language = getTokenImport (mimeType, token); if (language == null) language = getPreprocessorImport (languagePath, token); if (language == null) return null; Integer i = (Integer) token.getProperty ("startSkipLength"); int startSkipLength = i == null ? 0 : i.intValue (); i = (Integer) token.getProperty ("endSkipLength"); int endSkipLength = i == null ? 0 : i.intValue (); return LanguageEmbedding.create ( language, startSkipLength, endSkipLength ); }