summaryrefslogtreecommitdiff
path: root/rc/base/java.kak
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2016-01-29 09:03:23 +0000
committerMaxime Coste <frrrwww@gmail.com>2016-01-29 09:03:23 +0000
commitfef02779981acb6153396975ceaec0dbdbfb8d57 (patch)
tree3e204705c1d1ca60d639e80637fd07e4189359d6 /rc/base/java.kak
parentc27778497eaddb0d3099cb3f2f7165ccc6b37634 (diff)
Reorganise rc/ into subdirectories
* core: set of tools to work on kakoune source code * base: very common languages and tools * extra: less common languages and tools
Diffstat (limited to 'rc/base/java.kak')
-rw-r--r--rc/base/java.kak28
1 files changed, 28 insertions, 0 deletions
diff --git a/rc/base/java.kak b/rc/base/java.kak
new file mode 100644
index 00000000..48bb442b
--- /dev/null
+++ b/rc/base/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
+}