diff --git a/nvim/.config/nvim/syntax/request.vim b/nvim/.config/nvim/syntax/request.vim new file mode 100644 index 00000000..d1bb1b08 --- /dev/null +++ b/nvim/.config/nvim/syntax/request.vim @@ -0,0 +1,25 @@ +if exists("b:current_syntax") + finish +endif +runtime! syntax/html.vim +runtime! after/syntax/html.vim +let s:cpo_save = &cpo +set cpo&vim +syn keyword httpMethod OPTIONS GET HEAD POST PUT DELETE TRACE CONNECT PATCH contained +syn match httpProto 'HTTP/[0-9.]\+' contained +syn match httpStatusCode '[0-9]\{3\}' contained +syn match httpStatus '[0-9]\{3\} .*$' contained contains=httpStatusCode +syn match httpHeaderKey '^[A-Z][A-Za-z0-9\-]*:' contained +syn match httpURILine '^\(OPTIONS\|GET\|HEAD\|POST\|PUT\|DELETE\|TRACE\|CONNECT\|PATCH\)\( .*\)\?\(HTTP/[0-9.]\+\)\?$' contains=httpMethod,httpProto contained +syn match httpResponseLine '^HTTP/[0-9.]\+ [0-9]\{3\}.*$' contains=httpProto,httpStatus contained +syn match httpHeaderLine '^[A-Z][A-Za-z0-9\-]*: .*$' contains=httpHeaderKey contained +syn region httpHeader start='^\(OPTIONS\|GET\|HEAD\|POST\|PUT\|DELETE\|TRACE\|CONNECT\|PATCH\)\( .*\)\?\(HTTP/[0-9.]\+\)\?$' end='\n\s*\n' contains=httpURILine,httpHeaderLine +syn region httpHeader start='^HTTP/[0-9.]\+ [0-9]\{3\}.*$' end='\n\s*\n' contains=httpResponseLine,httpHeaderLine +hi link httpMethod Type +hi link httpProto Statement +hi link httpHeaderKey Identifier +hi link httpStatus String +hi link httpStatusCode Number +let b:current_syntax = 'request' +let &cpo = s:cpo_save +unlet s:cpo_save