From 461de4cc216cac858ccc4f2dd99644e6ea43589d Mon Sep 17 00:00:00 2001 From: Adam Stankiewicz Date: Thu, 23 Mar 2017 11:43:41 +0100 Subject: Add caddyfile support, closes #195 --- syntax/caddyfile.vim | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 syntax/caddyfile.vim (limited to 'syntax') diff --git a/syntax/caddyfile.vim b/syntax/caddyfile.vim new file mode 100644 index 00000000..17d95658 --- /dev/null +++ b/syntax/caddyfile.vim @@ -0,0 +1,33 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'caddyfile') == -1 + +" Language: Caddyfile +" Author: Josh Glendenning + +if exists("b:current_syntax") + finish +endif + +syn match caddyDirective "^\s*\([a-z]\+\)" nextgroup=caddyDirectiveArgs skipwhite +syn region caddyDirectiveArgs start="" end="\({\|#\|$\)"me=s-1 oneline contained contains=caddyPlaceholder,caddyString nextgroup=caddyDirectiveBlock skipwhite +syn region caddyDirectiveBlock start="{" skip="\\}" end="}" contained contains=caddySubdirective,caddyComment + +syn match caddySubdirective "^\s*\([a-zA-Z0-9_]\+\)" contained nextgroup=caddySubdirectiveArgs skipwhite +syn region caddySubdirectiveArgs start="" end="\(#\|$\)"me=s-1 oneline contained contains=caddyPlaceholder,caddyString + +syn match caddyHost "\(https\?:\/\/\)\?\(\(\w\{1,}\.\)\(\w\{2,}\.\?\)\+\|localhost\)\(:[0-9]\{1,5}\)\?" nextgroup=caddyHostBlock skipwhite +syn region caddyHostBlock start="{" skip="\\}" end="}" contained contains=caddyDirective,caddyComment + +syn region caddyPlaceholder start="{" skip="\\}" end="}" oneline contained +syn region caddyString start='"' skip='\\\\\|\\"' end='"' oneline +syn match caddyComment "#.*$" + +hi link caddyDirective Keyword +hi link caddySubdirective Structure +hi link caddyHost Identifier +hi link caddyPlaceholder Special +hi link caddyString String +hi link caddyComment Comment + +let b:current_syntax = "caddyfile" + +endif -- cgit v1.2.3