mirror of
https://github.com/neovim/neovim.git
synced 2024-12-19 10:45:16 -07:00
e7f8349a2e
Problem: filetype: goaccess config file not recognized
Solution: detect 'goaccess.conf' as goaccess filetype, also
include a basic syntax and ftplugin (Adam Monsen)
Add syntax highlighting for GoAccess configuration file.
GoAccess is a real-time web log analyzer and interactive viewer that
runs in a terminal in *nix systems or through your browser.
GoAccess home page: https://goaccess.io
closes: vim/vim#15414
0aa65b48fb
Co-authored-by: Adam Monsen <haircut@gmail.com>
35 lines
1.2 KiB
VimL
35 lines
1.2 KiB
VimL
" Vim syntax file
|
|
" Language: GoAccess configuration
|
|
" Maintainer: Adam Monsen <haircut@gmail.com>
|
|
" Last Change: 2024 Aug 1
|
|
" Remark: see https://goaccess.io/man#configuration
|
|
"
|
|
" The GoAccess configuration file syntax is line-separated settings. Settings
|
|
" are space-separated key value pairs. Comments are any line starting with a
|
|
" hash mark.
|
|
" Example: https://github.com/allinurl/goaccess/blob/master/config/goaccess.conf
|
|
"
|
|
" This syntax definition supports todo/fixme highlighting in comments, and
|
|
" special (Keyword) highlighting if a setting's value is 'true' or 'false'.
|
|
"
|
|
" TODO: a value is required, so use extreme highlighting (e.g. bright red
|
|
" background) if a setting is missing a value.
|
|
|
|
if exists("b:current_syntax")
|
|
finish
|
|
endif
|
|
|
|
syn match goaccessSettingName '^[a-z-]\+' nextgroup=goaccessSettingValue
|
|
syn match goaccessSettingValue '\s\+.\+$' contains=goaccessKeyword
|
|
syn match goaccessComment "^#.*$" contains=goaccessTodo,@Spell
|
|
syn keyword goaccessTodo TODO FIXME contained
|
|
syn keyword goaccessKeyword true false contained
|
|
|
|
hi def link goaccessSettingName Type
|
|
hi def link goaccessSettingValue String
|
|
hi def link goaccessComment Comment
|
|
hi def link goaccessTodo Todo
|
|
hi def link goaccessKeyword Keyword
|
|
|
|
let b:current_syntax = "goaccess"
|