dotfiles/.vim/bundle/vim-gph/syntax/gph.vim

105 lines
2.7 KiB
VimL

" Syntax colouring for gopher .gph files used by geomyidae
" Muddled about a bit by dive @ freenode / #gopherproject
" 2017-11-15
set shiftwidth=4
set tabstop=4
set expandtab
" modif by sdk
setl enc=utf-8
setl wrap
setl linebreak
setl nolist
setl textwidth=72
setl formatprg=par\ -w72qie
setl nojs
setl nosmartindent
"setl spell
setl nospell
setl formatoptions=troqwbj
" end
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
" Use default terminal colours
hi Normal ctermbg=NONE ctermfg=NONE guifg=NONE guibg=NONE
" Use italics for comments. If this fails and you get reverse video
" then you may want to comment it out.
hi Comment cterm=italic
" Err colour (not sure about this one. It's a bit bright).
hi Err cterm=bold ctermbg=NONE ctermfg=130 guibg=NONE guifg=red
hi def link gopherComment comment
hi def link gopherType preproc
hi def link gopherURL statement
hi def link gopherHtml statement
hi def link gopherLink statement
hi def link gopherServerPort statement
hi def link gopherBracket preproc
hi def link gopherPipe preproc
hi def link gopherCGI type
hi def link gopherCGI2 type
hi def link gopherQuery type
hi def link gopherErr err
hi def link SynError error
" Format of lines:
" [<type>|<desc>|<path>|<host>|<port>]
"<desc> = description of gopher item. Most printable characters should work.
"
"<path> = full path to gopher item (base value is "/" ). Use the "Err" path for
"items not intended to be served.
"
"<host> = hostname or IP hosting the gopher item. Must be resolvable for the
"intended clients. If this is set to "server" , the server's hostname is used.
"
"<port> = TCP port number (usually 70) If this is set to "port" , the default
"port of the server is used.
" Comments
syn region gopherComment start="<!--" end="-->"
" URLs
syn match gopherURL "http:"
syn region gopherLink start="http:"lc=5 end="|"me=e-1
syn match gopherURL "gopher:"
syn match gopherURL "URL:"
syn match gopherURL "URI:"
syn region gopherLink start="gopher:"lc=7 end="|"me=e-1
" Pipes
syn match gopherPipe "|" containedin=gopherServerPort
" Queries and CGI
syn match gopherQuery "^\[7"lc=1
syn match gopherCGI "|[^|]*\.cgi[^|]*"lc=1
syn match gopherCGI2 "|[^|]*\.dcgi[^|]*"lc=1
" Server|Port
syn match gopherServerPort "|[^|]*|[^|]*]"
" Start and end brackets
match gopherBracket "[\[\]]"
" Entity
syn region gopherType start="^\[[0123456789ghHmswITi\+:;<PcMd\*\.]"lc=1 end="|" oneline
" HTML and networking
syn match gopherHtml "^\[[hHw8]"lc=1
" Text comments beginning with 't'
syn match gopherComment "^t"
" Err
syn match gopherErr "Err"
syn match gopherErr "^\[3"lc=1