tags:

views:

40

answers:

0

Hi, As the title points I have problem with ctags when trying to parse user-defined language.

Basically I've followed those instructions.

The quickest and easiest way to do this is by defining a new language using the program options. In order to have Swine support available every time I start ctags, I will place the following lines into the file $HOME/.ctags, which is read in every time ctags starts:

--langdef=swine
--langmap=swine:.swn --regex-swine=/^def[ \t]*([a-zA-Z0-9_]+)/\1/d,definition/ The first line defines the new language, the second maps a file extension to it, and the third defines a regular expression to identify a language definition and generate a tag file entry for it.

I've tried different flags: b,e for regex. My definition of tag is:

--regex-q=/^[ \t]*[^[:space:]]*[:space:]*:[:space:]*{/\l/f,function/b

When I replace \1 with anything else (ascii caracter set ), It works. the output is:

(--regex-q=/^[ \t]*[^[:space:]]*[:space:]*:[:space:]*{/my function name/f,function/b)


!_TAG_FILE_FORMAT   2   /extended format; --format=1 will not append ;" to lines/
!_TAG_FILE_SORTED   1   /0=unsorted, 1=sorted, 2=foldcase/
!_TAG_PROGRAM_AUTHOR    Darren Hiebert  /[email protected]/
!_TAG_PROGRAM_NAME  Exuberant Ctags //
!_TAG_PROGRAM_URL   http://ctags.sourceforge.net    /official site/
!_TAG_PROGRAM_VERSION   5.8 //  
my function name    file.q  /^.ras.getLocation:{[u]$/;" f
my function name    file.q  /^.a.getResource:{[u; pass]$/;" f
my function name    file.q  /^.a.init:{$/;" f
my function name    file.q  /^.a.kill:{[u; force]$/;"   f
my function name    file.q  /^.asdf.status:{[what; u]$/;"   f
my function name    file.q  /^.pc:{$/;" f

Why \1 doesn't work? (I've tried all 1-9)