Added /theme colours command

This commit is contained in:
James Booth
2014-11-17 21:10:08 +00:00
parent 74d9937573
commit 1d5ac1b474
6 changed files with 146 additions and 53 deletions

View File

@@ -941,14 +941,14 @@ static struct cmd_t command_defs[] =
{ "/theme",
cmd_theme, parse_args, 1, 2, &cons_theme_setting,
{ "/theme command [theme-name]", "Change colour theme.",
{ "/theme command [theme-name]",
{ "/theme list|set [theme-name]", "Change colour theme.",
{ "/theme list|set [theme-name]",
"---------------------------",
"Change the colour settings used.",
"",
"command : One of the following,",
"list : List all available themes.",
"set [theme-name] : Load the named theme.\"default\" will reset to the default colours.",
"list : List all available themes.",
"set theme-name : Load the named theme.\"default\" will reset to the default colours.",
"colours : Show the colour values as rendered by the terminal.",
"",
"Example : /theme list",
"Example : /theme set mycooltheme",
@@ -1201,6 +1201,7 @@ cmd_init(void)
theme_ac = autocomplete_new();
autocomplete_add(theme_ac, "list");
autocomplete_add(theme_ac, "set");
autocomplete_add(theme_ac, "colours");
disco_ac = autocomplete_new();
autocomplete_add(disco_ac, "info");

View File

@@ -703,13 +703,13 @@ gboolean
cmd_theme(gchar **args, struct cmd_help_t help)
{
// list themes
if (strcmp(args[0], "list") == 0) {
if (g_strcmp0(args[0], "list") == 0) {
GSList *themes = theme_list();
cons_show_themes(themes);
g_slist_free_full(themes, g_free);
// load a theme
} else if (strcmp(args[0], "set") == 0) {
} else if (g_strcmp0(args[0], "set") == 0) {
if (args[1] == NULL) {
cons_show("Usage: %s", help.usage);
} else if (theme_load(args[1])) {
@@ -720,6 +720,10 @@ cmd_theme(gchar **args, struct cmd_help_t help)
} else {
cons_show("Couldn't find theme: %s", args[1]);
}
// show colours
} else if (g_strcmp0(args[0], "colours") == 0) {
cons_theme_colours();
} else {
cons_show("Usage: %s", help.usage);
}