-
Notifications
You must be signed in to change notification settings - Fork 11
/
bazel.kak
40 lines (29 loc) · 1.42 KB
/
bazel.kak
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# https://docs.bazel.build/versions/master/skylark/build-style.html
# ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
# Detection
# ‾‾‾‾‾‾‾‾‾
hook global BufCreate .*/(BUILD|WORKSPACE) %{
set-option buffer filetype bazel_build
}
hook global BufCreate .+\.(bazel|bzl) %{
set-option buffer filetype bazel_build
}
# Initialization
# ‾‾‾‾‾‾‾‾‾‾‾‾‾‾
hook -group bazel-highlight global WinSetOption filetype=bazel_build %{
require-module bazel
add-highlighter window/bazel_build ref bazel_build
hook -once -always window WinSetOption filetype=.* %{ remove-highlighter window/bazel_build }
}
provide-module bazel %{
# Highlighters
# ‾‾‾‾‾‾‾‾‾‾‾‾
add-highlighter shared/bazel_build regions
add-highlighter shared/bazel_build/code default-region group
add-highlighter shared/bazel_build/comment region '#' '$' fill comment
add-highlighter shared/bazel_build/string region '"' '"' fill string
add-highlighter shared/bazel_build/code/function regex ([\d\w_]+)\( 1:function
add-highlighter shared/bazel_build/code/operator regex ([=+,()[\]]) 0:operator
add-highlighter shared/bazel_build/code/variable regex ([\w_][\w\d_]*)\s*= 1:variable
add-highlighter shared/bazel_build/code/keyword regex (True|False) 1:keyword
}