feat(javadoc): early markdown support part 2

GitOrigin-RevId: 74093daa489fda535b3951828d6617519e5d293f
This commit is contained in:
Mathias Boulay
2024-08-14 02:45:23 +00:00
committed by intellij-monorepo-bot
parent 0ccfb8e55f
commit 6ebdc205ef
26 changed files with 324 additions and 150 deletions
@@ -2,13 +2,13 @@
// source: _JavaDocLexer.flex
/* It's an automatically generated code. Do not modify it. */
package com.intellij.lang.java.lexer;
package com.intellij.lang.java.lexer;
import com.intellij.lexer.DocCommentTokenTypes;
import com.intellij.lexer.FlexLexer;
import com.intellij.psi.tree.IElementType;
import com.intellij.lexer.JavaDocCommentTokenTypes;
import com.intellij.lexer.FlexLexer;
import com.intellij.psi.tree.IElementType;
@SuppressWarnings("ALL")
@SuppressWarnings("ALL")
class _JavaDocLexer implements FlexLexer {
@@ -565,31 +565,31 @@ class _JavaDocLexer implements FlexLexer {
/* user code: */
private boolean myJdk15Enabled;
private DocCommentTokenTypes myTokenTypes;
private int mySnippetBracesLevel = 0;
/* Enable markdown support for java 23 */
private boolean myMarkdownMode = false;
private JavaDocCommentTokenTypes myTokenTypes;
private int mySnippetBracesLevel = 0;
/* Enable markdown support for java 23 */
private boolean myMarkdownMode = false;
public _JavaDocLexer(boolean isJdk15Enabled, DocCommentTokenTypes tokenTypes) {
this((java.io.Reader)null);
myJdk15Enabled = isJdk15Enabled;
myTokenTypes = tokenTypes;
}
public _JavaDocLexer(boolean isJdk15Enabled, JavaDocCommentTokenTypes tokenTypes) {
this((java.io.Reader)null);
myJdk15Enabled = isJdk15Enabled;
myTokenTypes = tokenTypes;
}
/** Should be called right after a reset */
public void setMarkdownMode(boolean isEnabled) {
myMarkdownMode = isEnabled;
}
/** Should be called right after a reset */
public void setMarkdownMode(boolean isEnabled) {
myMarkdownMode = isEnabled;
}
public boolean checkAhead(char c) {
if (zzMarkedPos >= zzBuffer.length()) return false;
return zzBuffer.charAt(zzMarkedPos) == c;
}
public boolean checkAhead(char c) {
if (zzMarkedPos >= zzBuffer.length()) return false;
return zzBuffer.charAt(zzMarkedPos) == c;
}
public void goTo(int offset) {
zzCurrentPos = zzMarkedPos = zzStartRead = offset;
zzAtEOF = false;
}
public void goTo(int offset) {
zzCurrentPos = zzMarkedPos = zzStartRead = offset;
zzAtEOF = false;
}
/**
@@ -1,10 +1,7 @@
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.lang.java.lexer;
import com.intellij.lexer.DocCommentTokenTypes;
import com.intellij.lexer.JavaDocTokenTypes;
import com.intellij.lexer.LexerBase;
import com.intellij.lexer.MergingLexerAdapter;
import com.intellij.lexer.*;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.tree.IElementType;
@@ -18,7 +15,7 @@ public class JavaDocLexer extends MergingLexerAdapter {
this(JavaDocTokenTypes.INSTANCE, level.isAtLeast(LanguageLevel.JDK_1_5));
}
private JavaDocLexer(DocCommentTokenTypes tokenTypes, boolean isJdk15Enabled) {
private JavaDocLexer(JavaDocCommentTokenTypes tokenTypes, boolean isJdk15Enabled) {
super(new AsteriskStripperLexer(new _JavaDocLexer(isJdk15Enabled, tokenTypes), tokenTypes), tokenTypes.spaceCommentsTokenSet());
}
@@ -1,40 +1,40 @@
/* It's an automatically generated code. Do not modify it. */
package com.intellij.lang.java.lexer;
package com.intellij.lang.java.lexer;
import com.intellij.lexer.DocCommentTokenTypes;
import com.intellij.lexer.FlexLexer;
import com.intellij.psi.tree.IElementType;
import com.intellij.lexer.JavaDocCommentTokenTypes;
import com.intellij.lexer.FlexLexer;
import com.intellij.psi.tree.IElementType;
@SuppressWarnings("ALL")
@SuppressWarnings("ALL")
%%
%{
private boolean myJdk15Enabled;
private DocCommentTokenTypes myTokenTypes;
private int mySnippetBracesLevel = 0;
/* Enable markdown support for java 23 */
private boolean myMarkdownMode = false;
private JavaDocCommentTokenTypes myTokenTypes;
private int mySnippetBracesLevel = 0;
/* Enable markdown support for java 23 */
private boolean myMarkdownMode = false;
public _JavaDocLexer(boolean isJdk15Enabled, DocCommentTokenTypes tokenTypes) {
this((java.io.Reader)null);
myJdk15Enabled = isJdk15Enabled;
myTokenTypes = tokenTypes;
}
public _JavaDocLexer(boolean isJdk15Enabled, JavaDocCommentTokenTypes tokenTypes) {
this((java.io.Reader)null);
myJdk15Enabled = isJdk15Enabled;
myTokenTypes = tokenTypes;
}
/** Should be called right after a reset */
public void setMarkdownMode(boolean isEnabled) {
myMarkdownMode = isEnabled;
}
/** Should be called right after a reset */
public void setMarkdownMode(boolean isEnabled) {
myMarkdownMode = isEnabled;
}
public boolean checkAhead(char c) {
if (zzMarkedPos >= zzBuffer.length()) return false;
return zzBuffer.charAt(zzMarkedPos) == c;
}
public boolean checkAhead(char c) {
if (zzMarkedPos >= zzBuffer.length()) return false;
return zzBuffer.charAt(zzMarkedPos) == c;
}
public void goTo(int offset) {
zzCurrentPos = zzMarkedPos = zzStartRead = offset;
zzAtEOF = false;
}
public void goTo(int offset) {
zzCurrentPos = zzMarkedPos = zzStartRead = offset;
zzAtEOF = false;
}
%}
%class _JavaDocLexer