summaryrefslogtreecommitdiff
path: root/rc/java.kak
diff options
context:
space:
mode:
Diffstat (limited to 'rc/java.kak')
-rw-r--r--rc/java.kak28
1 files changed, 28 insertions, 0 deletions
diff --git a/rc/java.kak b/rc/java.kak
new file mode 100644
index 00000000..48bb442b
--- /dev/null
+++ b/rc/java.kak
@@ -0,0 +1,28 @@
+hook global BufCreate .*\.java %{
+ set buffer filetype java
+}
+
+hook global BufSetOption mimetype=text/java %{
+ set buffer filetype java
+}
+
+addhl -group / regions -default code java \
+ string %{(?<!')"} %{(?<!\\)(\\\\)*"} '' \
+ comment /\* \*/ '' \
+ comment // $ ''
+
+addhl -group /java/string fill string
+addhl -group /java/comment fill comment
+
+addhl -group /java/code regex %{\<(this|true|false|null)\>} 0:value
+addhl -group /java/code regex "\<(void|int|char|unsigned|float|boolean|double)\>" 0:type
+addhl -group /java/code regex "\<(while|for|if|else|do|static|switch|case|default|class|interface|goto|break|continue|return|import|try|catch|throw|new|package|extends|implements)\>" 0:keyword
+addhl -group /java/code regex "\<(final|public|protected|private|abstract)\>" 0:attribute
+
+hook global WinSetOption filetype=java %{
+ addhl ref java
+}
+
+hook global WinSetOption filetype=(?!java).* %{
+ rmhl java
+}