summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2014-03-18 01:04:03 +0100
committerAdam Stankiewicz <sheerun@sher.pl>2014-03-18 01:04:03 +0100
commitfe26a3a7e6660ae1baead70b2fa406be4c880812 (patch)
treebb08ea14bb147e29129923d0a1ccb2526493111e
parent548f7d672a6dd2b6853a9112568b31c7bef418db (diff)
downloadvim-polyglot-fe26a3a7e6660ae1baead70b2fa406be4c880812.tar.gz
vim-polyglot-fe26a3a7e6660ae1baead70b2fa406be4c880812.zip
Add Yard support
-rw-r--r--after/syntax/ruby.vim126
-rwxr-xr-xbuild1
2 files changed, 127 insertions, 0 deletions
diff --git a/after/syntax/ruby.vim b/after/syntax/ruby.vim
index faa52b00..c908cbb3 100644
--- a/after/syntax/ruby.vim
+++ b/after/syntax/ruby.vim
@@ -18,3 +18,129 @@ syn match tomdocDescriptions +\s*Deprecated:+he=e-1 containedin=rubyComment cont
hi default link tomdocDescriptions String
hi default link tomdocKeywords String
hi default link tomdocArguments HELP
+" Ruby syntax extensions for highlighting YARD documentation.
+"
+" Author: Joel Holdbrooks <https://github.com/noprompt>
+" URI: https://github.com/noprompt/vim-yardoc
+" Version: 0.0.1
+
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+" Tags
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+syn match yardGenericTag "@\h\+" contained
+syn match yardAbstract "@abstract" contained
+syn match yardApi "@api" contained
+syn match yardAttr "@attr" contained
+syn match yardAttrReader "@attr_reader" contained
+syn match yardAttrWriter "@attr_writer" contained
+syn match yardAuthor "@author" contained
+syn match yardDeprecated "@deprecated" contained
+syn match yardExample "@example" contained
+syn match yardNote "@note" contained
+syn match yardOption "@option" contained
+syn match yardOverload "@overload" contained
+syn match yardParam "@param" contained
+syn match yardPrivate "@private" contained
+syn match yardRaise "@raise" contained
+syn match yardReturn "@return" contained
+syn match yardSee "@see" contained
+syn match yardSince "@since" contained
+syn match yardTodo "@todo" contained
+syn match yardVersion "@version" contained
+syn match yardYield "@yield" contained
+syn match yardYieldParam "@yieldparam" contained
+syn match yardYieldReturn "@yieldreturn" contained
+syn cluster yardTags contains=yardGenericTag,yardAbstract,yardApi,yardAttr,yardAttrReader,yardAttrWriter,yardAuthor,yardDeprecated,yardExample,yardNote,yardOption,yardOverload,yardParam,yardPrivate,yardRaise,yardReturn,yardSee,yardSince,yardTodo,yardVersion,yardYield,yardYieldParam,yardYieldReturn
+
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+" Directives
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+syn match yardGenericDirective "@!\h\+" contained
+syn match yardAttribute "@!attribute" contained
+syn match yardEndGroup "@!endgroup" contained
+syn match yardGroup "@!group" contained
+syn match yardMacro "@!macro" contained
+syn match yardMethod "@!method" contained
+syn match yardParse "@!parse" contained
+syn match yardScope "@!scope" contained
+syn match yardVisibility "@!visibility" contained
+
+syn cluster yardDirectives contains=yardGenericDirective,yardAttribute,yardEndGroup,yardGroup,yardMacro,yardMethod,yardParse,yardScope,yardVisibility
+
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+" Types, Lists, and Hashes
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+syn match yardDuckType "#\h\+" contained
+syn match yardType "[A-Z]\h\+" contained
+syn match yardLiteral "\(true\|false\|nil\|self\|void\)" contained
+syn match yardComma "," nextgroup=@yardTypes contained
+syn match yardArrow "=>" nextgroup=@yardTypes contained
+
+syn region yardParametricType start="[A-Z]\+\h\+<" end=">" contains=yardType,yardOrderDependentList,yardComma skipwhite contained
+syn region yardOrderDependentList start="(" end=")" contains=@yardTypes,yardComma skipwhite contained
+syn region yardTypeList start="\[" end="]" contains=@yardTypes,yardOrderDependentList,@yardHashes skipwhite contained
+syn region yardHashAngle start="Hash<" end=">" contains=yardDuckType,yardType,yardLiteral,yardArrow,yardComma skipwhite contained
+syn region yardHashCurly start="Hash{" end="}" contains=@yardTypes,yardArrow,yardComma skipwhite contained
+
+syn cluster yardTypes contains=yardDuckType,yardType,yardLiteral,yardParametricType
+syn cluster yardHashes contains=yardArrow,yardHashAngle,yardHashCurly
+syn cluster yardLists contains=yardComma,yardTypeList,yardOrderDependentList
+
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+" Yard
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+syn match yardComment "#\s*@!\{,1}\h\+.*" contains=@yardTags,@yardDirectives,yardTypeList
+syn match rubyComment "#.*" contains=rubySharpBang,rubySpaceError,rubyTodo,@Spell,yardComment
+syn region rubyMultilineComment start="\%(\%(^\s*#.*\n\)\@<!\%(^\s*#.*\n\)\)\%(\(^\s*#.*\n\)\{1,}\)\@=" end="\%(^\s*#.*\n\)\@<=\%(^\s*#.*\n\)\%(^\s*#\)\@!" contains=rubyComment transparent fold keepend
+syn cluster rubyNotTop add=@yardTags,@yardDirectives,@yardTypes,@yardLists,@yardHashes
+
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+" Links
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+hi def link yardComment rubyComment
+" Tags
+hi def link yardGenericTag rubyTodo
+hi def link yardAbstract yardGenericTag
+hi def link yardApi yardGenericTag
+hi def link yardAttr yardGenericTag
+hi def link yardAttrReader yardGenericTag
+hi def link yardAttrWriter yardGenericTag
+hi def link yardAuthor yardGenericTag
+hi def link yardDeprecated yardGenericTag
+hi def link yardExample yardGenericTag
+hi def link yardNote yardGenericTag
+hi def link yardOption yardGenericTag
+hi def link yardOverload yardGenericTag
+hi def link yardParam yardGenericTag
+hi def link yardPrivate yardGenericTag
+hi def link yardRaise yardGenericTag
+hi def link yardReturn yardGenericTag
+hi def link yardSee yardGenericTag
+hi def link yardSince yardGenericTag
+hi def link yardTodo yardGenericTag
+hi def link yardVersion yardGenericTag
+hi def link yield yardGenericTag
+hi def link yieldparam yardGenericTag
+hi def link yieldreturn yardGenericTag
+" Directives
+hi def link yardGenericDirective rubyTodo
+hi def link yardAttribute yardGenericDirective
+hi def link yardEndGroup yardGenericDirective
+hi def link yardGroup yardGenericDirective
+hi def link yardMacro yardGenericDirective
+hi def link yardMethod yardGenericDirective
+hi def link yardParse yardGenericDirective
+hi def link yardScope yardGenericDirective
+hi def link yardVisibility yardGenericDirective
+" Types
+hi def link yardComma yardComment
+hi def link yardType yardComment
+hi def link yardDuckType yardComment
+hi def link yardLiteral yardComment
+" Lists
+hi def link yardTypeList yardComment
+hi def link yardParametricType yardComment
+" Hashes
+hi def link yardArrow yardComment
+hi def link yardHashAngle yardComment
+hi def link yardHashCurly yardComment
diff --git a/build b/build
index 052e739c..da824210 100755
--- a/build
+++ b/build
@@ -113,6 +113,7 @@ PACKS="
vbnet:vim-scripts/vbnet.vim
twig:beyondwords/vim-twig
xls:vim-scripts/XSLT-syntax
+ yard:noprompt/vim-yardoc
css-color:gorodinskiy/vim-coloresque
"