geomyidae

A small C-based gopherd. (gopher://bitreich.org/1/scm/geomyidae)
git clone git://r-36.net/geomyidae
Log | Files | Refs | README | LICENSE

commit ee3327f3996c087888b649f06f27040a1d7283de
parent da7f9465e18e7857c1c3b093c8988921f86fd97c
Author: Christoph Lohmann <20h@r-36.net>
Date:   Sat, 27 Jan 2018 00:12:18 +0100

Add gph syntax highlighting for vim.

Diffstat:
gph/README.md | 11+++++++++++
gph/vim/ftdetect/gph.vim | 1+
gph/vim/syntax/gph.vim | 90+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 102 insertions(+), 0 deletions(-)

diff --git a/gph/README.md b/gph/README.md @@ -0,0 +1,11 @@ +# gph format + +## vim +* Here you find syntax highlighting for gph files for vim. + * Thanks dive on #gopherproject for contributing this! + +### Installation + + cp vim/ftdetect/gph.vim ~/.vim/ftdetect + cp vim/syntax/gph.vim ~/.vim/syntax + diff --git a/gph/vim/ftdetect/gph.vim b/gph/vim/ftdetect/gph.vim @@ -0,0 +1 @@ +au BufNewFile,BufRead *.gph set ft=gph syn=gph diff --git a/gph/vim/syntax/gph.vim b/gph/vim/syntax/gph.vim @@ -0,0 +1,90 @@ +" 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 noexpandtab + +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 +