|
7 | 7 | " Author: Joel Holdbrooks <https://github.com/noprompt>
|
8 | 8 | " URI: https://github.com/noprompt/vim-yardoc
|
9 | 9 | " Version: 0.0.1
|
| 10 | +" |
| 11 | +" This file reuses the main yardoc syntax definitions and glues them together |
| 12 | +" with Vim's builtin ruby syntax groups |
10 | 13 |
|
11 |
| -"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
12 |
| -" Tags |
13 |
| -"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
14 |
| -syn match yardGenericTag "@\h\+" contained |
15 |
| -syn match yardAbstract "@abstract" contained |
16 |
| -syn match yardApi "@api" contained |
17 |
| -syn match yardAttr "@attr" contained |
18 |
| -syn match yardAttrReader "@attr_reader" contained |
19 |
| -syn match yardAttrWriter "@attr_writer" contained |
20 |
| -syn match yardAuthor "@author" contained |
21 |
| -syn match yardDeprecated "@deprecated" contained |
22 |
| -syn match yardExample "@example" contained |
23 |
| -syn match yardNote "@note" contained |
24 |
| -syn match yardOption "@option" contained |
25 |
| -syn match yardOverload "@overload" contained |
26 |
| -syn match yardParam "@param" contained |
27 |
| -syn match yardParamName /@param \h\+/hs=s+7 contained contains=yardParam |
28 |
| -syn match yardPrivate "@private" contained |
29 |
| -syn match yardRaise "@raise" contained |
30 |
| -syn match yardReturn "@return" contained |
31 |
| -syn match yardSee "@see" contained |
32 |
| -syn match yardSince "@since" contained |
33 |
| -syn match yardTodo "@todo" contained |
34 |
| -syn match yardVersion "@version" contained |
35 |
| -syn match yardYield "@yield" contained |
36 |
| -syn match yardYieldParam "@yieldparam" contained |
37 |
| -syn match yardYieldReturn "@yieldreturn" contained |
38 |
| -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 |
39 |
| - |
40 |
| -"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
41 |
| -" Directives |
42 |
| -"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
43 |
| -syn match yardGenericDirective "@!\h\+" contained |
44 |
| -syn match yardAttribute "@!attribute" contained |
45 |
| -syn match yardEndGroup "@!endgroup" contained |
46 |
| -syn match yardGroup "@!group" contained |
47 |
| -syn match yardMacro "@!macro" contained |
48 |
| -syn match yardMethod "@!method" contained |
49 |
| -syn match yardParse "@!parse" contained |
50 |
| -syn match yardScope "@!scope" contained |
51 |
| -syn match yardVisibility "@!visibility" contained |
52 |
| - |
53 |
| -syn cluster yardDirectives contains=yardGenericDirective,yardAttribute,yardEndGroup,yardGroup,yardMacro,yardMethod,yardParse,yardScope,yardVisibility |
54 |
| - |
55 |
| -"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
56 |
| -" Types, Lists, and Hashes |
57 |
| -"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
58 |
| -syn match yardDuckType "#\h\+" contained |
59 |
| -syn match yardType "[A-Z]\h\+" contained |
60 |
| -syn match yardLiteral "\(true\|false\|nil\|self\|void\)" contained |
61 |
| -syn match yardComma "," nextgroup=@yardTypes contained |
62 |
| -syn match yardArrow "=>" nextgroup=@yardTypes contained |
63 |
| - |
64 |
| -syn region yardParametricType start="[A-Z]\+\h\+<" end=">" contains=yardType,yardOrderDependentList,yardComma skipwhite contained |
65 |
| -syn region yardOrderDependentList start="(" end=")" contains=@yardTypes,yardComma skipwhite contained |
66 |
| -syn region yardTypeList start="\[" end="]" contains=@yardTypes,yardOrderDependentList,@yardHashes skipwhite contained |
67 |
| -syn region yardHashAngle start="Hash<" end=">" contains=yardDuckType,yardType,yardLiteral,yardArrow,yardComma skipwhite contained |
68 |
| -syn region yardHashCurly start="Hash{" end="}" contains=@yardTypes,yardArrow,yardComma skipwhite contained |
69 |
| - |
70 |
| -syn cluster yardTypes contains=yardDuckType,yardType,yardLiteral,yardParametricType |
71 |
| -syn cluster yardHashes contains=yardArrow,yardHashAngle,yardHashCurly |
72 |
| -syn cluster yardLists contains=yardComma,yardTypeList,yardOrderDependentList |
| 14 | +runtime! after/syntax/yardoc_support.vim |
73 | 15 |
|
74 | 16 | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
75 |
| -" Yard |
| 17 | +" Yard glue to ruby |
76 | 18 | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
77 |
| -syn match yardComment "#\s*@!\{,1}\h\+.*" contains=@yardTags,@yardDirectives,yardTypeList |
78 | 19 | syn match rubyComment "#.*" contains=rubySharpBang,rubySpaceError,rubyTodo,@Spell,yardComment
|
79 | 20 | syn region rubyMultilineComment start="\%(\%(^\s*#.*\n\)\@<!\%(^\s*#.*\n\)\)\%(\(^\s*#.*\n\)\{1,}\)\@=" end="\%(^\s*#.*\n\)\@<=\%(^\s*#.*\n\)\%(^\s*#\)\@!" contains=rubyComment transparent fold keepend
|
80 | 21 | syn cluster rubyNotTop add=@yardTags,@yardDirectives,@yardTypes,@yardLists,@yardHashes
|
81 | 22 |
|
82 | 23 | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
83 |
| -" Links |
| 24 | +" Tacking on Yard to ruby syntax classes |
84 | 25 | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
85 | 26 | hi def link yardComment rubyComment
|
86 |
| -" Tags |
87 | 27 | hi def link yardGenericTag rubyKeyword
|
88 |
| -hi def link yardAbstract yardGenericTag |
89 |
| -hi def link yardApi yardGenericTag |
90 |
| -hi def link yardAttr yardGenericTag |
91 |
| -hi def link yardAttrReader yardGenericTag |
92 |
| -hi def link yardAttrWriter yardGenericTag |
93 |
| -hi def link yardAuthor yardGenericTag |
94 |
| -hi def link yardDeprecated yardGenericTag |
95 |
| -hi def link yardExample yardGenericTag |
96 |
| -hi def link yardNote yardGenericTag |
97 |
| -hi def link yardOption yardGenericTag |
98 |
| -hi def link yardOverload yardGenericTag |
99 |
| -hi def link yardParam yardGenericTag |
100 |
| -hi def link yardPrivate yardGenericTag |
101 |
| -hi def link yardRaise yardGenericTag |
102 |
| -hi def link yardReturn yardGenericTag |
103 |
| -hi def link yardSee yardGenericTag |
104 |
| -hi def link yardSince yardGenericTag |
105 |
| -hi def link yardTodo yardGenericTag |
106 |
| -hi def link yardVersion yardGenericTag |
107 |
| -hi def link yardYield yardGenericTag |
108 |
| -hi def link yardYieldParam yardGenericTag |
109 |
| -hi def link yardYieldReturn yardGenericTag |
110 |
| -" Directives |
111 | 28 | hi def link yardGenericDirective rubyKeyword
|
112 |
| -hi def link yardAttribute yardGenericDirective |
113 |
| -hi def link yardEndGroup yardGenericDirective |
114 |
| -hi def link yardGroup yardGenericDirective |
115 |
| -hi def link yardMacro yardGenericDirective |
116 |
| -hi def link yardMethod yardGenericDirective |
117 |
| -hi def link yardParse yardGenericDirective |
118 |
| -hi def link yardScope yardGenericDirective |
119 |
| -hi def link yardVisibility yardGenericDirective |
120 |
| -" Types |
121 |
| -hi def link yardComma yardComment |
122 |
| -hi def link yardType yardComment |
123 |
| -hi def link yardDuckType yardComment |
124 |
| -hi def link yardLiteral yardComment |
125 |
| -" Lists |
126 |
| -hi def link yardTypeList yardComment |
127 |
| -hi def link yardParametricType yardComment |
128 |
| -" Hashes |
129 |
| -hi def link yardArrow yardComment |
130 |
| -hi def link yardHashAngle yardComment |
131 |
| -hi def link yardHashCurly yardComment |
0 commit comments