diff -r cf891b5e69ed java.lexer/src/org/netbeans/api/java/lexer/JavaTokenId.java --- a/java.lexer/src/org/netbeans/api/java/lexer/JavaTokenId.java Thu Mar 05 16:12:06 2009 +0100 +++ b/java.lexer/src/org/netbeans/api/java/lexer/JavaTokenId.java Thu Mar 05 16:51:17 2009 -0800 @@ -51,6 +51,7 @@ import org.netbeans.api.lexer.PartType; import org.netbeans.api.lexer.Token; import org.netbeans.api.lexer.TokenId; +import org.netbeans.api.lexer.TokenUtilities; import org.netbeans.lib.java.lexer.JavaLexer; import org.netbeans.spi.lexer.LanguageEmbedding; import org.netbeans.spi.lexer.LanguageHierarchy; @@ -245,6 +246,7 @@ return new JavaLexer(info); } + @SuppressWarnings("unchecked") @Override protected LanguageEmbedding embedding( Token token, LanguagePath languagePath, InputAttributes inputAttributes) { @@ -256,6 +258,18 @@ case STRING_LITERAL: return LanguageEmbedding.create(JavaStringTokenId.language(), 1, (token.partType() == PartType.COMPLETE) ? 1 : 0); + case BLOCK_COMMENT: { + // JavaScript embedding? JSNI - in GWT + if (token.text() != null && TokenUtilities.startsWith(token.text(), "/*-{") && // NOI18N + TokenUtilities.endsWith(token.text(), "}-*/")) { // NOI18N + Language lang = Language.find("text/javascript"); + if(lang != null) { + return LanguageEmbedding.create(lang, 4, 4, true); + } + } + + return null; + } } return null; // No embedding }