[gnome-builder] plugins/shellcmd: provide error messages for envvars
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] plugins/shellcmd: provide error messages for envvars
- Date: Wed, 12 Oct 2022 00:13:44 +0000 (UTC)
commit d35f606b3183b8d5bc6da5da6adc3cd9b3422074
Author: Christian Hergert <chergert redhat com>
Date: Tue Oct 11 18:37:30 2022 -0500
plugins/shellcmd: provide error messages for envvars
Fixes #1854
src/plugins/shellcmd/gbp-shellcmd-command-dialog.c | 16 +++++++++++++++-
src/plugins/shellcmd/gbp-shellcmd-command-dialog.ui | 1 +
2 files changed, 16 insertions(+), 1 deletion(-)
---
diff --git a/src/plugins/shellcmd/gbp-shellcmd-command-dialog.c
b/src/plugins/shellcmd/gbp-shellcmd-command-dialog.c
index 021f5d12c..5ac273b43 100644
--- a/src/plugins/shellcmd/gbp-shellcmd-command-dialog.c
+++ b/src/plugins/shellcmd/gbp-shellcmd-command-dialog.c
@@ -146,6 +146,7 @@ static void
on_env_entry_changed_cb (GbpShellcmdCommandDialog *self,
IdeEntryPopover *popover)
{
+ const char *errstr = NULL;
gboolean valid = FALSE;
const char *text;
const char *eq;
@@ -156,14 +157,26 @@ on_env_entry_changed_cb (GbpShellcmdCommandDialog *self,
text = ide_entry_popover_get_text (popover);
eq = strchr (text, '=');
+ if (!ide_str_empty0 (text) && eq == NULL)
+ errstr = _("Use KEY=VALUE to set an environment variable");
+
if (eq != NULL && eq != text)
{
+ if (g_unichar_isdigit (g_utf8_get_char (text)))
+ {
+ errstr = _("Keys may not start with a number");
+ goto failure;
+
+ }
for (const char *iter = text; iter < eq; iter = g_utf8_next_char (iter))
{
gunichar ch = g_utf8_get_char (iter);
if (!g_unichar_isalnum (ch) && ch != '_')
- goto failure;
+ {
+ errstr = _("Keys may only contain alpha-numerics or underline.");
+ goto failure;
+ }
}
if (g_ascii_isalpha (*text))
@@ -172,6 +185,7 @@ on_env_entry_changed_cb (GbpShellcmdCommandDialog *self,
failure:
ide_entry_popover_set_ready (popover, valid);
+ ide_entry_popover_set_message (popover, errstr);
}
static void
diff --git a/src/plugins/shellcmd/gbp-shellcmd-command-dialog.ui
b/src/plugins/shellcmd/gbp-shellcmd-command-dialog.ui
index ab2071864..d7a9f4451 100644
--- a/src/plugins/shellcmd/gbp-shellcmd-command-dialog.ui
+++ b/src/plugins/shellcmd/gbp-shellcmd-command-dialog.ui
@@ -209,6 +209,7 @@
<object class="IdeEntryPopover">
<property name="title" translatable="yes">Add Variable</property>
<property name="button-text" translatable="yes">_Add</property>
+ <property name="width-request">400</property>
<signal name="changed" handler="on_env_entry_changed_cb" swapped="true"
object="GbpShellcmdCommandDialog"/>
<signal name="activate" handler="on_env_entry_activate_cb" swapped="true"
object="GbpShellcmdCommandDialog"/>
</object>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]