Skip to content

Commit 49cdfda

Browse files
committed
optscript: make _foreingtag pass arguments to _foreignreftag in correct order
Signed-off-by: Masatake YAMATO <[email protected]>
1 parent 028f305 commit 49cdfda

File tree

5 files changed

+30
-11
lines changed

5 files changed

+30
-11
lines changed

Units/optscript.r/with-foreignLanguage-flag.d/args.ctags

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
--langdef=XXX{_foreignLanguage=C}
66
--map-XXX=.xxx
7+
--fields=+n
8+
79
--kinddef-XXX=a,abc,abcx
810
--_roledef-XXX.a=assigned,assigned
911

@@ -27,6 +29,11 @@
2729
--regex-XXX=/\/\*(D)\(\)\*\//\1/f/{_role=arolefortesting}{_language=C}
2830
--regex-XXX=/\/\*(E)\(\)\*\///{{
2931
\1 /C /function /arolefortesting _foreignreftag _commit pop
32+
1 _matchloc
33+
}}
34+
35+
--regex-XXX=/\/\*(F)\(\)\*\///{{
36+
\1 /C /function 4 -1 roll _foreigntag _commit pop
3037
}}
3138

3239
--regex-C=/FUNC\(([a-z]*)\);/\1/f/
Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
a input.xxx /^a$/;" a language:XXX roles:def
2-
b input.xxx /^b$/;" a language:XXX roles:def
3-
c input.xxx /^c$/;" a language:XXX roles:assigned
4-
d input.xxx /^d$/;" a language:XXX roles:assigned
5-
A input.xxx /^\/*A()*\/$/;" f language:C roles:def
6-
B input.xxx /^\/*B()*\/$/;" f language:C roles:def
7-
C input.xxx /^\/*C()*\/$/;" f language:C roles:arolefortesting
8-
D input.xxx /^\/*D()*\/$/;" f language:C roles:arolefortesting
9-
E input.xxx /^\/*E()*\/$/;" f language:C roles:arolefortesting
10-
myfunc input-0.c /^FUNC(myfunc);$/;" f language:C roles:def
1+
a input.xxx /^a$/;" a line:1 language:XXX roles:def
2+
b input.xxx /^b$/;" a line:2 language:XXX roles:def
3+
c input.xxx /^c$/;" a line:3 language:XXX roles:assigned
4+
d input.xxx /^d$/;" a line:4 language:XXX roles:assigned
5+
A input.xxx /^\/*A()*\/$/;" f line:5 language:C roles:def
6+
B input.xxx /^\/*B()*\/$/;" f line:6 language:C roles:def
7+
C input.xxx /^\/*C()*\/$/;" f line:7 language:C roles:arolefortesting
8+
D input.xxx /^\/*D()*\/$/;" f line:8 language:C roles:arolefortesting
9+
E input.xxx /^\/*E()*\/$/;" f line:9 language:C roles:arolefortesting
10+
F input.xxx /^\/*E()*\/$/;" f line:9 language:C roles:def
11+
myfunc input-0.c /^FUNC(myfunc);$/;" f line:1 language:C roles:def

Units/optscript.r/with-foreignLanguage-flag.d/input.xxx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ d
77
/*C()*/
88
/*D()*/
99
/*E()*/
10+
/*F()*/

main/CommonPrelude.c

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,16 @@ const char ctagsCommonPrelude []=
253253
"(name:str lang:name kind:name matchloc _FOREIGNTAG tag\n"
254254
" name:str lang:name kind:name _FOREIGNTAG tag)\n"
255255
"/_foreigntag {\n"
256-
" null _foreignreftag\n"
256+
" dup type /nametype eq {\n"
257+
" % name:str lang:name kind:name\n"
258+
" null\n"
259+
" % name:str lang:name kind:name null\n"
260+
" _foreignreftag\n"
261+
" } {\n"
262+
" % name:str language:name kind:name matchloc\n"
263+
" null exch\n"
264+
" % name:str language:name kind:name null matchloc\n"
265+
" _foreignreftag\n"
266+
" } ifelse\n"
257267
"} __bddef\n"
258268
;

main/CommonPrelude.ps

294 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)