Генератор ctags для CORBA IDL? - PullRequest
3 голосов
/ 27 января 2010

Я работаю в многоязычной среде и использую Vim + ctags для навигации по коду. Однако мы также используем CORBA, и extarant ctags не анализирует файлы IDL.

Кто-нибудь знает о ctags-совместимом генераторе тегов для IDL?

Ответы [ 2 ]

5 голосов
/ 08 февраля 2010

Если вы используете простой синтаксический анализатор регулярных выражений, то это довольно тривиальное упражнение по расширению Exuberant Ctags для поддержки другого языка.

Например, ниже приведен пример синтаксического анализатора регулярных выражений, взятого со страницы Exuberant 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;
}
2 голосов
/ 29 февраля 2012

Довольно просто добавить другой язык в ctags, используя несколько регулярных выражений и файл конфигурации ctags.

...