Thread: [Ctags] extending ctags language on win32
Brought to you by:
dhiebert
From: Matt G. <mcg...@ya...> - 2004-10-05 17:36:51
|
I'm trying to extend ctags so I can use it with the language I work with (unibasic). All I really want to do is have the ability to locate internal subroutines that are defined like the example below. Its similar to a label used in other languages. I'm running on WinXP pro and using UltraEdit 10.20 for my editor. As for ctags I have downloaded and installed the binary from the site, but I have not done anything extra. I've read the docs and it says something about downloading gnu regex, is this necessary if I'm running the binary version? example subroutine: SUB_ROUTINE: Thanks, Matt |
From: David F. <fis...@ia...> - 2004-10-05 19:44:38
|
> -----Original Message----- > From: cta...@li... > [mailto:cta...@li...] On Behalf Of > Matt Giddings > Sent: Tuesday, October 05, 2004 1:36 PM > To: cta...@li... > Subject: [Ctags] extending ctags language on win32 > > I'm trying to extend ctags so I can use it with the language > I work with (unibasic). All I really want to do is have the > ability to locate internal subroutines that are defined like > the example below. Its similar to a label used in other > languages. I'm running on WinXP pro and using UltraEdit > 10.20 for my editor. As for ctags I have downloaded and > installed the binary from the site, but I have not done > anything extra. I've read the docs and it says something > about downloading gnu regex, is this necessary if I'm running > the binary version? > > example subroutine: > > SUB_ROUTINE: It is a shame you are not running Vim, but that is another story ... I do the following for DOS batch/cmd files: --langdef=dosbatch --langmap=dosbatch:.cmd,.bat --regex-dosbatch=/^:([a-zA-Z0-9_]+)/\1/l,label/i --regex-dosbatch=/set[ ]+([a-zA-Z0-9_]+)/\1/v,variable/i C:\Vim\Tools\ctags.exe -f - --format=2 --excmd=pattern --fields=nks --sort=yes --language-force=dosbatch --dosbatch-types=lv "D:\appdev\projects\HandiWeb\bin\gendb9.cmd" So you have to add the types you want to the command line: --dosbatch-types=lv Notice I defined l, label and v, variable above. So yours would be the same as mine. HTH, Dave |
From: Darren H. <dhi...@us...> - 2004-10-06 05:36:59
|
On Tue, 5 Oct 2004, Matt Giddings wrote: > I'm trying to extend ctags so I can use it with the language I work with > (unibasic). All I really want to do is have the ability to locate internal > subroutines that are defined like the example below. Its similar to a label > used in other languages. I'm running on WinXP pro and using UltraEdit 10.20 > for my editor. As for ctags I have downloaded and installed the binary from > the site, but I have not done anything extra. I've read the docs and it says > something about downloading gnu regex, is this necessary if I'm running the > binary version? > > example subroutine: > > SUB_ROUTINE: You need to instruct ctags to perform the following actions: 1. Define the language (--langdef) 2. Map the language to an extension or shell pattern (--langmap) 3. Define regular expressions to match the tags (--regex) Assuming your unibasic files end in the extension .bas --langdef=unibasic --langmap=unibasic:.bas "--regex-unibasic=/^([A-Z_]+):/\1/s,subroutine,subroutines/" If you place these options into a ctags.cnf file, one per line (without the quotes), the language will be defined for you each time you start ctags. -- Darren Hiebert http://DarrenHiebert.com http://ctags.sourceforge.net |