Générateur ctags pour CORBA IDL?
Question
Je travaille dans un environnement multilingue et vim + ctags pour naviguer dans le code. Cependant, nous utilisons également ctags CORBA et exubérantes ne pas analyser les fichiers IDL.
Quelqu'un sait-il d'un balises compatibles ctags générateur pour IDL?
La solution
Si vous utilisez un analyseur simple expression rationnelle, alors il est un exercice assez trivial d'étendre Exubérant Ctags pour soutenir une autre langue.
Par exemple, ci-dessous est un exemple d'un analyseur de regexp pris de la page d'analyseur de Exubérant Ctags :
/***************************************************************************
* make.c
* Regex-based parser for makefile macros
**************************************************************************/
/* INCLUDE FILES */
#include "general.h" /* always include first */
#include "parse.h" /* always include */
/* FUNCTION DEFINITIONS */
static void installMakefileRegex (const langType language)
{
addTagRegex (language, "(^|[ \t])([A-Z0-9_]+)[ \t]*:?=", "\\2", "m,macro", "i");
}
/* Create parser definition stucture */
extern parserDefinition* MakefileParser (void)
{
static const char *const patterns [] = { "[Mm]akefile", NULL };
static const char *const extensions [] = { "mak", NULL };
parserDefinition* const def = parserNew ("Makefile");
def->patterns = patterns;
def->extensions = extensions;
def->initialize = installMakefileRegex;
def->regex = TRUE;
return def;
}
Autres conseils
Il est assez facile ajouter une autre langue à ctags en utilisant quelques expressions régulières et le fichier de configuration ctags.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow