summaryrefslogtreecommitdiffstats
path: root/syntax/autodoc.vim
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2020-10-07 21:51:30 +0200
committerAdam Stankiewicz <sheerun@sher.pl>2020-10-07 21:51:30 +0200
commit4bec20ec1a7cde0c29d9550d244f428484fa56ab (patch)
tree9d0e03e25083e1e9f313150ccdf435a15bcab789 /syntax/autodoc.vim
parent9f4e2b683453c9521de8164169327a112d71f6c1 (diff)
downloadvim-polyglot-4.13.2.tar.gz
vim-polyglot-4.13.2.zip
Fix test and loading of filetypes, closes #577v4.13.2
Diffstat (limited to 'syntax/autodoc.vim')
-rw-r--r--syntax/autodoc.vim105
1 files changed, 105 insertions, 0 deletions
diff --git a/syntax/autodoc.vim b/syntax/autodoc.vim
new file mode 100644
index 00000000..5fcc60ca
--- /dev/null
+++ b/syntax/autodoc.vim
@@ -0,0 +1,105 @@
+if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'autodoc') == -1
+
+" Vim syntax file
+" Language: Autodoc
+" Maintainer: Stephen R. van den Berg <srb@cuci.nl>
+" Last Change: 2018 Jan 23
+" Version: 2.9
+" Remark: Included by pike.vim, cmod.vim and optionally c.vim
+" Remark: In order to make c.vim use it, set: c_autodoc
+
+" Quit when a (custom) syntax file was already loaded
+if exists("b:current_syntax")
+ finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn case match
+
+" A bunch of useful autodoc keywords
+syn keyword autodocStatement contained appears belongs global
+syn keyword autodocStatement contained decl directive inherit
+syn keyword autodocStatement contained deprecated obsolete bugs
+syn keyword autodocStatement contained copyright example fixme note param returns
+syn keyword autodocStatement contained seealso thanks throws constant
+syn keyword autodocStatement contained member index elem
+syn keyword autodocStatement contained value type item
+
+syn keyword autodocRegion contained enum mapping code multiset array
+syn keyword autodocRegion contained int string section mixed ol ul dl
+syn keyword autodocRegion contained class module namespace
+syn keyword autodocRegion contained endenum endmapping endcode endmultiset
+syn keyword autodocRegion contained endarray endint endstring endsection
+syn keyword autodocRegion contained endmixed endol endul enddl
+syn keyword autodocRegion contained endclass endmodule endnamespace
+
+syn keyword autodocIgnore contained ignore endignore
+
+syn keyword autodocStatAcc contained b i u tt url pre sub sup
+syn keyword autodocStatAcc contained ref rfc xml dl expr image
+
+syn keyword autodocTodo contained TODO FIXME XXX
+
+syn match autodocLineStart display "\(//\|/\?\*\)\@2<=!"
+syn match autodocWords "[^!@{}[\]]\+" display contains=@Spell
+
+syn match autodocLink "@\[[^[\]]\+]"hs=s+2,he=e-1 display contains=autodocLead
+syn match autodocAtStmt "@[a-z]\+\%(\s\|$\)\@="hs=s+1 display contains=autodocStatement,autodocIgnore,autodocLead,autodocRegion
+
+" Due to limitations of the matching algorithm, we cannot highlight
+" nested autodocNStmtAcc structures correctly
+syn region autodocNStmtAcc start="@[a-z]\+{" end="@}" contains=autodocStatAcc,autodocLead keepend
+
+syn match autodocUrl contained display ".\+"
+syn region autodocAtUrlAcc start="{"ms=s+1 end="@}"he=e-1,me=e-2 contained display contains=autodocUrl,autodocLead keepend
+syn region autodocNUrlAcc start="@url{" end="@}" contains=autodocStatAcc,autodocAtUrlAcc,autodocLead transparent
+
+syn match autodocSpecial "@@" display
+syn match autodocLead "@" display contained
+
+"when wanted, highlight trailing white space
+if exists("c_space_errors")
+ if !exists("c_no_trail_space_error")
+ syn match autodocSpaceError display excludenl "\s\+$"
+ endif
+ if !exists("c_no_tab_space_error")
+ syn match autodocSpaceError display " \+\t"me=e-1
+ endif
+endif
+
+if exists("c_minlines")
+ let b:c_minlines = c_minlines
+else
+ if !exists("c_no_if0")
+ let b:c_minlines = 50 " #if 0 constructs can be long
+ else
+ let b:c_minlines = 15 " mostly for () constructs
+ endif
+endif
+exec "syn sync ccomment autodocComment minlines=" . b:c_minlines
+
+" Define the default highlighting.
+" Only used when an item doesn't have highlighting yet
+hi def link autodocStatement Statement
+hi def link autodocStatAcc Statement
+hi def link autodocRegion Structure
+hi def link autodocAtStmt Error
+hi def link autodocNStmtAcc Identifier
+hi def link autodocLink Type
+hi def link autodocTodo Todo
+hi def link autodocSpaceError Error
+hi def link autodocLineStart SpecialComment
+hi def link autodocSpecial SpecialChar
+hi def link autodocUrl Underlined
+hi def link autodocLead Statement
+hi def link autodocIgnore Delimiter
+
+let b:current_syntax = "autodoc"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
+" vim: ts=8
+
+endif