patch 9.1.0655: filetype: goaccess config file not recognized

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: #15414

Signed-off-by: Adam Monsen <haircut@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Adam Monsen
2024-08-02 19:54:15 +02:00
committed by Christian Brabandt
parent 22a22529af
commit 0aa65b48fb
6 changed files with 58 additions and 2 deletions

6
.github/MAINTAINERS vendored
View File

@ -160,11 +160,12 @@ runtime/ftplugin/gitconfig.vim @tpope
runtime/ftplugin/gitignore.vim @ObserverOfTime runtime/ftplugin/gitignore.vim @ObserverOfTime
runtime/ftplugin/gitrebase.vim @tpope runtime/ftplugin/gitrebase.vim @tpope
runtime/ftplugin/gitsendemail.vim @tpope runtime/ftplugin/gitsendemail.vim @tpope
runtime/ftplugin/graphql.vim @ribru17
runtime/ftplugin/gyp.vim @ObserverOfTime
runtime/ftplugin/go.vim @dbarnett runtime/ftplugin/go.vim @dbarnett
runtime/ftplugin/goaccess.vim @meonkeys
runtime/ftplugin/gomod.vim @yu-yk runtime/ftplugin/gomod.vim @yu-yk
runtime/ftplugin/gprof.vim @dpelle runtime/ftplugin/gprof.vim @dpelle
runtime/ftplugin/graphql.vim @ribru17
runtime/ftplugin/gyp.vim @ObserverOfTime
runtime/ftplugin/haml.vim @tpope runtime/ftplugin/haml.vim @tpope
runtime/ftplugin/hare.vim @selenebun runtime/ftplugin/hare.vim @selenebun
runtime/ftplugin/haredoc.vim @selenebun runtime/ftplugin/haredoc.vim @selenebun
@ -446,6 +447,7 @@ runtime/syntax/gitolite.vim @sitaramc
runtime/syntax/gitrebase.vim @tpope runtime/syntax/gitrebase.vim @tpope
runtime/syntax/glsl.vim @gpanders runtime/syntax/glsl.vim @gpanders
runtime/syntax/go.vim @bhcleek runtime/syntax/go.vim @bhcleek
runtime/syntax/goaccess.vim @meonkeys
runtime/syntax/godoc.vim @dbarnett runtime/syntax/godoc.vim @dbarnett
runtime/syntax/gp.vim @KBelabas runtime/syntax/gp.vim @KBelabas
runtime/syntax/gprof.vim @dpelle runtime/syntax/gprof.vim @dpelle

View File

@ -953,6 +953,9 @@ au BufNewFile,BufRead *.go setf go
au BufNewFile,BufRead Gopkg.lock setf toml au BufNewFile,BufRead Gopkg.lock setf toml
au BufRead,BufNewFile go.work setf gowork au BufRead,BufNewFile go.work setf gowork
" GoAccess configuration
au BufNewFile,BufRead goaccess.conf setf goaccess
" GrADS scripts " GrADS scripts
au BufNewFile,BufRead *.gs setf grads au BufNewFile,BufRead *.gs setf grads

View File

@ -0,0 +1,14 @@
" Vim filetype plugin
" Language: GoAccess configuration
" Maintainer: Adam Monsen <haircut@gmail.com>
" Last Change: 2024 Aug 1
if exists('b:did_ftplugin')
finish
endif
let b:did_ftplugin = 1
setl comments=:# commentstring=#\ %s
let b:undo_ftplugin = 'setl com< cms<'

View File

@ -0,0 +1,34 @@
" 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"

View File

@ -300,6 +300,7 @@ def s:GetFilenameChecks(): dict<list<string>>
gnash: ['gnashrc', '.gnashrc', 'gnashpluginrc', '.gnashpluginrc'], gnash: ['gnashrc', '.gnashrc', 'gnashpluginrc', '.gnashpluginrc'],
gnuplot: ['file.gpi', '.gnuplot', 'file.gnuplot', '.gnuplot_history'], gnuplot: ['file.gpi', '.gnuplot', 'file.gnuplot', '.gnuplot_history'],
go: ['file.go'], go: ['file.go'],
goaccess: ['goaccess.conf'],
gomod: ['go.mod'], gomod: ['go.mod'],
gosum: ['go.sum', 'go.work.sum'], gosum: ['go.sum', 'go.work.sum'],
gowork: ['go.work'], gowork: ['go.work'],

View File

@ -704,6 +704,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
655,
/**/ /**/
654, 654,
/**/ /**/