1
0

tooling: add syntax highlighting for Kakoune

Signed-off-by: Annwan <annwan@annwan.me>
This commit is contained in:
cinthyr
2026-06-05 19:34:38 +07:00
committed by Annwan
parent f1ef3d99f1
commit 52b743de9a

55
editors/kak/a48s.kak Normal file
View File

@ -0,0 +1,55 @@
# ain48 assembly syntax highlighting
# put this in your autoload folder in ~/.config/kak/autoload and it should work
# note: if you are *creating* an autoload folder in that location,
# the *default* autoload scripts in /usr/share/kak/autoload will not trigger,
# so it might be a good idea to copy the contents of that directory.
hook global BufCreate .*\.(a|ain)48(s|asm) %{
set-option buffer filetype a48s
}
hook global WinSetOption filetype=a48s %{
require-module a48s
hook -once -always window WinSetOption filetype=.* %{
remove-hooks window a48s-.+
}
}
hook -group a48s-highlight global WinSetOption filetype=a48s %{
add-highlighter window/a48s ref a48s
hook -once -always window WinSetOption filetype=.* %{
remove-highlighter window/a48s
}
}
provide-module a48s %{
add-highlighter shared/a48s regions
add-highlighter shared/a48s/ region ';' '\n' fill comment
add-highlighter shared/a48s/dqstring region '"' '"' group
add-highlighter shared/a48s/dqstring/ fill string
add-highlighter shared/a48s/dqstring/ \
regex (\\[\\abefhnrtv\n])|(\\.) 1:keyword 2:Error
add-highlighter shared/a48s/code default-region group
# immediates
add-highlighter shared/a48s/code/ regex \
(?i)#-?(s[0-5]+|o[0-7]+|b[01]+|x[0-9]+)\b \
0:value
# registers
add-highlighter shared/a48s/code/ regex (?i)%([a-z0-7]+)\b 0:builtin
# directives
add-highlighter shared/a48s/code/ regex \.[a-zA-Z]+ 0:type
# labels
add-highlighter shared/a48s/code/ regex ^\h*[A-Za-z0-9_.-]+: 0:operator
# instructions
add-highlighter shared/a48s/code/ regex \
(?i)\b((p?(add|dem|dvd|i[mp]?lg|mpl|rsd|str))|(n?[enpu]?i)|(ir|nc)?rv|(nc)?ivc|aeq|an|aut|cess|cst|dem|dst|et|(p?[sbq])?(lg|sc)|nam|nec|sim|tsc|vel)\b \
0:keyword
# the regex is painfully long but i can't do anything about that so...
}