[quickdoc] (IDEA-278104) Moved quick doc syntax highlighting settings into Advanced Settings

GitOrigin-RevId: 3d9e5969d0e7602fbf835376092f1fb1aeb0c093
This commit is contained in:
Alexander Bashkirov
2021-10-04 16:10:45 +00:00
committed by intellij-monorepo-bot
parent 29253b1590
commit 63f3dd3b90
13 changed files with 59 additions and 93 deletions
@@ -9,10 +9,12 @@ import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.editor.colors.TextAttributesKey;
import com.intellij.openapi.editor.ex.EditorSettingsExternalizable;
import com.intellij.openapi.editor.richcopy.HtmlSyntaxInfoUtil;
import com.intellij.openapi.options.advanced.AdvancedSettings;
import com.intellij.openapi.project.IndexNotReadyException;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.psi.*;
import com.intellij.util.MathUtil;
import com.intellij.util.ObjectUtils;
import com.intellij.util.containers.ContainerUtil;
import one.util.streamex.StreamEx;
@@ -76,7 +78,7 @@ public final class AnnotationDocGenerator {
}
private static float getHighlightingSaturation() {
return EditorSettingsExternalizable.getInstance().getDocSyntaxHighlightingSaturation() * 0.01f;
return MathUtil.clamp(AdvancedSettings.getInt("documentation.components.doc.syntax.highlighting.saturation"), 0, 100) * 0.01f;
}
private static void appendStyledSpan(
@@ -23,6 +23,7 @@ import com.intellij.openapi.editor.colors.EditorColorsScheme;
import com.intellij.openapi.editor.ex.EditorSettingsExternalizable;
import com.intellij.openapi.editor.markup.TextAttributes;
import com.intellij.openapi.editor.richcopy.HtmlSyntaxInfoUtil;
import com.intellij.openapi.options.advanced.AdvancedSettings;
import com.intellij.openapi.project.DumbService;
import com.intellij.openapi.project.IndexNotReadyException;
import com.intellij.openapi.project.Project;
@@ -44,10 +45,7 @@ import com.intellij.psi.impl.source.tree.JavaElementType;
import com.intellij.psi.javadoc.*;
import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.psi.util.*;
import com.intellij.util.ArrayUtil;
import com.intellij.util.ArrayUtilRt;
import com.intellij.util.IncorrectOperationException;
import com.intellij.util.ObjectUtils;
import com.intellij.util.*;
import com.intellij.util.containers.ContainerUtil;
import kotlin.text.StringsKt;
import org.jdom.Element;
@@ -163,7 +161,7 @@ public class JavaDocInfoGenerator {
}
public float getHighlightingSaturation() {
return EditorSettingsExternalizable.getInstance().getDocSyntaxHighlightingSaturation() * 0.01f;
return MathUtil.clamp(AdvancedSettings.getInt("documentation.components.doc.syntax.highlighting.saturation"), 0, 100) * 0.01f;
}
public @NotNull JavaDocHighlightingManager getHighlightingManager() {
@@ -2,8 +2,8 @@
package com.intellij.codeInsight.javadoc;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.diagnostic.Checks;
import com.intellij.openapi.editor.ex.EditorSettingsExternalizable;
import com.intellij.openapi.options.advanced.AdvancedSettings;
import com.intellij.openapi.project.Project;
import com.intellij.psi.PsiElement;
import org.jetbrains.annotations.NotNull;
@@ -17,14 +17,17 @@ public class JavaDocInfoGeneratorFactory {
}
protected JavaDocInfoGenerator createImpl(@NotNull Project project, @Nullable PsiElement element) {
EditorSettingsExternalizable.getInstance();
EditorSettingsExternalizable.getInstance();
EditorSettingsExternalizable.getInstance();
return new JavaDocInfoGenerator(
project,
element,
JavaDocHighlightingManagerImpl.getInstance(),
false,
EditorSettingsExternalizable.getInstance().isDocSyntaxHighlightingEnabled(),
EditorSettingsExternalizable.getInstance().isDocSyntaxHighlightingOfInlineCodeBlocksEnabled(),
EditorSettingsExternalizable.getInstance().isDocSyntaxHighlightingOfLinksEnabled());
AdvancedSettings.getBoolean("documentation.components.enable.doc.syntax.highlighting"),
AdvancedSettings.getBoolean("documentation.components.enable.doc.syntax.highlighting.of.inline.code.blocks"),
AdvancedSettings.getBoolean("documentation.components.enable.doc.syntax.highlighting.of.links"));
}
@NotNull
@@ -42,9 +45,12 @@ public class JavaDocInfoGeneratorFactory {
private @Nullable PsiElement myElement;
private @NotNull JavaDocHighlightingManager myManager = new JavaDocHighlightingManagerImpl();
private boolean myIsRendered = false;
private boolean myDoHighlighting = EditorSettingsExternalizable.getInstance().isDocSyntaxHighlightingEnabled();
private boolean myDoHighlightBlocks = EditorSettingsExternalizable.getInstance().isDocSyntaxHighlightingOfInlineCodeBlocksEnabled();
private boolean myDoHighlightLinks = EditorSettingsExternalizable.getInstance().isDocSyntaxHighlightingOfLinksEnabled();
private boolean myDoHighlighting =
AdvancedSettings.getBoolean("documentation.components.enable.doc.syntax.highlighting");
private boolean myDoHighlightBlocks =
AdvancedSettings.getBoolean("documentation.components.enable.doc.syntax.highlighting.of.inline.code.blocks");
private boolean myDoHighlightLinks =
AdvancedSettings.getBoolean("documentation.components.enable.doc.syntax.highlighting.of.inline.code.blocks");
private JavaDocInfoGeneratorBuilder(@NotNull Project project) {
myProject = project;
@@ -24,6 +24,7 @@ import com.intellij.openapi.editor.ex.EditorSettingsExternalizable;
import com.intellij.openapi.editor.markup.TextAttributes;
import com.intellij.openapi.editor.richcopy.HtmlSyntaxInfoUtil;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.options.advanced.AdvancedSettings;
import com.intellij.openapi.progress.ProcessCanceledException;
import com.intellij.openapi.project.IndexNotReadyException;
import com.intellij.openapi.project.Project;
@@ -46,6 +47,7 @@ import com.intellij.psi.infos.CandidateInfo;
import com.intellij.psi.javadoc.PsiDocComment;
import com.intellij.psi.javadoc.PsiDocTag;
import com.intellij.psi.util.*;
import com.intellij.util.MathUtil;
import com.intellij.util.SmartList;
import com.intellij.util.Url;
import com.intellij.util.containers.ContainerUtil;
@@ -103,11 +105,11 @@ public class JavaDocumentationProvider implements CodeDocumentationProvider, Ext
}
protected static boolean doSyntaxHighlighting() {
return EditorSettingsExternalizable.getInstance().isDocSyntaxHighlightingEnabled();
return AdvancedSettings.getBoolean("documentation.components.enable.doc.syntax.highlighting");
}
protected static float getHighlightingSaturation() {
return EditorSettingsExternalizable.getInstance().getDocSyntaxHighlightingSaturation() * 0.01f;
return MathUtil.clamp(AdvancedSettings.getInt("documentation.components.doc.syntax.highlighting.saturation"), 0, 100) * 0.01f;
}
@Override
@@ -828,6 +828,11 @@ advanced.setting.editor.open.tabs.in.main.window=Open declaration source called
advanced.setting.editor.open.tabs.in.main.window.description=When navigating to a method/class/variable declaration from a tab in the detached window, new tabs will be opened in the main IDE window. Overrides 'Open declaration source in the same tab'.
advanced.setting.ide.macos.disable.native.shortcut.symbols=Use words instead of symbols for macOS keyboard shortcuts
advanced.setting.ide.macos.disable.native.shortcut.symbols.description=Change shortcut symbols \u238B, \u232B, \u2325, and others to Esc, Backspace, Option, etc
advanced.setting.documentation.components.enable.doc.syntax.highlighting=Enable code highlighting in documentation components
advanced.setting.documentation.components.enable.doc.syntax.highlighting.of.inline.code.blocks=Highlight inline code blocks
advanced.setting.documentation.components.enable.doc.syntax.highlighting.of.links=Highlight links on code elements
advanced.setting.documentation.components.doc.syntax.highlighting.saturation=Highlighting saturation
advanced.setting.documentation.components.doc.syntax.highlighting.saturation.description=Allows reducing saturation of highlighting colors in order to lower distraction from the main code. Here 100 is the normal saturation (bright tones) and 0 is zero saturation (grey tones)
group.advanced.settings.other=Other
group.advanced.settings.ide=IDE
group.advanced.settings.ui=User Interface
@@ -837,6 +842,7 @@ group.advanced.settings.editor=Editor
group.advanced.settings.editor.tabs=Editor Tabs
group.advanced.settings.find=Find/Replace
group.advanced.settings.terminal=Terminal
group.advanced.settings.documentation.components=Documentation Components
feedback.form.title=Feedback
feedback.form.evaluation.prompt=Tell us about your experience
feedback.form.prompt=Share Your Feedback
@@ -15,6 +15,7 @@ import com.intellij.openapi.extensions.ExtensionPointName
import com.intellij.openapi.options.BoundCompositeSearchableConfigurable
import com.intellij.openapi.options.Configurable
import com.intellij.openapi.options.UnnamedConfigurable
import com.intellij.openapi.options.advanced.AdvancedSettings.Companion.getBoolean
import com.intellij.openapi.options.ex.ConfigurableWrapper
import com.intellij.openapi.ui.DialogPanel
import com.intellij.ui.layout.*
@@ -42,9 +43,6 @@ private val myFocusModeCheckBox get() = CheckboxDescriptor
private val myCbShowIntentionBulbCheckBox get() = CheckboxDescriptor(ApplicationBundle.message("checkbox.show.intention.bulb"), PropertyBinding(model::isShowIntentionBulb, model::setShowIntentionBulb))
private val myCodeLensCheckBox get() = CheckboxDescriptor(IdeBundle.message("checkbox.show.editor.preview.popup"), uiSettings::showEditorToolTip)
private val myRenderedDocCheckBox get() = CheckboxDescriptor(IdeBundle.message("checkbox.show.rendered.doc.comments"), PropertyBinding(model::isDocCommentRenderingEnabled, model::setDocCommentRenderingEnabled))
private val myDocSyntaxHighlightingCheckBox get() = CheckboxDescriptor(IdeBundle.message("checkbox.enable.doc.syntax.highlighting"), PropertyBinding(model::isDocSyntaxHighlightingEnabled, model::setDocSyntaxHighlightingEnabled))
private val myDocSyntaxHighlightingOfInlineCode get() = CheckboxDescriptor(IdeBundle.message("checkbox.enable.doc.syntax.highlighting.of.inline.code.blocks"), PropertyBinding(model::isDocSyntaxHighlightingOfInlineCodeBlocksEnabled, model::setDocSyntaxHighlightingOfInlineCodeBlocksEnabled))
private val myDocSyntaxHighlightingOfLinksCheckBox get() = CheckboxDescriptor(IdeBundle.message("checkbox.enable.doc.syntax.highlighting.of.links"), PropertyBinding(model::isDocSyntaxHighlightingOfLinksEnabled, model::setDocSyntaxHighlightingOfLinksEnabled))
// @formatter:on
class EditorAppearanceConfigurable : BoundCompositeSearchableConfigurable<UnnamedConfigurable>(
@@ -107,25 +105,6 @@ class EditorAppearanceConfigurable : BoundCompositeSearchableConfigurable<Unname
checkBox(myCodeLensCheckBox)
largeGapAfter()
}
titledRow(IdeBundle.message("group.documentation.components")) {
row {
val highlighting = checkBox(myDocSyntaxHighlightingCheckBox)
row {
checkBox(myDocSyntaxHighlightingOfInlineCode).enableIf(highlighting.selected)
}
row {
checkBox(myDocSyntaxHighlightingOfLinksCheckBox).enableIf(highlighting.selected)
}
row(IdeBundle.message("spinner.doc.syntax.highlighting.saturation")) {
component(JSpinner())
.applyToComponent { this@applyToComponent.model = SpinnerNumberModel(1.0, 0.0, 1.0, 0.05) }
.withBinding({ ((it.value as Double) * 100).roundToInt() }, { it, value -> it.value = value * 0.01 },
PropertyBinding(model::getDocSyntaxHighlightingSaturation, model::setDocSyntaxHighlightingSaturation))
.enableIf(highlighting.selected)
}
}
largeGapAfter()
}
for (configurable in configurables) {
appendDslConfigurableRow(configurable)
@@ -506,11 +506,6 @@ checkbox.left.toolwindow.layout=Side-by-side layout on the left
checkbox.right.toolwindow.layout=Side-by-side layout on the right
checkbox.show.editor.preview.popup=Show code lens on scrollbar hover
checkbox.show.rendered.doc.comments=Render documentation comments
group.documentation.components=Documentation Components
checkbox.enable.doc.syntax.highlighting=Enable code highlighting in documentation components
checkbox.enable.doc.syntax.highlighting.of.inline.code.blocks=Highlight inline code blocks
checkbox.enable.doc.syntax.highlighting.of.links=Highlight links
spinner.doc.syntax.highlighting.saturation=Highlighting saturation:
checkbox.also.in.reader.mode=Also in <hyperlink>Reader mode</hyperlink>
checkbox.smooth.scrolling=Smooth scrolling
checkbox.smooth.scrolling.description=When using the mouse wheel/touchpad, the entire interface will scroll smoothly instead of line by line
@@ -10,12 +10,12 @@ import com.intellij.openapi.components.*;
import com.intellij.openapi.diagnostic.Checks;
import com.intellij.openapi.editor.actions.CaretStopOptions;
import com.intellij.openapi.editor.impl.softwrap.SoftWrapAppliancePlaces;
import com.intellij.openapi.options.advanced.AdvancedSettings;
import com.intellij.openapi.util.Disposer;
import com.intellij.openapi.util.registry.Registry;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.serviceContainer.NonInjectable;
import com.intellij.ui.breadcrumbs.BreadcrumbsProvider;
import com.intellij.util.MathUtil;
import com.intellij.util.xmlb.XmlSerializerUtil;
import org.intellij.lang.annotations.MagicConstant;
import org.jetbrains.annotations.ApiStatus;
@@ -70,10 +70,6 @@ public class EditorSettingsExternalizable implements PersistentStateComponent<Ed
public boolean SHOW_BREADCRUMBS_ABOVE = false;
public boolean SHOW_BREADCRUMBS = true;
public boolean ENABLE_RENDERED_DOC = false;
public boolean ENABLE_DOC_SYNTAX_HIGHLIGHTING = true;
public boolean ENABLE_DOC_SYNTAX_HIGHLIGHTING_OF_INLINE_CODE_BLOCKS = true;
public boolean ENABLE_DOC_SYNTAX_HIGHLIGHTING_OF_LINKS = true;
public int DOC_SYNTAX_HIGHLIGHTING_SATURATION = 65;
public boolean SMART_HOME = true;
@@ -350,39 +346,6 @@ public class EditorSettingsExternalizable implements PersistentStateComponent<Ed
}
}
public boolean isDocSyntaxHighlightingEnabled() {
return myOptions.ENABLE_DOC_SYNTAX_HIGHLIGHTING;
}
public void setDocSyntaxHighlightingEnabled(boolean value) {
myOptions.ENABLE_DOC_SYNTAX_HIGHLIGHTING = value;
}
public boolean isDocSyntaxHighlightingOfInlineCodeBlocksEnabled() {
return isDocSyntaxHighlightingEnabled() && myOptions.ENABLE_DOC_SYNTAX_HIGHLIGHTING_OF_INLINE_CODE_BLOCKS;
}
public void setDocSyntaxHighlightingOfInlineCodeBlocksEnabled(boolean value) {
myOptions.ENABLE_DOC_SYNTAX_HIGHLIGHTING_OF_INLINE_CODE_BLOCKS = value;
}
public boolean isDocSyntaxHighlightingOfLinksEnabled() {
return isDocSyntaxHighlightingEnabled() && myOptions.ENABLE_DOC_SYNTAX_HIGHLIGHTING_OF_LINKS;
}
public void setDocSyntaxHighlightingOfLinksEnabled(boolean value) {
myOptions.ENABLE_DOC_SYNTAX_HIGHLIGHTING_OF_LINKS = value;
}
public int getDocSyntaxHighlightingSaturation() {
return myOptions.DOC_SYNTAX_HIGHLIGHTING_SATURATION;
}
public void setDocSyntaxHighlightingSaturation(int value) {
Checks.require(0 <= value && value <= 100);
myOptions.DOC_SYNTAX_HIGHLIGHTING_SATURATION = value;
}
public boolean isBlockCursor() {
return myOptions.IS_BLOCK_CURSOR;
}
@@ -1303,6 +1303,10 @@
<advancedSetting id="terminal.escape.moves.focus.to.editor" default="true" groupKey="group.advanced.settings.terminal"/>
<advancedSetting id="terminal.type.ahead" default="true" groupKey="group.advanced.settings.terminal"/>
<advancedSetting id="terminal.type.ahead.latency.threshold" default="100" groupKey="group.advanced.settings.terminal"/>
<advancedSetting id="documentation.components.enable.doc.syntax.highlighting" default="true" groupKey="group.advanced.settings.documentation.components"/>
<advancedSetting id="documentation.components.enable.doc.syntax.highlighting.of.inline.code.blocks" default="true" groupKey="group.advanced.settings.documentation.components"/>
<advancedSetting id="documentation.components.enable.doc.syntax.highlighting.of.links" default="true" groupKey="group.advanced.settings.documentation.components"/>
<advancedSetting id="documentation.components.doc.syntax.highlighting.saturation" default="65" groupKey="group.advanced.settings.documentation.components"/>
<backgroundPostStartupActivity implementation="com.intellij.ide.plugins.DependencyFeatureCollector"/>
<projectService serviceInterface="com.intellij.presentation.FilePresentationService"
@@ -6,6 +6,7 @@ import com.intellij.ide.highlighter.JavaHighlightingColors;
import com.intellij.openapi.editor.colors.TextAttributesKey;
import com.intellij.openapi.editor.ex.EditorSettingsExternalizable;
import com.intellij.openapi.editor.richcopy.HtmlSyntaxInfoUtil;
import com.intellij.openapi.options.advanced.AdvancedSettings;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.psi.PsiAnnotation;
import com.intellij.psi.PsiElement;
@@ -14,6 +15,7 @@ import com.intellij.psi.PsiType;
import com.intellij.psi.search.searches.ReferencesSearch;
import com.intellij.psi.util.MethodSignature;
import com.intellij.util.ArrayUtilRt;
import com.intellij.util.MathUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.plugins.groovy.GroovyBundle;
@@ -134,7 +136,7 @@ public final class GroovyPresentationUtil {
}
private static float getHighlightingSaturation() {
return EditorSettingsExternalizable.getInstance().getDocSyntaxHighlightingSaturation() * 0.01f;
return MathUtil.clamp(AdvancedSettings.getInt("documentation.components.doc.syntax.highlighting.saturation"), 0, 100) * 0.01f;
}
private static @NotNull StringBuilder appendStyledSpan(
@@ -17,6 +17,7 @@ import com.intellij.lang.java.JavaDocumentationProvider;
import com.intellij.openapi.editor.ex.EditorSettingsExternalizable;
import com.intellij.openapi.editor.markup.TextAttributes;
import com.intellij.openapi.editor.richcopy.HtmlSyntaxInfoUtil;
import com.intellij.openapi.options.advanced.AdvancedSettings;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Pair;
import com.intellij.openapi.util.text.HtmlChunk;
@@ -25,6 +26,7 @@ import com.intellij.psi.*;
import com.intellij.psi.util.PsiFormatUtil;
import com.intellij.psi.util.PsiFormatUtilBase;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.util.MathUtil;
import com.intellij.util.containers.ContainerUtil;
import org.jetbrains.annotations.Nls;
import org.jetbrains.annotations.NonNls;
@@ -98,19 +100,19 @@ public class GroovyDocumentationProvider implements CodeDocumentationProvider, E
}
private static boolean doSyntaxHighlighting() {
return EditorSettingsExternalizable.getInstance().isDocSyntaxHighlightingEnabled();
return AdvancedSettings.getBoolean("documentation.components.enable.doc.syntax.highlighting");
}
private static boolean doHighlightingOfInlineCodeBlocksEnabled() {
return EditorSettingsExternalizable.getInstance().isDocSyntaxHighlightingOfInlineCodeBlocksEnabled();
return AdvancedSettings.getBoolean("documentation.components.enable.doc.syntax.highlighting.of.inline.code.blocks");
}
private static boolean doHighlightingOfLinksEnabled() {
return EditorSettingsExternalizable.getInstance().isDocSyntaxHighlightingOfLinksEnabled();
return AdvancedSettings.getBoolean("documentation.components.enable.doc.syntax.highlighting.of.links");
}
private static float getHighlightingSaturation() {
return EditorSettingsExternalizable.getInstance().getDocSyntaxHighlightingSaturation() * 0.01f;
return MathUtil.clamp(AdvancedSettings.getInt("documentation.components.doc.syntax.highlighting.saturation"), 0, 100) * 0.01f;
}
private static PsiSubstitutor calcSubstitutor(PsiElement originalElement) {
@@ -17,11 +17,14 @@ import com.intellij.openapi.editor.colors.TextAttributesKey
import com.intellij.openapi.editor.ex.EditorSettingsExternalizable
import com.intellij.openapi.editor.markup.TextAttributes
import com.intellij.openapi.editor.richcopy.HtmlSyntaxInfoUtil
import com.intellij.openapi.options.advanced.AdvancedSettings.Companion.getBoolean
import com.intellij.openapi.options.advanced.AdvancedSettings.Companion.getInt
import com.intellij.openapi.project.Project
import com.intellij.openapi.util.NlsSafe
import com.intellij.psi.*
import com.intellij.psi.impl.compiled.ClsMethodImpl
import com.intellij.psi.util.PsiTreeUtil
import com.intellij.util.MathUtil
import org.jetbrains.annotations.Nls
import org.jetbrains.kotlin.asJava.LightClassUtil
import org.jetbrains.kotlin.asJava.elements.KtLightDeclaration
@@ -282,11 +285,10 @@ class KotlinDocumentationProvider : AbstractDocumentationProvider() {
.eraseTypeParameter()
}
private val doSyntaxHighlighting : Boolean get() =
EditorSettingsExternalizable.getInstance().isDocSyntaxHighlightingEnabled
private val doSyntaxHighlighting: Boolean get() = getBoolean("documentation.components.enable.doc.syntax.highlighting")
private val highlightingSaturation : Float get() =
EditorSettingsExternalizable.getInstance().docSyntaxHighlightingSaturation * 0.01f
private val highlightingSaturation: Float
get() = MathUtil.clamp(getInt("documentation.components.doc.syntax.highlighting.saturation"), 0, 100) * 0.01f
private fun StringBuilder.appendHighlighted(
value: String,
@@ -13,10 +13,14 @@ import com.intellij.openapi.editor.colors.TextAttributesKey
import com.intellij.openapi.editor.ex.EditorSettingsExternalizable
import com.intellij.openapi.editor.markup.TextAttributes
import com.intellij.openapi.editor.richcopy.HtmlSyntaxInfoUtil
import com.intellij.openapi.options.advanced.AdvancedSettings
import com.intellij.openapi.options.advanced.AdvancedSettings.Companion.getBoolean
import com.intellij.openapi.options.advanced.AdvancedSettings.Companion.getInt
import com.intellij.openapi.project.DumbService
import com.intellij.openapi.project.Project
import com.intellij.openapi.util.text.StringUtil
import com.intellij.psi.PsiElement
import com.intellij.util.MathUtil
import org.intellij.markdown.IElementType
import org.intellij.markdown.MarkdownElementTypes
import org.intellij.markdown.MarkdownTokenTypes
@@ -43,15 +47,16 @@ import org.jetbrains.kotlin.psi.psiUtil.getChildrenOfType
object KDocRenderer {
private val doSyntaxHighlighting: Boolean get() = EditorSettingsExternalizable.getInstance().isDocSyntaxHighlightingEnabled
private val doSyntaxHighlighting: Boolean get() = getBoolean("documentation.components.enable.doc.syntax.highlighting")
private val doHighlightInlineCodeBlocks: Boolean
get() = EditorSettingsExternalizable.getInstance().isDocSyntaxHighlightingOfInlineCodeBlocksEnabled
get() = getBoolean("documentation.components.enable.doc.syntax.highlighting.of.inline.code.blocks")
private val doHighlightLinks: Boolean
get() = EditorSettingsExternalizable.getInstance().isDocSyntaxHighlightingOfLinksEnabled
get() = getBoolean("documentation.components.enable.doc.syntax.highlighting.of.links")
private val highlightingSaturation: Float get() = EditorSettingsExternalizable.getInstance().docSyntaxHighlightingSaturation * 0.01F
private val highlightingSaturation: Float get() =
MathUtil.clamp(getInt("documentation.components.doc.syntax.highlighting.saturation"), 0, 100) * 0.01f
fun StringBuilder.appendKDocContent(docComment: KDocTag): StringBuilder =
append(markdownToHtml(docComment, allowSingleParagraph = true))