Variabel breite Tabellen im CLI

Wünsche und Vorschläge zur Verbesserung der LANCOM Produkte

Moderator: Lancom-Systems Moderatoren

Antworten
beki
Moderator
Moderator
Beiträge: 109
Registriert: 16 Jan 2017, 13:09
Wohnort: DKB/BY/DE

Variabel breite Tabellen im CLI

Beitrag von beki »

Hier noch ein Featurewunsch, den ich leider nicht mehr selbst umsetzen konnte:

Die Tabellen im LCOS im CLI sind mitunter sehr breit und damit unübersichtlich, weil eine Tabellenzeile mehrere Bildschirmzeilen umfasst. Und oft sind ausgerechnet diese Tabellen recht "leer". Zum Beispiel weil ein Kommentarfeld 100+ Zeichen erlaubt, aber der längste Kommentar gerade einmal 10 Zeichen umfasst. Oder weil eine Spalte ein Bitfeld mit vielen Möglichkeiten ist die potentiell alle dargestellt werden müssten, aber überall ist nur je eine ausgewählt.

Das könnte man leicht verbessern, denn es gibt bereits das Tool um die Anzeige von Tabellen mit variabel breiten Spalten zu ermöglichen (TabStreamBuffer -- bis ins Detail durchgetestet!).

Dieses neue Verhalten könnte man schaltbar machen und im Default aus, um möglichst konservativ zu sein.

Man müsste lediglich die Anzahl der auszugebenden Spalten bestimmen (was ohnehin passiert), einen TabStreamBuffer mit entsprechend vielen automatisch-breiten Spalten und einem std::ostringstream erstellen, und die Werte mit Tabulator getrennt in diesen Buffer werfen, statt sie auf die CLI zu legen und mit (unnützen) Leerzeichen aufzufüllen.

Da muss man vermutlich nur ein if-Statement um genau das printf machen, dass den Zellenwert ausspuckt, falls man einen TabStreamBuffer erstellt hat (abhängig vom Schalter). Die Darstellung eines Tabellenkopfes und die Darstellung einer Trennlinie zwischen Kopf und Inhalt beherrscht der TabStreamBuffer auch schon! Wenn ich mich korrekt erinnere kann er sogar jetzt schon die Trennlinie für X Spalten anders darstellen (Indexspalten sollen mit "=" und reguläre Spalten mit "-" unterstrichen werden). Schließlich dumpt man std::ostringstream::str() auf die CLI.

Der TabStreamBuffer wird zur Zeit im show-Befehl des VPN Load Balancers eingesetzt.

Wenn ich Code bekomme implementiere ich es selbst, als Freizeitprojekt... Ich unterschreibe auch ein NDA :D

Ich behaupte dieses Feature wäre low-risk und high-reward und ich fänds super wenn es den Weg ins LCOS fände!
Benutzeravatar
Jirka
Beiträge: 5225
Registriert: 03 Jan 2005, 13:39
Wohnort: Ex-OPAL-Gebiet
Kontaktdaten:

Re: Variabel breite Tabellen im CLI

Beitrag von Jirka »

Hallo Bernhard,
beki hat geschrieben:Hier noch ein Featurewunsch, den ich leider nicht mehr selbst umsetzen konnte [...]
Wenn ich Code bekomme implementiere ich es selbst, als Freizeitprojekt
an Dir ist uns echt was verloren gegangen... (Aber natürlich sehr schön, dass es eben nicht 100 % von Dir sind, die uns verloren gegangen sind. :) )

Ich äußere ja keine Feature-Wünsche mehr, aber die Idee ist mir auch schon öfter gekommen. Tabellen, die ich hier im Forum poste, gehen seit Jahren vorher immer über einen Texteditor, wo die leeren Spalten, der besseren Lesbarkeit halber, rausfliegen.
beki hat geschrieben:Wenn ich mich korrekt erinnere kann er sogar jetzt schon die Trennlinie für X Spalten anders darstellen (Indexspalten sollen mit "=" und reguläre Spalten mit "-" unterstrichen werden).
Definitiv.

Viele Grüße,
Jirka
Dr.Einstein
Beiträge: 2893
Registriert: 12 Jan 2010, 14:10

Re: Variabel breite Tabellen im CLI

Beitrag von Dr.Einstein »

Man bräuchte sowas wie readscript -m für den List Befehl ...
Antworten