Commit be0986e9 authored by Chris Hansen's avatar Chris Hansen

Fix highlighting issues

- Fixed highlighting defined type in variable declarations
- Corrected parser state following docBlock closure
parent 1e6323e5
...@@ -150,7 +150,9 @@ static bool g_includeCodeFragment; ...@@ -150,7 +150,9 @@ static bool g_includeCodeFragment;
static char stringStartSymbol; // single or double quote static char stringStartSymbol; // single or double quote
// count in variable declaration to filter out // count in variable declaration to filter out
// declared from referenced names // declared from referenced names
static int bracketCount = 0; static int bracketCount = 0;
static bool g_endComment;
// simplified way to know if this is fixed form // simplified way to know if this is fixed form
// duplicate in fortranscanner.l // duplicate in fortranscanner.l
...@@ -255,6 +257,7 @@ static void startCodeLine() ...@@ -255,6 +257,7 @@ static void startCodeLine()
g_currentDefinition = d; g_currentDefinition = d;
g_currentMemberDef = g_sourceFileDef->getSourceMember(g_yyLineNr); g_currentMemberDef = g_sourceFileDef->getSourceMember(g_yyLineNr);
g_insideBody = FALSE; g_insideBody = FALSE;
g_endComment = FALSE;
g_parmType.resize(0); g_parmType.resize(0);
g_parmName.resize(0); g_parmName.resize(0);
QCString lineAnchor; QCString lineAnchor;
...@@ -929,7 +932,7 @@ PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|I ...@@ -929,7 +932,7 @@ PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|I
endFontClass(); endFontClass();
} }
<Declaration>{ID} { // local var <Declaration>{ID} { // local var
if (g_currentMemberDef && !g_currentMemberDef->isFunction()) if (g_currentMemberDef && !g_currentMemberDef->isFunction() && bracketCount==0)
{ {
g_code->codify(yytext); g_code->codify(yytext);
addLocalVar(yytext); addLocalVar(yytext);
...@@ -961,7 +964,14 @@ PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|I ...@@ -961,7 +964,14 @@ PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|I
YY_FTN_RESET YY_FTN_RESET
} }
<Declaration>"\n" { // end declaration line <Declaration>"\n" { // end declaration line
codifyLines(yytext); if (g_endComment)
{
g_endComment=FALSE;
}
else
{
codifyLines(yytext);
}
bracketCount = 0; bracketCount = 0;
yy_pop_state(); yy_pop_state();
YY_FTN_RESET YY_FTN_RESET
...@@ -1018,16 +1028,17 @@ PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|I ...@@ -1018,16 +1028,17 @@ PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|I
docBlock+=yytext; docBlock+=yytext;
} }
<DocBlock>"\n" { // comment block ends at the end of this line <DocBlock>"\n" { // comment block ends at the end of this line
docBlock+=yytext;
// remove special comment (default config) // remove special comment (default config)
if (Config_getBool("STRIP_CODE_COMMENTS")) if (Config_getBool("STRIP_CODE_COMMENTS"))
{ {
g_yyLineNr+=((QCString)docBlock).contains('\n'); g_yyLineNr+=((QCString)docBlock).contains('\n');
g_yyLineNr+=1;
endCodeLine(); endCodeLine();
if (g_yyLineNr<g_inputLines) if (g_yyLineNr<g_inputLines)
{ {
startCodeLine(); startCodeLine();
} }
g_endComment=TRUE;
} }
else // do not remove comment else // do not remove comment
{ {
...@@ -1035,6 +1046,7 @@ PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|I ...@@ -1035,6 +1046,7 @@ PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|I
codifyLines(docBlock); codifyLines(docBlock);
endFontClass(); endFontClass();
} }
unput(*yytext);
yy_pop_state(); yy_pop_state();
YY_FTN_RESET YY_FTN_RESET
} }
...@@ -1106,7 +1118,14 @@ PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|I ...@@ -1106,7 +1118,14 @@ PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|I
/*-----------------------------------------------------------------------------*/ /*-----------------------------------------------------------------------------*/
<*>\n { <*>\n {
codifyLines(yytext); if (g_endComment)
{
g_endComment=FALSE;
}
else
{
codifyLines(yytext);
}
YY_FTN_RESET YY_FTN_RESET
} }
<*>. { <*>. {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment