Remove Ferite parser from c.c

This language seems officially dead (last release from 2004, its
"master site" link to www.ferite.org linking to a porn page, other
mirrors dead and nearly no downloads from the Sourceforge site and those
few are just probably from some bots). RIP.

Since we should try reduce differences against uctags and this language
isn't worth submitting to uctags, I'd suggest to remove the support
of its parser from c.c.

The filetype can still stay as it doesn't mean any maintenance cost for
us.

For reference, Ferite parser was introduced in:

010d6581e5d567c5479f2ca643922a0ef6ccadf2

We need to keep original identifiers for parsers we want to keep so let's
keep some dummy value for the removed parser (which can later be
filled in by a newly added parser).
This commit is contained in:
Jiří Techet 2021-12-30 18:17:34 +01:00
parent 266c96e034
commit c9cb5e4fe2
5 changed files with 10 additions and 37 deletions

View File

@ -268,7 +268,6 @@ static langType Lang_csharp;
static langType Lang_java;
static langType Lang_d;
static langType Lang_glsl;
static langType Lang_ferite;
static langType Lang_vala;
/* Used to index into the CKinds table. */
@ -1147,7 +1146,7 @@ static const char* accessField (const statementInfo *const st)
{
const char* result = NULL;
if ((isInputLanguage (Lang_cpp) || isInputLanguage (Lang_d) || isInputLanguage (Lang_ferite)) &&
if ((isInputLanguage (Lang_cpp) || isInputLanguage (Lang_d)) &&
st->scope == SCOPE_FRIEND)
result = "friend";
else if (st->member.access != ACCESS_UNDEFINED)
@ -1198,7 +1197,7 @@ static void addOtherFields (tagEntryInfo* const tag, const tagType type,
}
if (st->implementation != IMP_DEFAULT &&
(isInputLanguage (Lang_cpp) || isInputLanguage (Lang_csharp) || isInputLanguage (Lang_vala) ||
isInputLanguage (Lang_java) || isInputLanguage (Lang_d) || isInputLanguage (Lang_ferite)))
isInputLanguage (Lang_java) || isInputLanguage (Lang_d)))
{
tag->extensionFields.implementation =
implementationString (st->implementation);
@ -1322,7 +1321,7 @@ static void addContextSeparator (vString *const scope)
{
if (isInputLanguage (Lang_c) || isInputLanguage (Lang_cpp))
vStringCatS (scope, "::");
else if (isInputLanguage (Lang_java) || isInputLanguage (Lang_d) || isInputLanguage (Lang_ferite) ||
else if (isInputLanguage (Lang_java) || isInputLanguage (Lang_d) ||
isInputLanguage (Lang_csharp) || isInputLanguage (Lang_vala))
vStringCatS (scope, ".");
}
@ -1428,13 +1427,6 @@ static void makeTag (const tokenInfo *const token,
vString *scope;
tagEntryInfo e;
/* take only functions which are introduced by "function ..." */
if (type == TAG_FUNCTION && isInputLanguage (Lang_ferite) &&
strncmp("function", st->firstToken->name->buffer, 8) != 0)
{
return;
}
initTagEntry (&e, vStringValue (token->name), kindIndexForType (type));
e.lineNumber = token->lineNumber;
@ -1927,7 +1919,7 @@ static void setAccess (statementInfo *const st, const accessType laccess)
{
if (isMember (st))
{
if (isInputLanguage (Lang_cpp) || isInputLanguage (Lang_d) || isInputLanguage (Lang_ferite))
if (isInputLanguage (Lang_cpp) || isInputLanguage (Lang_d))
{
int c = skipToNonWhite ();
@ -2625,7 +2617,7 @@ static void addContext (statementInfo *const st, const tokenInfo* const token)
if (isInputLanguage (Lang_c) || isInputLanguage (Lang_cpp))
vStringCatS (st->context->name, "::");
else if (isInputLanguage (Lang_java) ||
isInputLanguage (Lang_d) || isInputLanguage (Lang_ferite) ||
isInputLanguage (Lang_d) ||
isInputLanguage (Lang_csharp) || isInputLanguage (Lang_vala))
vStringCatS (st->context->name, ".");
}
@ -3211,12 +3203,6 @@ static void initializeGLSLParser (const langType language)
buildKeywordHash (language, 0); /* C keywords */
}
static void initializeFeriteParser (const langType language)
{
Lang_ferite = language;
buildKeywordHash (language, 1); /* C++ keywords */
}
static void initializeCsharpParser (const langType language)
{
Lang_csharp = language;
@ -3301,18 +3287,6 @@ extern parserDefinition* GLSLParser (void)
return def;
}
extern parserDefinition* FeriteParser (void)
{
static const char *const extensions [] = { "fe", NULL };
parserDefinition* def = parserNew ("Ferite");
def->kindTable = CKinds;
def->kindCount = ARRAY_SIZE (CKinds);
def->extensions = extensions;
def->parser2 = findCTags;
def->initialize = initializeFeriteParser;
return def;
}
extern parserDefinition* CsharpParser (void)
{
static const char *const extensions [] = { "cs", NULL };

View File

@ -146,7 +146,7 @@ static void init_builtin_filetypes(void)
FT_INIT( RUBY, RUBY, "Ruby", NULL, SOURCE_FILE, SCRIPT );
FT_INIT( TCL, TCL, "Tcl", NULL, SOURCE_FILE, SCRIPT );
FT_INIT( LUA, LUA, "Lua", NULL, SOURCE_FILE, SCRIPT );
FT_INIT( FERITE, FERITE, "Ferite", NULL, SOURCE_FILE, SCRIPT );
FT_INIT( FERITE, NONE, "Ferite", NULL, SOURCE_FILE, SCRIPT );
FT_INIT( HASKELL, HASKELL, "Haskell", NULL, SOURCE_FILE, COMPILED );
FT_INIT( MARKDOWN, MARKDOWN, "Markdown", NULL, SOURCE_FILE, MARKUP );
FT_INIT( TXT2TAGS, TXT2TAGS, "Txt2tags", NULL, SOURCE_FILE, MARKUP );

View File

@ -402,7 +402,7 @@ static TMParserMapEntry map_F77[] = {
#define map_FORTRAN map_F77
#define map_FERITE map_C_old_parser
#define map_UNUSED1 map_HASKELL
/* different parser than in universal-ctags */
static TMParserMapEntry map_MATLAB[] = {
@ -640,7 +640,7 @@ static TMParserMap parser_map[] = {
MAP_ENTRY(SH),
MAP_ENTRY(D),
MAP_ENTRY(FORTRAN),
MAP_ENTRY(FERITE),
MAP_ENTRY(UNUSED1),
MAP_ENTRY(DIFF),
MAP_ENTRY(VHDL),
MAP_ENTRY(LUA),
@ -1057,7 +1057,6 @@ gboolean tm_parser_has_full_context(TMParserType lang)
case TM_PARSER_CSHARP:
case TM_PARSER_COBOL:
case TM_PARSER_D:
case TM_PARSER_FERITE:
case TM_PARSER_GDSCRIPT:
case TM_PARSER_GLSL:
case TM_PARSER_GO:

View File

@ -78,7 +78,7 @@ enum
TM_PARSER_SH,
TM_PARSER_D,
TM_PARSER_FORTRAN,
TM_PARSER_FERITE,
TM_PARSER_UNUSED1,
TM_PARSER_DIFF,
TM_PARSER_VHDL,
TM_PARSER_LUA,

View File

@ -34,7 +34,7 @@
ShParser, \
DParser, \
FortranParser, \
FeriteParser, \
LiterateHaskellParser, /* dummy for removed Ferite parser */ \
DiffParser, \
VhdlParser, \
LuaParser, \