# Detection
hook global BufCreate .*[.](alv) %{
set-option buffer filetype alive
}
# Highlighters
add-highlighter shared/alive regions
add-highlighter shared/alive/code default-region group
add-highlighter shared/alive/dstring region '"' (?<!\\)(?:\\\\)*" fill string
add-highlighter shared/alive/qstring region "'" (?<!\\)(?:\\\\)*' fill string
add-highlighter shared/alive/comment region -recurse '\(' '#\(' '\)' fill comment
add-highlighter shared/alive/code/tag regex \[[0-9]+\] 0:rgb:696969
# Commands
define-command -hidden alive-reload-file %[
add-highlighter window/alive-blink fill default,rgb:ffffff
execute-keys <c-l>
nop %sh{ sleep 0.1 }
remove-highlighter window/alive-blink
edit!
]
# Initialization
hook -group alive-highlight global WinSetOption filetype=alive %{
add-highlighter window/alive ref alive
hook -once -always window WinSetOption filetype=.* %{
remove-highlighter window/alive
}
}
hook global WinSetOption filetype=alive %[
set-option buffer comment_block_begin '#('
set-option buffer comment_block_end ')'
set-option buffer tabstop 2
set-option buffer indentwidth 2
set-option buffer autoreload yes
hook -group alive-hooks window BufWritePost .* alive-reload-file
hook -once -always window WinSetOption filetype=.* %{
remove-hooks window alive-.+
}
]