Browse Source

Oneliners option

Serj Kalichev 9 months ago
parent
commit
160f2cb6b5
4 changed files with 18 additions and 0 deletions
  1. 8 0
      docs/klish-plugin-sysrepo.ru.md
  2. 1 0
      src/pline.h
  3. 8 0
      src/plugin.c
  4. 1 0
      xml/sysrepo.xml

+ 8 - 0
docs/klish-plugin-sysrepo.ru.md

@@ -675,6 +675,14 @@ pass <hidden>
 получает возможность управлять NACM.
 
 
+### Настройка `Oneliners`
+
+Если настройка `Oneliners = y` (используется по умолчанию), и у элемента менее
+двух потомков, то этот элемент и его единственные потомок будут показаны в одну
+строку. Открывающие и закрывающие скобки показываться не будут. Элементы, вообще
+не имеющие потомков, будут показаны также без открывающих и закрывающих скобок.
+
+
 ### Пример настройки модуля
 
 ```

+ 1 - 0
src/pline.h

@@ -124,6 +124,7 @@ typedef struct {
 	bool_t show_default_keys;
 	bool_t hide_passwords;
 	bool_t enable_nacm;
+	bool_t oneliners;
 } pline_opts_t;
 
 

+ 8 - 0
src/plugin.c

@@ -98,6 +98,7 @@ int kplugin_sysrepo_init(kcontext_t *context)
 	udata->opts.show_default_keys = BOOL_FALSE;
 	udata->opts.hide_passwords = BOOL_TRUE;
 	udata->opts.enable_nacm = BOOL_FALSE;
+	udata->opts.oneliners = BOOL_TRUE;
 	parse_plugin_conf(kplugin_conf(plugin), &udata->opts);
 
 	kplugin_set_udata(plugin, udata);
@@ -251,6 +252,13 @@ static int parse_plugin_conf(const char *conf, pline_opts_t *opts)
 			opts->enable_nacm = BOOL_FALSE;
 	}
 
+	if ((val = faux_ini_find(ini, "Oneliners"))) {
+		if (faux_str_cmp(val, "y") == 0)
+			opts->oneliners = BOOL_TRUE;
+		else if (faux_str_cmp(val, "n") == 0)
+			opts->oneliners = BOOL_FALSE;
+	}
+
 	faux_ini_free(ini);
 
 	return 0;

+ 1 - 0
xml/sysrepo.xml

@@ -15,6 +15,7 @@
 	ShowDefaultKeys = n
 	HidePasswords = y
 	EnableNACM = n
+	Oneliners = y
 </PLUGIN>