diff options
Diffstat (limited to 'after')
-rw-r--r-- | after/ftplugin/jsx.vim | 2 | ||||
-rw-r--r-- | after/syntax/puppet.vim | 28 | ||||
-rw-r--r-- | after/syntax/ruby.vim | 115 | ||||
-rw-r--r-- | after/syntax/yardoc_support.vim | 128 |
4 files changed, 163 insertions, 110 deletions
diff --git a/after/ftplugin/jsx.vim b/after/ftplugin/jsx.vim index e1af589f..d3bd2a8d 100644 --- a/after/ftplugin/jsx.vim +++ b/after/ftplugin/jsx.vim @@ -15,7 +15,7 @@ endif if exists("loaded_matchit") let b:match_ignorecase = 0 let b:match_words = '(:),\[:\],{:},<:>,' . - \ '<\@<=\([^/][^ \t>]*\)[^>]*\%(>\|$\):<\@<=/\1>' + \ '<\@<=\([A-z0-9.]\+\):\(</\)\@<=\1' endif " For andymass/vim-matchup plugin diff --git a/after/syntax/puppet.vim b/after/syntax/puppet.vim new file mode 100644 index 00000000..e39f48d0 --- /dev/null +++ b/after/syntax/puppet.vim @@ -0,0 +1,28 @@ +if polyglot#init#is_disabled(expand('<sfile>:p'), 'yard', 'after/syntax/puppet.vim') + finish +endif + +" Puppet syntax extensions for highlighting YARD documentation. +" +" Author: Gabriel Filion <gabster@lelutin.ca> +" URI: https://github.com/noprompt/vim-yardoc +" Version: 0.0.1 +" +" This file reuses the main yardoc syntax definitions and glues them together +" with puppet syntax groups from vim-puppet + +runtime! after/syntax/yardoc_support.vim + +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" Yard glue to puppet +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +syn match puppetComment "\s*#.*$" contains=puppetTodo,@Spell,yardComment +syn region puppetComment start="/\*" end="\*/" contains=puppetTodo,@Spell,yardComment extend fold keepend +syn cluster puppetNotTop add=@yardTags,@yardDirectives,@yardTypes,@yardLists,@yardHashes + +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" Tacking on Yard to puppet syntax classes +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +hi def link yardComment puppetComment +hi def link yardGenericTag puppetKeyword +hi def link yardGenericDirective puppetKeyword diff --git a/after/syntax/ruby.vim b/after/syntax/ruby.vim index 082115e1..85de287e 100644 --- a/after/syntax/ruby.vim +++ b/after/syntax/ruby.vim @@ -7,125 +7,22 @@ endif " Author: Joel Holdbrooks <https://github.com/noprompt> " URI: https://github.com/noprompt/vim-yardoc " Version: 0.0.1 +" +" This file reuses the main yardoc syntax definitions and glues them together +" with Vim's builtin ruby syntax groups -"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" 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 yardParamName /@param \h\+/hs=s+7 contained contains=yardParam -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,yardParamName,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 +runtime! after/syntax/yardoc_support.vim """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" Yard +" Yard glue to ruby """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -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 +" Tacking on Yard to ruby syntax classes """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" hi def link yardComment rubyComment -" Tags hi def link yardGenericTag rubyKeyword -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 yardYield yardGenericTag -hi def link yardYieldParam yardGenericTag -hi def link yardYieldReturn yardGenericTag -" Directives hi def link yardGenericDirective rubyKeyword -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/after/syntax/yardoc_support.vim b/after/syntax/yardoc_support.vim new file mode 100644 index 00000000..757ead24 --- /dev/null +++ b/after/syntax/yardoc_support.vim @@ -0,0 +1,128 @@ +if polyglot#init#is_disabled(expand('<sfile>:p'), 'yard', 'after/syntax/yardoc_support.vim') + finish +endif + +" Generic 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 yardParamName /@param \h\+/hs=s+7 contained contains=yardParam +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,yardParamName,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 + +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" Links +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" @note The links to language syntax classes is done in each language syntax +" script. +" +" Tags +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 yardYield yardGenericTag +hi def link yardYieldParam yardGenericTag +hi def link yardYieldReturn yardGenericTag +" Directives +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 |