mirror of
https://github.com/GothenburgBitFactory/taskwarrior.git
synced 2025-07-07 20:06:36 +02:00
Enhancement - config error highlights
- Configuration variables that are unrecognized are now highlighted in color, as well as being listed out.
This commit is contained in:
parent
e923282181
commit
c34aeba5a4
2 changed files with 50 additions and 38 deletions
|
@ -1,5 +1,9 @@
|
|||
|
||||
------ current release ---------------------------
|
||||
2.0.0 ()
|
||||
+ The 'config' command now highlights problems in color.
|
||||
|
||||
------ old releases ------------------------------
|
||||
|
||||
1.9.0 ()
|
||||
+ Added feature #283 that makes it possible to control the verbosity
|
||||
|
@ -103,8 +107,6 @@
|
|||
+ Fixed bug #372 which incorrectly mapped 16-color backgrounds into the
|
||||
256-color space.
|
||||
|
||||
------ old releases ------------------------------
|
||||
|
||||
1.8.5 (12/05/2009) a6c7236ff34e5eee3ef1693b97cb1367e6e3c607
|
||||
+ Added feature to allow the user to quit when asked to confirm multiple
|
||||
changes. Now task asks "Proceed with change? (Yes/no/all/quit)".
|
||||
|
|
|
@ -664,41 +664,6 @@ int handleConfig (std::string &outs)
|
|||
std::vector <std::string> all;
|
||||
context.config.all (all);
|
||||
|
||||
// Create a table for output.
|
||||
Table table;
|
||||
table.setTableWidth (width);
|
||||
table.setDateFormat (context.config.get ("dateformat"));
|
||||
table.addColumn ("Config variable");
|
||||
table.addColumn ("Value");
|
||||
|
||||
if (context.config.getBoolean ("color") || context.config.getBoolean ("_forcecolor"))
|
||||
{
|
||||
table.setColumnUnderline (0);
|
||||
table.setColumnUnderline (1);
|
||||
}
|
||||
else
|
||||
table.setTableDashedUnderline ();
|
||||
|
||||
table.setColumnWidth (0, Table::minimum);
|
||||
table.setColumnWidth (1, Table::flexible);
|
||||
table.setColumnJustification (0, Table::left);
|
||||
table.setColumnJustification (1, Table::left);
|
||||
table.sortOn (0, Table::ascendingCharacter);
|
||||
|
||||
foreach (i, all)
|
||||
{
|
||||
std::string value = context.config.get (*i);
|
||||
int row = table.addRow ();
|
||||
table.addCell (row, 0, *i);
|
||||
table.addCell (row, 1, value);
|
||||
}
|
||||
|
||||
Color bold ("bold");
|
||||
|
||||
out << std::endl
|
||||
<< table.render ()
|
||||
<< std::endl;
|
||||
|
||||
// Complain about configuration variables that are not recognized.
|
||||
// These are the regular configuration variables.
|
||||
// Note that there is a leading and trailing space, to make searching easier.
|
||||
|
@ -753,14 +718,59 @@ int handleConfig (std::string &outs)
|
|||
}
|
||||
}
|
||||
|
||||
// Create a table for output.
|
||||
Table table;
|
||||
table.setTableWidth (width);
|
||||
table.setDateFormat (context.config.get ("dateformat"));
|
||||
table.addColumn ("Config variable");
|
||||
table.addColumn ("Value");
|
||||
|
||||
if (context.config.getBoolean ("color") || context.config.getBoolean ("_forcecolor"))
|
||||
{
|
||||
table.setColumnUnderline (0);
|
||||
table.setColumnUnderline (1);
|
||||
}
|
||||
else
|
||||
table.setTableDashedUnderline ();
|
||||
|
||||
table.setColumnWidth (0, Table::minimum);
|
||||
table.setColumnWidth (1, Table::flexible);
|
||||
table.setColumnJustification (0, Table::left);
|
||||
table.setColumnJustification (1, Table::left);
|
||||
table.sortOn (0, Table::ascendingCharacter);
|
||||
|
||||
Color error ("bold white on red");
|
||||
foreach (i, all)
|
||||
{
|
||||
std::string value = context.config.get (*i);
|
||||
int row = table.addRow ();
|
||||
table.addCell (row, 0, *i);
|
||||
table.addCell (row, 1, value);
|
||||
|
||||
if (context.config.getBoolean ("color") || context.config.getBoolean ("_forcecolor"))
|
||||
if (std::find (unrecognized.begin (), unrecognized.end (), *i) != unrecognized.end ())
|
||||
table.setRowColor (row, error);
|
||||
}
|
||||
|
||||
Color bold ("bold");
|
||||
|
||||
out << std::endl
|
||||
<< table.render ()
|
||||
<< std::endl;
|
||||
|
||||
// Display the unrecognized variables.
|
||||
if (unrecognized.size ())
|
||||
{
|
||||
out << "Your .taskrc file contains these unrecognized variables:"
|
||||
<< std::endl;
|
||||
<< std::endl;
|
||||
|
||||
foreach (i, unrecognized)
|
||||
out << " " << *i << std::endl;
|
||||
|
||||
if (context.config.getBoolean ("color") || context.config.getBoolean ("_forcecolor"))
|
||||
out << std::endl
|
||||
<< " These are highlighted in " << error.colorize ("color") << " above.";
|
||||
|
||||
out << std::endl;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue