diff options
author | Adam Stankiewicz <sheerun@sher.pl> | 2017-03-23 13:21:01 +0100 |
---|---|---|
committer | Adam Stankiewicz <sheerun@sher.pl> | 2017-03-23 13:21:01 +0100 |
commit | ef4435cffcc6e30d51feb76d34b9061b0f2e5550 (patch) | |
tree | 73b57f402b72c544dfbd5ecbdc76c685b78a5b65 | |
parent | c2a7f363c66b198f5ca24a9482198b30551d7af5 (diff) | |
download | vim-polyglot-ef4435cffcc6e30d51feb76d34b9061b0f2e5550.tar.gz vim-polyglot-ef4435cffcc6e30d51feb76d34b9061b0f2e5550.zip |
Add api blueprint support, closes #182v2.15.0
-rw-r--r-- | README.md | 1 | ||||
-rwxr-xr-x | build | 1 | ||||
-rw-r--r-- | ftdetect/polyglot.vim | 7 | ||||
-rw-r--r-- | syntax/apiblueprint.vim | 38 |
4 files changed, 47 insertions, 0 deletions
@@ -37,6 +37,7 @@ If you need full functionality of any plugin, please use it directly with your p ## Language packs - [ansible](https://github.com/pearofducks/ansible-vim) (syntax, indent, ftplugin) +- [apiblueprint](https://github.com/sheerun/apiblueprint.vim) (syntax) - [applescript](https://github.com/vim-scripts/applescript.vim) (syntax) - [arduino](https://github.com/sudar/vim-arduino-syntax) (syntax, indent) - [blade](https://github.com/jwalton512/vim-blade) (syntax, indent, ftplugin) @@ -104,6 +104,7 @@ EOF } PACKS=" + apiblueprint:sheerun/apiblueprint.vim applescript:vim-scripts/applescript.vim yaml:stephpy/vim-yaml ansible:pearofducks/ansible-vim diff --git a/ftdetect/polyglot.vim b/ftdetect/polyglot.vim index 6ff09572..63248b95 100644 --- a/ftdetect/polyglot.vim +++ b/ftdetect/polyglot.vim @@ -1,4 +1,11 @@ augroup filetypedetect +" apiblueprint:sheerun/apiblueprint.vim +autocmd BufReadPost,BufNewFile *.apib set filetype=apiblueprint +autocmd FileType apiblueprint set syntax=apiblueprint +autocmd FileType apiblueprint set makeprg=drafter\ -l\ % +augroup END + +augroup filetypedetect " applescript:vim-scripts/applescript.vim augroup END diff --git a/syntax/apiblueprint.vim b/syntax/apiblueprint.vim new file mode 100644 index 00000000..90d36386 --- /dev/null +++ b/syntax/apiblueprint.vim @@ -0,0 +1,38 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'apiblueprint') == -1 + +runtime! syntax/markdown.vim +unlet! b:current_syntax + +" Metadata +syntax region apibMarkdownMetadata start=/\%^.*:.*$/ end=/^$/ contains=apibMarkdownMetadataKey,apibMarkdownMetadataValue fold +syntax match apibMarkdownMetadataKey /^[^:]*\ze:/ contained +syntax match apibMarkdownMetadataValue /:.*/ contained + +syntax region apibHTTPStatusCode start=/\d\d\d/ end=// contained containedin=apibResponseSection +syntax region apibHTTPContentType start=/(.*)/ end=// contained containedin=apibResponseSection + +syntax region apibModelSection start=/^+ Model/ end=/$/ oneline +syntax region apibRequestSection start=/^[-+*] Request.*/ end=/^$/ contains=apibHTTPContentType +syntax region apibResponseSection start=/^[-+*] Response \d\d\d/ end=/^$/ contains=apibHTTPStatusCode,apibHTTPContentType +syntax region apibHeadersSection start=/^+ Headers$/ end=/^\S.*$/ contains=apibHeadersSectionKey,apibHeadersSectionValue + +syntax region apibActionRelationKey start=/: .*/ end=/$/ contained +syntax region apibActionRelation start=/^[-+*] Relation: .*$/ end=/$/ oneline contains=apibActionRelationKey + +syntax match apibHeadersSectionKey /^[^:]*\ze:/ contained +syntax match apibHeadersSectionValue /:.*/ contained + +highlight default link apibMarkdownMetadataKey Function +highlight default link apibRequestSection Function +highlight default link apibResponseSection Function +highlight default link apibModelSection Function +highlight default link apibHeadersSectionKey Function +highlight default link apibHTTPStatusCode Delimiter +highlight default link apibHTTPContentType Comment +highlight default link apibActionRelation Function +highlight default link apibActionRelationKey Identifier + +let b:current_syntax = 'apiblueprint' + + +endif |