File: inko.ctags

package info (click to toggle)
universal-ctags 0%2Bgit20200824-1.1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 22,092 kB
  • sloc: ansic: 103,112; lisp: 7,241; sh: 6,962; vhdl: 5,924; perl: 2,014; cpp: 1,928; python: 1,828; javascript: 1,529; cs: 1,193; sql: 587; php: 544; f90: 534; makefile: 500; ruby: 498; yacc: 459; asm: 358; fortran: 341; xml: 308; objc: 289; ada: 273; tcl: 205; java: 157; cobol: 122; erlang: 61; ml: 49; awk: 43
file content (77 lines) | stat: -rw-r--r-- 3,013 bytes parent folder | download
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/.//