X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FCmdDef.cpp;h=8a480bd4df01678756cc771e3a2bc7bda8b858ab;hb=9234516731fac37651f5dacfc0942dc40775b96e;hp=e1a0e0066a440ca24ded23873e0d8d18fdebb27d;hpb=9439b6e6e0cf950aafe8ce8d76d380c543110db7;p=lyx.git diff --git a/src/CmdDef.cpp b/src/CmdDef.cpp index e1a0e0066a..8a480bd4df 100644 --- a/src/CmdDef.cpp +++ b/src/CmdDef.cpp @@ -20,7 +20,6 @@ #include "support/filetools.h" #include "support/lstrings.h" -#include #include using namespace std; @@ -28,42 +27,32 @@ using namespace lyx::support; namespace lyx { -namespace { - -enum CmdDefTags { - BN_DEFFILE, - BN_DEFINE -}; - -keyword_item cmdDefTags[] = { - { "\\def_file", BN_DEFFILE }, - { "\\define", BN_DEFINE } -}; - -} - - bool CmdDef::read(string const & def_file) { - const int cmdDefCount = sizeof(cmdDefTags) / sizeof(keyword_item); + enum { + BN_DEFFILE, + BN_DEFINE + }; - Lexer lexrc(cmdDefTags, cmdDefCount); - if (lyxerr.debugging(Debug::PARSER)) - lexrc.printTable(lyxerr); + LexerKeyword cmdDefTags[] = { + { "\\def_file", BN_DEFFILE }, + { "\\define", BN_DEFINE } + }; + Lexer lex(cmdDefTags); FileName const tmp(i18nLibFileSearch("commands", def_file, "def")); - lexrc.setFile(tmp); - if (!lexrc.isOK()) { - lyxerr << "CmdDef::read: cannot open def file:" - << tmp << endl; + lex.setContext("CmdDef::read"); + lex.setFile(tmp); + if (!lex.isOK()) { + LYXERR0( "CmdDef::read: cannot open def file:" << tmp); return false; } bool error = false; - while (lexrc.isOK()) { - switch (lexrc.lex()) { + while (lex.isOK()) { + switch (lex.lex()) { case Lexer::LEX_UNDEF: - lexrc.printError("Unknown tag `$$Token'"); + lex.printError("Unknown tag"); error = true; continue; case Lexer::LEX_FEOF: @@ -72,45 +61,48 @@ bool CmdDef::read(string const & def_file) { string name, def; - if (lexrc.next()) { - name = lexrc.getString(); + if (lex.next()) { + name = lex.getString(); } else { - lexrc.printError("BN_DEFINE: Missing command name"); + lex.printError("BN_DEFINE: Missing command name"); error = true; break; } - if (lexrc.next(true)) { - def = lexrc.getString(); + if (lex.next(true)) { + def = lex.getString(); } else { - lexrc.printError("BN_DEFINE: missing command definition"); + lex.printError("BN_DEFINE: missing command definition"); error = true; break; } newCmdDefResult e = newCmdDef(name, def); switch (e) { - case CmdDefNameEmpty: - lexrc.printError("BN_DEFINE: Command name is empty"); - error = true; - break; - case CmdDefExists: - lexrc.printError("BN_DEFINE: Command `" + name + "' already defined"); - error = true; - break; - case CmdDefInvalid: - lexrc.printError("BN_DEFINE: Command definition for `" + name + "' is not valid"); - error = true; + case CmdDefNameEmpty: + lex.printError("BN_DEFINE: Command name is empty"); + error = true; + break; + case CmdDefExists: + lex.printError("BN_DEFINE: Command `" + name + "' already defined"); + error = true; + break; + case CmdDefInvalid: + lex.printError("BN_DEFINE: Command definition for `" + name + "' is not valid"); + error = true; + break; + case CmdDefOk: + break; } break; } case BN_DEFFILE: - if (lexrc.next()) { - string const tmp(lexrc.getString()); - error |= !read(tmp); + if (lex.next()) { + string const stmp = lex.getString(); + error |= !read(stmp); } else { - lexrc.printError("BN_DEFFILE: Missing file name"); + lex.printError("BN_DEFFILE: Missing file name"); error = true; break; @@ -120,8 +112,7 @@ bool CmdDef::read(string const & def_file) } if (error) - lyxerr << "CmdDef::read: error while reading def file:" - << tmp << endl; + LYXERR0("CmdDef::read: error while reading def file:" << tmp); return !error; } @@ -156,24 +147,24 @@ bool CmdDef::lock(string const & name, FuncRequest & func) void CmdDef::release(string const & name) { string const name2 = trim(name); - lockSet.erase(name2); } -CmdDef::newCmdDefResult CmdDef::newCmdDef(string const & name, - string const & def) + +CmdDef::newCmdDefResult CmdDef::newCmdDef(string const & name, + string const & def) { string const name2 = trim(name); - if (name2.empty()) + if (name2.empty()) return CmdDefNameEmpty; if (cmdDefMap.find(name) != cmdDefMap.end()) return CmdDefExists; FuncRequest func = lyxaction.lookupFunc(def); - if (func.action == LFUN_NOACTION || - func.action == LFUN_UNKNOWN_ACTION) { + if (func.action() == LFUN_NOACTION + || func.action() == LFUN_UNKNOWN_ACTION) { return CmdDefInvalid; }