From b6d1fb91ce749c996230df2e5ae7479759c11b53 Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Thu, 4 Feb 2016 03:55:58 -0500 Subject: finally figured out a way to use ctags with mixed asm/C project --- fixtags.pl | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 fixtags.pl (limited to 'fixtags.pl') diff --git a/fixtags.pl b/fixtags.pl new file mode 100644 index 0000000..ce7567f --- /dev/null +++ b/fixtags.pl @@ -0,0 +1,25 @@ +#!/usr/bin/perl -w + +# read a ctags file. for every tag found, create its +# corresponding tag with or without leading _. +# vim wants the tagfile sorted, so do that, too. + +$file = $ARGV[0]; +while(<>) { + push @tags, $_; + next if /^!/; # skip ctags magic tags + + # skip C #defines + my @fields = split '\t'; + next if $fields[1] =~ /\.c$/ && $fields[3] =~ /^d$/; + + if(/^_/) { + s/^_//; + } else { + s/^/_/; + } + push @tags, $_; +} + +open OUT, ">$file" or die $!; +print OUT for sort @tags; -- cgit v1.2.3