diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/ui/diff/syntax_highlighter/PythonSyntaxHighlighter.kt b/src/main/kotlin/com/jetpackduba/gitnuro/ui/diff/syntax_highlighter/PythonSyntaxHighlighter.kt new file mode 100644 index 0000000..d7a15a2 --- /dev/null +++ b/src/main/kotlin/com/jetpackduba/gitnuro/ui/diff/syntax_highlighter/PythonSyntaxHighlighter.kt @@ -0,0 +1,44 @@ +package com.jetpackduba.gitnuro.ui.diff.syntax_highlighter + +class PythonSyntaxHighlighter : SyntaxHighlighter() { + override fun loadKeywords(): List = listOf( + "False", + "await", + "else", + "import", + "pass", + "None", + "break", + "except", + "in", + "raise", + "True", + "class", + "finally", + "is", + "return", + "and", + "continue", + "for", + "lambda", + "try", + "as", + "def", + "from", + "nonlocal", + "while", + "assert", + "del", + "global", + "not", + "with", + "async", + "elif", + "if", + "or", + "yield", + ) + + override fun isAnnotation(word: String): Boolean = word.startsWith("@") + override fun isComment(line: String): Boolean = line.startsWith("//") +} diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/ui/diff/syntax_highlighter/SyntaxHighlighter.kt b/src/main/kotlin/com/jetpackduba/gitnuro/ui/diff/syntax_highlighter/SyntaxHighlighter.kt index 98878ca..a51b095 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/ui/diff/syntax_highlighter/SyntaxHighlighter.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/ui/diff/syntax_highlighter/SyntaxHighlighter.kt @@ -77,4 +77,5 @@ private enum class HighlightLanguagesSupported(val extensions: List, val Kotlin(listOf("kt", "kts"), { KotlinSyntaxHighlighter() }), Rust(listOf("rs"), { RustSyntaxHighlighter() }), TypeScript(listOf("js", "jsx", "ts", "tsx", "vue", "astro"), { TypeScriptSyntaxHighlighter() }), + Python(listOf("py"), { PythonSyntaxHighlighter() }), } \ No newline at end of file