-
Notifications
You must be signed in to change notification settings - Fork 620
/
markdown.ctags
213 lines (178 loc) · 11.7 KB
/
markdown.ctags
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
#
#
# Copyright (c) 2018, Red Hat, Inc.
# Copyright (c) 2018, Masatake YAMATO
#
# Author: Masatake YAMATO <yamato@redhat.com>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
# USA.
#
#
--langdef=Markdown
--map-Markdown=+.md
--map-Markdown=+.markdown
--_scopesep-Markdown=*/*:""
--kinddef-Markdown=c,chapter,chapsters
--kinddef-Markdown=s,section,sections
--kinddef-Markdown=S,subsection,subsections
--kinddef-Markdown=t,subsubsection,subsubsections
--kinddef-Markdown=T,l4subsection,level 4 subsections
--kinddef-Markdown=u,l5subsection,level 5 subsections
--_fielddef-Markdown=sectionMarker,character used for declaring section(#, ##, =, or -)
--_tabledef-Markdown=main
--_tabledef-Markdown=main_sharp
--_tabledef-Markdown=chapter
--_tabledef-Markdown=chapter_sharp
--_tabledef-Markdown=section
--_tabledef-Markdown=section_sharp
--_tabledef-Markdown=subsection
--_tabledef-Markdown=subsection_sharp
--_tabledef-Markdown=subsubsection
--_tabledef-Markdown=subsubsection_sharp
--_tabledef-Markdown=l4subsection
--_tabledef-Markdown=l4subsection_sharp
--_tabledef-Markdown=l5subsection
--_tabledef-Markdown=l5subsection_sharp
--_tabledef-Markdown=emptyLine
--_tabledef-Markdown=gfmLeave
--_tabledef-Markdown=rest
--_tabledef-Markdown=code
# Handle GFM style codeblock in this table.
# https://github.github.com/gfm/#fenced-code-blocks
--_tabledef-Markdown=codeblockBacktick
--_tabledef-Markdown=codeblockTildes
--_mtable-regex-Markdown=emptyLine/^([\t ]*)[\n]+//
--_mtable-extend-Markdown=gfmLeave+emptyLine
--_mtable-regex-Markdown=gfmLeave/^([^\n]+)[\n](=+|-+)[\n]//{scope=pop}{tleave}{_advanceTo=0start}
--_mtable-regex-Markdown=rest/^[^\n]*[\n]+//
--_mtable-regex-Markdown=rest/^[^\n]*//{tquit}
--_mtable-regex-Markdown=code/^[ \t]*````*[ \t]*([a-zA-Z0-9][-#+a-zA-Z0-9]*)?[^`\n]*[\n]//{tenter=codeblockBacktick}{_guest=\1,0end,}
--_mtable-regex-Markdown=code/^[ \t]*~~~~*[ \t]*([a-zA-Z0-9][-#+a-zA-Z0-9]*)?[^~\n]*[\n]//{tenter=codeblockTildes}{_guest=\1,0end,}
#
# Main
#
--_mtable-regex-Markdown=main_sharp/^#[ \t]+([^\n]+)([ \t]+#+)[\n]*/\1/c/{_field=sectionMarker:##}{scope=push}{tenter=chapter,main}
--_mtable-regex-Markdown=main_sharp/^#[ \t]+([^\n]+)[\n]*/\1/c/{_field=sectionMarker:#}{scope=push}{tenter=chapter,main}
--_mtable-regex-Markdown=main_sharp/^##[ \t]+([^\n]+)([ \t]+#+)[\n]*/\1/s/{_field=sectionMarker:##}{scope=push}{tenter=section,main}
--_mtable-regex-Markdown=main_sharp/^##[ \t]+([^\n]+)[\n]*/\1/s/{_field=sectionMarker:#}{scope=push}{tenter=section,main}
--_mtable-regex-Markdown=main_sharp/^###[ \t]+([^\n]+)([ \t]+#+)[\n]*/\1/S/{_field=sectionMarker:##}{scope=push}{tenter=subsection,main}
--_mtable-regex-Markdown=main_sharp/^###[ \t]+([^\n]+)[\n]*/\1/S/{_field=sectionMarker:#}{scope=push}{tenter=subsection,main}
--_mtable-regex-Markdown=main_sharp/^####[ \t]+([^\n]+)([ \t]+#+)[\n]*/\1/t/{_field=sectionMarker:##}{scope=push}{tenter=subsubsection,main}
--_mtable-regex-Markdown=main_sharp/^####[ \t]+([^\n]+)[\n]*/\1/t/{_field=sectionMarker:#}{scope=push}{tenter=subsubsection,main}
--_mtable-regex-Markdown=main_sharp/^#####[ \t]+([^\n]+)([ \t]+#+)[\n]*/\1/T/{_field=sectionMarker:##}{scope=push}{tenter=l4subsection,main}
--_mtable-regex-Markdown=main_sharp/^#####[ \t]+([^\n]+)[\n]*/\1/T/{_field=sectionMarker:#}{scope=push}{tenter=l4subsection,main}
--_mtable-regex-Markdown=main_sharp/^######[ \t]+([^\n]+)([ \t]+#+)[\n]*/\1/u/{_field=sectionMarker:##}{scope=push}{tenter=l5subsection,main}
--_mtable-regex-Markdown=main_sharp/^######[ \t]+([^\n]+)[\n]*/\1/u/{_field=sectionMarker:#}{scope=push}{tenter=l5subsection,main}
--_mtable-regex-Markdown=main_sharp/.//{tjump=main}
--_mtable-regex-Markdown=main/^#//{_advanceTo=0start}{tjump=main_sharp}
--_mtable-extend-Markdown=main+emptyLine
--_mtable-regex-Markdown=main/^([^\n]+)[\n]=+[\n]/\1/c/{_field=sectionMarker:=}{scope=push}{tenter=chapter}
--_mtable-regex-Markdown=main/^([^\n]+)[\n]-+[\n]/\1/s/{_field=sectionMarker:-}{scope=push}{tenter=section}
--_mtable-extend-Markdown=main+code
--_mtable-extend-Markdown=main+rest
#
# Chapter
#
--_mtable-regex-Markdown=chapter_sharp/^#{1,1}[ \t]+([^\n]+)//{scope=pop}{tleave}{_advanceTo=0start}
--_mtable-regex-Markdown=chapter_sharp/^##[ \t]+([^\n]+)([ \t]+#+)[\n]*/\1/s/{_field=sectionMarker:##}{scope=push}{tenter=section,chapter}
--_mtable-regex-Markdown=chapter_sharp/^##[ \t]+([^\n]+)[\n]*/\1/s/{_field=sectionMarker:#}{scope=push}{tenter=section,chapter}
--_mtable-regex-Markdown=chapter_sharp/^###[ \t]+([^\n]+)([ \t]+#+)[\n]*/\1/S/{_field=sectionMarker:##}{scope=push}{tenter=subsection,chapter}
--_mtable-regex-Markdown=chapter_sharp/^###[ \t]+([^\n]+)[\n]*/\1/S/{_field=sectionMarker:#}{scope=push}{tenter=subsection,chapter}
--_mtable-regex-Markdown=chapter_sharp/^####[ \t]+([^\n]+)([ \t]+#+)[\n]*/\1/t/{_field=sectionMarker:##}{scope=push}{tenter=subsubsection,chapter}
--_mtable-regex-Markdown=chapter_sharp/^####[ \t]+([^\n]+)[\n]*/\1/t/{_field=sectionMarker:#}{scope=push}{tenter=subsubsection,chapter}
--_mtable-regex-Markdown=chapter_sharp/^#####[ \t]+([^\n]+)([ \t]+#+)[\n]*/\1/T/{_field=sectionMarker:##}{scope=push}{tenter=l4subsection,chapter}
--_mtable-regex-Markdown=chapter_sharp/^#####[ \t]+([^\n]+)[\n]*/\1/T/{_field=sectionMarker:#}{scope=push}{tenter=l4subsection,chapter}
--_mtable-regex-Markdown=chapter_sharp/^######[ \t]+([^\n]+)([ \t]+#+)[\n]*/\1/u/{_field=sectionMarker:##}{scope=push}{tenter=l5subsection,chapter}
--_mtable-regex-Markdown=chapter_sharp/^######[ \t]+([^\n]+)[\n]*/\1/u/{_field=sectionMarker:#}{scope=push}{tenter=l5subsection,chapter}
--_mtable-regex-Markdown=chapter_sharp/.//{tjump=chapter}
--_mtable-regex-Markdown=chapter/^#//{_advanceTo=0start}{tjump=chapter_sharp}
--_mtable-extend-Markdown=chapter+emptyLine
--_mtable-regex-Markdown=chapter/^([^\n]+)[\n]-+[\n]/\1/s/{_field=sectionMarker:-}{scope=push}{tenter=section}
--_mtable-regex-Markdown=chapter/^([^\n]+)[\n]=+[\n]//{scope=pop}{tleave}{_advanceTo=0start}
--_mtable-extend-Markdown=chapter+code
--_mtable-extend-Markdown=chapter+rest
#
# Section
#
--_mtable-regex-Markdown=section_sharp/^#{1,2}[ \t]+([^\n]+)//{scope=pop}{tleave}{_advanceTo=0start}
--_mtable-regex-Markdown=section_sharp/^###[ \t]+([^\n]+)([ \t]+#+)[\n]*/\1/S/{_field=sectionMarker:##}{scope=push}{tenter=subsection,section}
--_mtable-regex-Markdown=section_sharp/^###[ \t]+([^\n]+)[\n]*/\1/S/{_field=sectionMarker:#}{scope=push}{tenter=subsection,section}
--_mtable-regex-Markdown=section_sharp/^####[ \t]+([^\n]+)([ \t]+#+)[\n]*/\1/t/{_field=sectionMarker:##}{scope=push}{tenter=subsubsection,section}
--_mtable-regex-Markdown=section_sharp/^####[ \t]+([^\n]+)[\n]*/\1/t/{_field=sectionMarker:#}{scope=push}{tenter=subsubsection,section}
--_mtable-regex-Markdown=section_sharp/^#####[ \t]+([^\n]+)([ \t]+#+)[\n]*/\1/T/{_field=sectionMarker:##}{scope=push}{tenter=l4subsection,section}
--_mtable-regex-Markdown=section_sharp/^#####[ \t]+([^\n]+)[\n]*/\1/T/{_field=sectionMarker:#}{scope=push}{tenter=l4subsection,section}
--_mtable-regex-Markdown=section_sharp/^######[ \t]+([^\n]+)([ \t]+#+)[\n]*/\1/u/{_field=sectionMarker:##}{scope=push}{tenter=l5subsection,section}
--_mtable-regex-Markdown=section_sharp/^######[ \t]+([^\n]+)[\n]*/\1/u/{_field=sectionMarker:#}{scope=push}{tenter=l5subsection,section}
--_mtable-regex-Markdown=section_sharp/.//{tjump=section}
--_mtable-regex-Markdown=section/^#//{_advanceTo=0start}{tjump=section_sharp}
--_mtable-extend-Markdown=section+gfmLeave
--_mtable-extend-Markdown=section+code
--_mtable-extend-Markdown=section+rest
#
# Subsection
#
--_mtable-regex-Markdown=subsection_sharp/^#{1,3}[ \t]+([^\n]+)//{scope=pop}{tleave}{_advanceTo=0start,subsection}
--_mtable-regex-Markdown=subsection_sharp/^####[ \t]+([^\n]+)([ \t]+#+)[\n]*/\1/t/{_field=sectionMarker:##}{scope=push}{tenter=subsubsection,subsection}
--_mtable-regex-Markdown=subsection_sharp/^####[ \t]+([^\n]+)[\n]*/\1/t/{_field=sectionMarker:#}{scope=push}{tenter=subsubsection,subsection}
--_mtable-regex-Markdown=subsection_sharp/^#####[ \t]+([^\n]+)([ \t]+#+)[\n]*/\1/T/{_field=sectionMarker:##}{scope=push}{tenter=l4subsection,subsection}
--_mtable-regex-Markdown=subsection_sharp/^#####[ \t]+([^\n]+)[\n]*/\1/T/{_field=sectionMarker:#}{scope=push}{tenter=l4subsection,subsection}
--_mtable-regex-Markdown=subsection_sharp/^######[ \t]+([^\n]+)([ \t]+#+)[\n]*/\1/u/{_field=sectionMarker:##}{scope=push}{tenter=l5subsection,subsection}
--_mtable-regex-Markdown=subsection_sharp/^######[ \t]+([^\n]+)[\n]*/\1/u/{_field=sectionMarker:#}{scope=push}{tenter=l5subsection,subsection}
--_mtable-regex-Markdown=subsection_sharp/.//{tjump=subsection}
--_mtable-regex-Markdown=subsection/^#//{_advanceTo=0start}{tjump=subsection_sharp}
--_mtable-extend-Markdown=subsection+gfmLeave
--_mtable-extend-Markdown=subsection+code
--_mtable-extend-Markdown=subsection+rest
#
# SubSubsection
#
--_mtable-regex-Markdown=subsubsection_sharp/^#{1,4}[ \t]+([^\n]+)//{scope=pop}{tleave}{_advanceTo=0start}
--_mtable-regex-Markdown=subsubsection_sharp/^#####[ \t]+([^\n]+)([ \t]+#+)[\n]*/\1/T/{_field=sectionMarker:##}{scope=push}{tenter=l4subsection,subsubsection}
--_mtable-regex-Markdown=subsubsection_sharp/^#####[ \t]+([^\n]+)[\n]*/\1/T/{_field=sectionMarker:#}{scope=push}{tenter=l4subsection,subsubsection}
--_mtable-regex-Markdown=subsubsection_sharp/^######[ \t]+([^\n]+)([ \t]+#+)[\n]*/\1/u/{_field=sectionMarker:##}{scope=push}{tenter=l5subsection,subsubsection}
--_mtable-regex-Markdown=subsubsection_sharp/^######[ \t]+([^\n]+)[\n]*/\1/u/{_field=sectionMarker:#}{scope=push}{tenter=l5subsection,subsubsection}
--_mtable-regex-Markdown=subsubsection_sharp/.//{tjump=subsubsection}
--_mtable-regex-Markdown=subsubsection/^#//{_advanceTo=0start}{tjump=subsubsection_sharp}
--_mtable-extend-Markdown=subsubsection+gfmLeave
--_mtable-extend-Markdown=subsubsection+code
--_mtable-extend-Markdown=subsubsection+rest
#
# L4subsection
#
--_mtable-regex-Markdown=l4subsection_sharp/^#{1,5}[ \t]+([^\n]+)//{scope=pop}{tleave}{_advanceTo=0start}
--_mtable-regex-Markdown=l4subsection_sharp/^######[ \t]+([^\n]+)([ \t]+#+)[\n]*/\1/u/{_field=sectionMarker:##}{scope=push}{tenter=l5subsection,l4subsection}
--_mtable-regex-Markdown=l4subsection_sharp/^######[ \t]+([^\n]+)[\n]*/\1/u/{_field=sectionMarker:#}{scope=push}{tenter=l5subsection,l4subsection}
--_mtable-regex-Markdown=l4subsection_sharp/.//{tjump=l4subsection}
--_mtable-regex-Markdown=l4subsection/^#//{_advanceTo=0start}{tjump=l4subsection_sharp}
--_mtable-extend-Markdown=l4subsection+gfmLeave
--_mtable-extend-Markdown=l4subsection+code
--_mtable-extend-Markdown=l4subsection+rest
#
# L5subsection
#
--_mtable-regex-Markdown=l5subsection_sharp/^#{1,6}[ \t]+([^\n]+)//{scope=pop}{tleave}{_advanceTo=0start}
--_mtable-regex-Markdown=l5subsection_sharp/.//{tjump=l5subsection}
--_mtable-regex-Markdown=l5subsection/^#//{_advanceTo=0start}{tjump=l5subsection_sharp}
--_mtable-extend-Markdown=l5subsection+gfmLeave
--_mtable-extend-Markdown=l5subsection+code
--_mtable-extend-Markdown=l5subsection+rest
#
# Codeblock
#
--_mtable-regex-Markdown=codeblockBacktick/^[ \t]*````*[ \t]*[\n]//{tleave}{_guest=,,0start}
--_mtable-extend-Markdown=codeblockBacktick+rest
--_mtable-regex-Markdown=codeblockTildes/^[ \t]*~~~~*[ \t]*[\n]//{tleave}{_guest=,,0start}
--_mtable-extend-Markdown=codeblockTildes+rest