diff --git a/app/build.gradle b/app/build.gradle index 7448258..357e805 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -27,6 +27,7 @@ android { dependencies { implementation project(':library') + implementation project(':markdown') implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" diff --git a/app/src/main/java/de/markusressel/kodeeditor/MainActivity.kt b/app/src/main/java/de/markusressel/kodeeditor/MainActivity.kt index 25d629f..42841b1 100644 --- a/app/src/main/java/de/markusressel/kodeeditor/MainActivity.kt +++ b/app/src/main/java/de/markusressel/kodeeditor/MainActivity.kt @@ -3,6 +3,7 @@ package de.markusressel.kodeeditor import android.os.AsyncTask import android.os.Bundle import android.support.v7.app.AppCompatActivity +import de.markusressel.kodeeditor.library.markdown.MarkdownSyntaxHighlighter import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { @@ -12,11 +13,14 @@ class MainActivity : AppCompatActivity() { .onCreate(savedInstanceState) setContentView(R.layout.activity_main) + codeEditorView + .setSyntaxHighlighter(MarkdownSyntaxHighlighter()) codeEditorView .setText("# Topic 1\n" + "\n" + "This is a *simple* demo text written in **Markdown**") doAsync { - Thread.sleep(5000) + Thread + .sleep(5000) runOnUiThread { codeEditorView .setText("# Topic 1\n" + "\n" + "This is a *simple* demo text written in **Markdown**\n\n\nTEST\n" + "\n" + "\n" + "TEST\n" + "\n" + "\n" + "TEST") diff --git a/library/build.gradle b/library/build.gradle index 5572a35..98b553a 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -22,6 +22,8 @@ android { } dependencies { + api project(':syntaxhighlighter') + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" // api 'org.jetbrains.kotlinx:kotlinx-coroutines-android:0.25.0' diff --git a/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/colorscheme/SectionTypeEnum.kt b/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/colorscheme/SectionTypeEnum.kt deleted file mode 100644 index bae7479..0000000 --- a/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/colorscheme/SectionTypeEnum.kt +++ /dev/null @@ -1,8 +0,0 @@ -package de.markusressel.kodeeditor.library.syntaxhighlighter.colorscheme - -/** - * Text section types that may occur and can be styled individually - */ -enum class SectionTypeEnum { - BoldText, Heading, ItalicText, Link, SourceCode, StrikedText -} \ No newline at end of file diff --git a/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/markdown/rule/BoldRule.kt b/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/markdown/rule/BoldRule.kt deleted file mode 100644 index fff5513..0000000 --- a/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/markdown/rule/BoldRule.kt +++ /dev/null @@ -1,23 +0,0 @@ -package de.markusressel.kodeeditor.library.syntaxhighlighter.markdown.rule - -import android.text.Editable -import de.markusressel.kodeeditor.library.syntaxhighlighter.colorscheme.SectionTypeEnum - -class BoldRule : HighlighterRuleBase() { - - override fun getSectionType(): SectionTypeEnum { - return SectionTypeEnum - .BoldText - } - - override fun findMatches(editable: Editable): Sequence { - return PATTERN - .findAll(editable) - } - - companion object { - val PATTERN = "\\*{2}(.+?)\\*{2}" - .toRegex() - } - -} \ No newline at end of file diff --git a/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/markdown/rule/CodeInlineRule.kt b/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/markdown/rule/CodeInlineRule.kt deleted file mode 100644 index 3609f97..0000000 --- a/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/markdown/rule/CodeInlineRule.kt +++ /dev/null @@ -1,23 +0,0 @@ -package de.markusressel.kodeeditor.library.syntaxhighlighter.markdown.rule - -import android.text.Editable -import de.markusressel.kodeeditor.library.syntaxhighlighter.colorscheme.SectionTypeEnum - -class CodeInlineRule : HighlighterRuleBase() { - - override fun getSectionType(): SectionTypeEnum { - return SectionTypeEnum - .SourceCode - } - - override fun findMatches(editable: Editable): Sequence { - return PATTERN - .findAll(editable) - } - - companion object { - val PATTERN = "(`{1,3})([^`]+?)\\1" - .toRegex() - } - -} \ No newline at end of file diff --git a/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/markdown/rule/CodeLineRule.kt b/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/markdown/rule/CodeLineRule.kt deleted file mode 100644 index de12346..0000000 --- a/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/markdown/rule/CodeLineRule.kt +++ /dev/null @@ -1,23 +0,0 @@ -package de.markusressel.kodeeditor.library.syntaxhighlighter.markdown.rule - -import android.text.Editable -import de.markusressel.kodeeditor.library.syntaxhighlighter.colorscheme.SectionTypeEnum - -class CodeLineRule : HighlighterRuleBase() { - - override fun getSectionType(): SectionTypeEnum { - return SectionTypeEnum - .SourceCode - } - - override fun findMatches(editable: Editable): Sequence { - return PATTERN - .findAll(editable) - } - - companion object { - val PATTERN = "(?m)^ {4}.+" - .toRegex() - } - -} \ No newline at end of file diff --git a/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/markdown/rule/HeadingRule.kt b/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/markdown/rule/HeadingRule.kt deleted file mode 100644 index d653b0c..0000000 --- a/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/markdown/rule/HeadingRule.kt +++ /dev/null @@ -1,22 +0,0 @@ -package de.markusressel.kodeeditor.library.syntaxhighlighter.markdown.rule - -import android.text.Editable -import de.markusressel.kodeeditor.library.syntaxhighlighter.colorscheme.SectionTypeEnum - -class HeadingRule : HighlighterRuleBase() { - override fun getSectionType(): SectionTypeEnum { - return SectionTypeEnum - .Heading - } - - override fun findMatches(editable: Editable): Sequence { - return PATTERN - .findAll(editable) - } - - companion object { - val PATTERN = "#{1,6} .*" - .toRegex() - } - -} \ No newline at end of file diff --git a/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/markdown/rule/HighlighterRuleBase.kt b/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/markdown/rule/HighlighterRuleBase.kt deleted file mode 100644 index e5099f3..0000000 --- a/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/markdown/rule/HighlighterRuleBase.kt +++ /dev/null @@ -1,5 +0,0 @@ -package de.markusressel.kodeeditor.library.syntaxhighlighter.markdown.rule - -import de.markusressel.kodeeditor.library.syntaxhighlighter.SyntaxHighlighterRule - -abstract class HighlighterRuleBase : SyntaxHighlighterRule \ No newline at end of file diff --git a/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/markdown/rule/ImageLinkRule.kt b/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/markdown/rule/ImageLinkRule.kt deleted file mode 100644 index ff6ab0c..0000000 --- a/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/markdown/rule/ImageLinkRule.kt +++ /dev/null @@ -1,23 +0,0 @@ -package de.markusressel.kodeeditor.library.syntaxhighlighter.markdown.rule - -import android.text.Editable -import de.markusressel.kodeeditor.library.syntaxhighlighter.colorscheme.SectionTypeEnum - -class ImageLinkRule : HighlighterRuleBase() { - - override fun getSectionType(): SectionTypeEnum { - return SectionTypeEnum - .Link - } - - override fun findMatches(editable: Editable): Sequence { - return PATTERN - .findAll(editable) - } - - companion object { - val PATTERN = "!\\[.*?]\\(.*?\\)" - .toRegex() - } - -} \ No newline at end of file diff --git a/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/markdown/rule/ItalicRule.kt b/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/markdown/rule/ItalicRule.kt deleted file mode 100644 index 30d5137..0000000 --- a/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/markdown/rule/ItalicRule.kt +++ /dev/null @@ -1,23 +0,0 @@ -package de.markusressel.kodeeditor.library.syntaxhighlighter.markdown.rule - -import android.text.Editable -import de.markusressel.kodeeditor.library.syntaxhighlighter.colorscheme.SectionTypeEnum - -class ItalicRule : HighlighterRuleBase() { - - override fun getSectionType(): SectionTypeEnum { - return SectionTypeEnum - .ItalicText - } - - override fun findMatches(editable: Editable): Sequence { - return PATTERN - .findAll(editable) - } - - companion object { - val PATTERN = "(? { - return PATTERN - .findAll(editable) - } - - companion object { - val PATTERN = "(~{2})([^~]+?)\\1" - .toRegex() - } - -} \ No newline at end of file diff --git a/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/markdown/rule/TextLinkRule.kt b/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/markdown/rule/TextLinkRule.kt deleted file mode 100644 index afda27c..0000000 --- a/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/markdown/rule/TextLinkRule.kt +++ /dev/null @@ -1,23 +0,0 @@ -package de.markusressel.kodeeditor.library.syntaxhighlighter.markdown.rule - -import android.text.Editable -import de.markusressel.kodeeditor.library.syntaxhighlighter.colorscheme.SectionTypeEnum - -class TextLinkRule : HighlighterRuleBase() { - - override fun getSectionType(): SectionTypeEnum { - return SectionTypeEnum - .Link - } - - override fun findMatches(editable: Editable): Sequence { - return PATTERN - .findAll(editable) - } - - companion object { - val PATTERN = "(? diff --git a/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/markdown/MarkdownSyntaxHighlighter.kt b/markdown/src/main/java/de/markusressel/kodeeditor/library/markdown/MarkdownSyntaxHighlighter.kt similarity index 71% rename from library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/markdown/MarkdownSyntaxHighlighter.kt rename to markdown/src/main/java/de/markusressel/kodeeditor/library/markdown/MarkdownSyntaxHighlighter.kt index c635d63..f4cfd6a 100644 --- a/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/markdown/MarkdownSyntaxHighlighter.kt +++ b/markdown/src/main/java/de/markusressel/kodeeditor/library/markdown/MarkdownSyntaxHighlighter.kt @@ -1,10 +1,10 @@ -package de.markusressel.kodeeditor.library.syntaxhighlighter.markdown +package de.markusressel.kodeeditor.library.markdown +import de.markusressel.kodeeditor.library.markdown.colorscheme.DarkBackgroundColorScheme +import de.markusressel.kodeeditor.library.markdown.rule.* import de.markusressel.kodeeditor.library.syntaxhighlighter.SyntaxHighlighterBase import de.markusressel.kodeeditor.library.syntaxhighlighter.SyntaxHighlighterRule import de.markusressel.kodeeditor.library.syntaxhighlighter.colorscheme.SyntaxColorScheme -import de.markusressel.kodeeditor.library.syntaxhighlighter.markdown.colorscheme.DarkBackgroundColorScheme -import de.markusressel.kodeeditor.library.syntaxhighlighter.markdown.rule.* class MarkdownSyntaxHighlighter : SyntaxHighlighterBase() { diff --git a/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/markdown/colorscheme/DarkBackgroundColorScheme.kt b/markdown/src/main/java/de/markusressel/kodeeditor/library/markdown/colorscheme/DarkBackgroundColorScheme.kt similarity index 67% rename from library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/markdown/colorscheme/DarkBackgroundColorScheme.kt rename to markdown/src/main/java/de/markusressel/kodeeditor/library/markdown/colorscheme/DarkBackgroundColorScheme.kt index f19e001..7d9a3f7 100644 --- a/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/markdown/colorscheme/DarkBackgroundColorScheme.kt +++ b/markdown/src/main/java/de/markusressel/kodeeditor/library/markdown/colorscheme/DarkBackgroundColorScheme.kt @@ -1,11 +1,12 @@ -package de.markusressel.kodeeditor.library.syntaxhighlighter.markdown.colorscheme +package de.markusressel.kodeeditor.library.markdown.colorscheme import android.graphics.Color import android.graphics.Typeface import android.text.style.CharacterStyle import android.text.style.ForegroundColorSpan import android.text.style.StyleSpan -import de.markusressel.kodeeditor.library.syntaxhighlighter.colorscheme.SectionTypeEnum +import de.markusressel.kodeeditor.library.markdown.rule.* +import de.markusressel.kodeeditor.library.syntaxhighlighter.SyntaxHighlighterRule import de.markusressel.kodeeditor.library.syntaxhighlighter.colorscheme.SyntaxColorScheme /** @@ -13,24 +14,24 @@ import de.markusressel.kodeeditor.library.syntaxhighlighter.colorscheme.SyntaxCo */ class DarkBackgroundColorScheme : SyntaxColorScheme { - override fun getStyles(type: SectionTypeEnum): Set<() -> CharacterStyle> { + override fun getStyles(type: SyntaxHighlighterRule): Set<() -> CharacterStyle> { return when (type) { - SectionTypeEnum.BoldText -> { + is BoldRule -> { setOf({ ForegroundColorSpan(Color.parseColor("#0091EA")) }, { StyleSpan(Typeface.BOLD) }) } - SectionTypeEnum.ItalicText -> { + is ItalicRule -> { setOf({ ForegroundColorSpan(Color.parseColor("#0091EA")) }, { StyleSpan(Typeface.ITALIC) }) } - SectionTypeEnum.SourceCode -> { + is CodeInlineRule, is CodeLineRule -> { setOf({ ForegroundColorSpan(Color.parseColor("#00C853")) }) } - SectionTypeEnum.Heading -> { + is HeadingRule -> { setOf({ ForegroundColorSpan(Color.parseColor("#FF6D00")) }) } - SectionTypeEnum.Link -> { + is ImageLinkRule, is TextLinkRule -> { setOf({ ForegroundColorSpan(Color.parseColor("#7C4DFF")) }) } - SectionTypeEnum.StrikedText -> { + is StrikeRule -> { setOf({ ForegroundColorSpan(Color.parseColor("#5D4037")) }) } else -> emptySet() diff --git a/markdown/src/main/java/de/markusressel/kodeeditor/library/markdown/rule/BoldRule.kt b/markdown/src/main/java/de/markusressel/kodeeditor/library/markdown/rule/BoldRule.kt new file mode 100644 index 0000000..1d56b7b --- /dev/null +++ b/markdown/src/main/java/de/markusressel/kodeeditor/library/markdown/rule/BoldRule.kt @@ -0,0 +1,18 @@ +package de.markusressel.kodeeditor.library.markdown.rule + +import android.text.Editable +import de.markusressel.kodeeditor.library.syntaxhighlighter.SyntaxHighlighterRule + +class BoldRule : SyntaxHighlighterRule { + + override fun findMatches(editable: Editable): Sequence { + return PATTERN + .findAll(editable) + } + + companion object { + val PATTERN = "\\*{2}(.+?)\\*{2}" + .toRegex() + } + +} \ No newline at end of file diff --git a/markdown/src/main/java/de/markusressel/kodeeditor/library/markdown/rule/CodeInlineRule.kt b/markdown/src/main/java/de/markusressel/kodeeditor/library/markdown/rule/CodeInlineRule.kt new file mode 100644 index 0000000..45923ea --- /dev/null +++ b/markdown/src/main/java/de/markusressel/kodeeditor/library/markdown/rule/CodeInlineRule.kt @@ -0,0 +1,18 @@ +package de.markusressel.kodeeditor.library.markdown.rule + +import android.text.Editable +import de.markusressel.kodeeditor.library.syntaxhighlighter.SyntaxHighlighterRule + +class CodeInlineRule : SyntaxHighlighterRule { + + override fun findMatches(editable: Editable): Sequence { + return PATTERN + .findAll(editable) + } + + companion object { + val PATTERN = "(`{1,3})([^`]+?)\\1" + .toRegex() + } + +} \ No newline at end of file diff --git a/markdown/src/main/java/de/markusressel/kodeeditor/library/markdown/rule/CodeLineRule.kt b/markdown/src/main/java/de/markusressel/kodeeditor/library/markdown/rule/CodeLineRule.kt new file mode 100644 index 0000000..10a4ba9 --- /dev/null +++ b/markdown/src/main/java/de/markusressel/kodeeditor/library/markdown/rule/CodeLineRule.kt @@ -0,0 +1,18 @@ +package de.markusressel.kodeeditor.library.markdown.rule + +import android.text.Editable +import de.markusressel.kodeeditor.library.syntaxhighlighter.SyntaxHighlighterRule + +class CodeLineRule : SyntaxHighlighterRule { + + override fun findMatches(editable: Editable): Sequence { + return PATTERN + .findAll(editable) + } + + companion object { + val PATTERN = "(?m)^ {4}.+" + .toRegex() + } + +} \ No newline at end of file diff --git a/markdown/src/main/java/de/markusressel/kodeeditor/library/markdown/rule/HeadingRule.kt b/markdown/src/main/java/de/markusressel/kodeeditor/library/markdown/rule/HeadingRule.kt new file mode 100644 index 0000000..527aeb1 --- /dev/null +++ b/markdown/src/main/java/de/markusressel/kodeeditor/library/markdown/rule/HeadingRule.kt @@ -0,0 +1,18 @@ +package de.markusressel.kodeeditor.library.markdown.rule + +import android.text.Editable +import de.markusressel.kodeeditor.library.syntaxhighlighter.SyntaxHighlighterRule + +class HeadingRule : SyntaxHighlighterRule { + + override fun findMatches(editable: Editable): Sequence { + return PATTERN + .findAll(editable) + } + + companion object { + val PATTERN = "#{1,6} .*" + .toRegex() + } + +} \ No newline at end of file diff --git a/markdown/src/main/java/de/markusressel/kodeeditor/library/markdown/rule/ImageLinkRule.kt b/markdown/src/main/java/de/markusressel/kodeeditor/library/markdown/rule/ImageLinkRule.kt new file mode 100644 index 0000000..2a1a775 --- /dev/null +++ b/markdown/src/main/java/de/markusressel/kodeeditor/library/markdown/rule/ImageLinkRule.kt @@ -0,0 +1,18 @@ +package de.markusressel.kodeeditor.library.markdown.rule + +import android.text.Editable +import de.markusressel.kodeeditor.library.syntaxhighlighter.SyntaxHighlighterRule + +class ImageLinkRule : SyntaxHighlighterRule { + + override fun findMatches(editable: Editable): Sequence { + return PATTERN + .findAll(editable) + } + + companion object { + val PATTERN = "!\\[.*?]\\(.*?\\)" + .toRegex() + } + +} \ No newline at end of file diff --git a/markdown/src/main/java/de/markusressel/kodeeditor/library/markdown/rule/ItalicRule.kt b/markdown/src/main/java/de/markusressel/kodeeditor/library/markdown/rule/ItalicRule.kt new file mode 100644 index 0000000..d8bc28e --- /dev/null +++ b/markdown/src/main/java/de/markusressel/kodeeditor/library/markdown/rule/ItalicRule.kt @@ -0,0 +1,18 @@ +package de.markusressel.kodeeditor.library.markdown.rule + +import android.text.Editable +import de.markusressel.kodeeditor.library.syntaxhighlighter.SyntaxHighlighterRule + +class ItalicRule : SyntaxHighlighterRule { + + override fun findMatches(editable: Editable): Sequence { + return PATTERN + .findAll(editable) + } + + companion object { + val PATTERN = "(? { + return PATTERN + .findAll(editable) + } + + companion object { + val PATTERN = "(~{2})([^~]+?)\\1" + .toRegex() + } + +} \ No newline at end of file diff --git a/markdown/src/main/java/de/markusressel/kodeeditor/library/markdown/rule/TextLinkRule.kt b/markdown/src/main/java/de/markusressel/kodeeditor/library/markdown/rule/TextLinkRule.kt new file mode 100644 index 0000000..9b7352f --- /dev/null +++ b/markdown/src/main/java/de/markusressel/kodeeditor/library/markdown/rule/TextLinkRule.kt @@ -0,0 +1,18 @@ +package de.markusressel.kodeeditor.library.markdown.rule + +import android.text.Editable +import de.markusressel.kodeeditor.library.syntaxhighlighter.SyntaxHighlighterRule + +class TextLinkRule : SyntaxHighlighterRule { + + override fun findMatches(editable: Editable): Sequence { + return PATTERN + .findAll(editable) + } + + companion object { + val PATTERN = "(? diff --git a/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/SyntaxHighlighter.kt b/syntaxhighlighter/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/SyntaxHighlighter.kt similarity index 93% rename from library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/SyntaxHighlighter.kt rename to syntaxhighlighter/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/SyntaxHighlighter.kt index 7a1c19a..ed20794 100644 --- a/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/SyntaxHighlighter.kt +++ b/syntaxhighlighter/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/SyntaxHighlighter.kt @@ -37,10 +37,8 @@ interface SyntaxHighlighter { // reapply getRules() - .forEach { - val sectionType = it - .getSectionType() - it + .forEach {rule -> + rule .findMatches(editable) .forEach { val start = it @@ -51,7 +49,7 @@ interface SyntaxHighlighter { // needs to be called for each result // so multiple spans are created and applied val styles = colorScheme - .getStyles(sectionType) + .getStyles(rule) highlight(editable, start, end, styles) } diff --git a/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/SyntaxHighlighterBase.kt b/syntaxhighlighter/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/SyntaxHighlighterBase.kt similarity index 100% rename from library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/SyntaxHighlighterBase.kt rename to syntaxhighlighter/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/SyntaxHighlighterBase.kt diff --git a/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/SyntaxHighlighterRule.kt b/syntaxhighlighter/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/SyntaxHighlighterRule.kt similarity index 57% rename from library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/SyntaxHighlighterRule.kt rename to syntaxhighlighter/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/SyntaxHighlighterRule.kt index e149613..70eb741 100644 --- a/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/SyntaxHighlighterRule.kt +++ b/syntaxhighlighter/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/SyntaxHighlighterRule.kt @@ -1,15 +1,9 @@ package de.markusressel.kodeeditor.library.syntaxhighlighter import android.text.Editable -import de.markusressel.kodeeditor.library.syntaxhighlighter.colorscheme.SectionTypeEnum interface SyntaxHighlighterRule { - /** - * Get the type of section this rule is meant for - */ - fun getSectionType(): SectionTypeEnum - /** * Find segments in the editable that are affected by this rule */ diff --git a/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/colorscheme/SyntaxColorScheme.kt b/syntaxhighlighter/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/colorscheme/SyntaxColorScheme.kt similarity index 64% rename from library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/colorscheme/SyntaxColorScheme.kt rename to syntaxhighlighter/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/colorscheme/SyntaxColorScheme.kt index 7e14cef..a88bdd4 100644 --- a/library/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/colorscheme/SyntaxColorScheme.kt +++ b/syntaxhighlighter/src/main/java/de/markusressel/kodeeditor/library/syntaxhighlighter/colorscheme/SyntaxColorScheme.kt @@ -1,6 +1,7 @@ package de.markusressel.kodeeditor.library.syntaxhighlighter.colorscheme import android.text.style.CharacterStyle +import de.markusressel.kodeeditor.library.syntaxhighlighter.SyntaxHighlighterRule /** * A color scheme for a syntax highlighter @@ -10,6 +11,6 @@ interface SyntaxColorScheme { /** * Get a set of styles to apply for a specific text/section type */ - fun getStyles(type: SectionTypeEnum): Set<() -> CharacterStyle> + fun getStyles(type: SyntaxHighlighterRule): Set<() -> CharacterStyle> }