forked from universal-ctags/ctags
-
Notifications
You must be signed in to change notification settings - Fork 0
/
inko.ctags
77 lines (66 loc) · 2.94 KB
/
inko.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
# inko.ctags --- regex parser for the Inko programming language
# (https://inko-lang.org/)
#
# Copyright (c) 2019, Yorick Peterse
#
# Author: Yorick Peterse <yorickpeterse@gmail.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=Inko
--map-Inko=+.inko
--kinddef-Inko=o,object,Object definition
--kinddef-Inko=m,method,Method definition
--kinddef-Inko=t,trait,Trait definition
--kinddef-Inko=a,attribute,Attribute definition
--kinddef-Inko=c,constant,Constant definition
--kinddef-Inko=r,reopen,Reopen object
--_fielddef-Inko=implements,Trait being implemented
--fields-Inko=+{implements}
--_tabledef-Inko=toplevel
--_tabledef-Inko=object
--_tabledef-Inko=trait
--_tabledef-Inko=method
--_tabledef-Inko=comment
--_tabledef-Inko=impl
--_tabledef-Inko=let
--_mtable-regex-Inko=toplevel/#//{tenter=comment}
--_mtable-regex-Inko=toplevel/[[:blank:]]*object[[:blank:]]+//{tenter=object}
--_mtable-regex-Inko=toplevel/[[:blank:]]*trait[[:blank:]]+//{tenter=trait}
--_mtable-regex-Inko=toplevel/[[:blank:]]*def[[:blank:]]+//{tenter=method}
--_mtable-regex-Inko=toplevel/[[:blank:]]*impl[[:blank:]]+//{tenter=impl}
--_mtable-regex-Inko=toplevel/[[:blank:]]*let[[:blank:]]+//{tenter=let}
--_mtable-regex-Inko=toplevel/\{//{placeholder}{scope=push}
--_mtable-regex-Inko=toplevel/\}//{scope=pop}
--_mtable-regex-Inko=toplevel/.//
--_mtable-regex-Inko=object/([A-Z][a-zA-Z0-9_?]*)[^{]*/\1/o/{scope=push}
--_mtable-regex-Inko=object/\{//{tleave}
--_mtable-regex-Inko=object/.//
--_mtable-regex-Inko=trait/([A-Z][a-zA-Z0-9_?]*)[^{]*/\1/t/{scope=push}
--_mtable-regex-Inko=trait/\{//{tleave}
--_mtable-regex-Inko=trait/.//
--_mtable-regex-Inko=method/([a-zA-Z0-9_?]+|\[\]=?|\^|&|\||\*|\+|\-|\/|>>|<<|%)[^{]*/\1/m/{scope=push}
--_mtable-regex-Inko=method/\{//{tleave}
--_mtable-regex-Inko=method/.//
--_mtable-regex-Inko=impl/([A-Z][a-zA-Z0-9_?]*)[[:blank:]]+for[[:blank:]]+([A-Z][a-zA-Z0-9_?]*)[^{]*/\2/r/{scope=push}{_field=implements:\1}
--_mtable-regex-Inko=impl/([A-Z][a-zA-Z0-9_?]*)[^{]*/\1/r/{scope=push}
--_mtable-regex-Inko=impl/\{//{tleave}
--_mtable-regex-Inko=impl/.//
--_mtable-regex-Inko=let/(@[a-zA-Z0-9_]+)/\1/a/{scope=ref}
--_mtable-regex-Inko=let/([A-Z][a-zA-Z0-9_]+)/\1/c/{scope=ref}
--_mtable-regex-Inko=let/=//{tleave}
--_mtable-regex-Inko=let/.//
--_mtable-regex-Inko=comment/\n//{tleave}
--_mtable-regex-Inko=comment/.//