This commit is contained in:
gedoor 2021-10-04 21:02:43 +08:00
parent 517db36272
commit b0e9b788af
3 changed files with 37 additions and 7 deletions

View File

@ -7,10 +7,11 @@ import android.view.ViewGroup
import io.legado.app.R
import io.legado.app.base.BaseDialogFragment
import io.legado.app.databinding.DialogCodeViewBinding
import io.legado.app.lib.theme.accentColor
import io.legado.app.utils.addJsPattern
import io.legado.app.utils.addJsonPattern
import io.legado.app.utils.addLegadoPattern
import io.legado.app.utils.setLayout
import io.legado.app.utils.viewbindingdelegate.viewBinding
import java.util.regex.Pattern
class CodeDialog() : BaseDialogFragment() {
@ -36,7 +37,9 @@ class CodeDialog() : BaseDialogFragment() {
}
override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) {
binding.codeView.addSyntaxPattern(Pattern.compile("[\",:;[->]{}()]"), accentColor)
binding.codeView.addLegadoPattern()
binding.codeView.addJsonPattern()
binding.codeView.addJsPattern()
arguments?.getString("code")?.let {
binding.codeView.setText(it)
}

View File

@ -0,0 +1,24 @@
@file:Suppress("unused")
package io.legado.app.utils
import com.amrdeveloper.codeview.CodeView
import io.legado.app.lib.theme.accentColor
import splitties.init.appCtx
import java.util.regex.Pattern
val legadoPattern: Pattern = Pattern.compile("\\|\\||&&|%%|@js:|@Json:|@css:|@@|@XPath:")
val jsonPattern: Pattern = Pattern.compile("\"\\:|\"|\\{|\\}|\\[|\\]")
val jsPattern: Pattern = Pattern.compile("var|\\\\n")
fun CodeView.addLegadoPattern() {
addSyntaxPattern(legadoPattern, appCtx.accentColor)
}
fun CodeView.addJsonPattern() {
addSyntaxPattern(jsonPattern, appCtx.accentColor)
}
fun CodeView.addJsPattern() {
addSyntaxPattern(jsPattern, appCtx.accentColor)
}

View File

@ -1,3 +1,5 @@
@file:Suppress("unused")
package io.legado.app.utils
import android.annotation.SuppressLint
@ -9,10 +11,7 @@ import android.text.Html
import android.view.View
import android.view.View.*
import android.view.inputmethod.InputMethodManager
import android.widget.EdgeEffect
import android.widget.RadioGroup
import android.widget.SeekBar
import android.widget.TextView
import android.widget.*
import androidx.annotation.ColorInt
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.view.menu.MenuPopupHelper
@ -90,6 +89,10 @@ fun ViewPager.setEdgeEffectColor(@ColorInt color: Int) {
}
}
fun EditText.disableEdit() {
keyListener = null
}
fun View.gone() {
if (visibility != GONE) {
visibility = GONE