Richtiger TERM-Typ für eshell

8

Gibt es eine Möglichkeit, eshell dazu zu bringen, sich besser zu verhalten? Standardmäßig wird printenv TERMzurückgegeben dumb. Zum Beispiel brewbeschwert sich häufig über den Terminaltyp und bewirkt, dass eshell "wackelt", während der Fortschrittsbalken angezeigt wird.

Das passiert nicht in term. Ich vermute das liegt daran TERM=eterm-color.

Ich weiß , ich könnte nur noch hinzufügen brewzu eshell-visual-commands, aber gibt es Möglichkeiten, eterm-colorArbeit in Eshell.

Hier ist das Video, wie man brewsich komisch verhält. Leider konnte ich den genannten Fehler nicht reproduzieren: https://www.youtube.com/watch?v=XFhM_ToLuaQ

Maciej Goszczycki
quelle
6
Was genau wollen Sie erreichen? eshelllegt fest TERM, dass es dumbeinen Grund gibt - es kann nicht viel schickere Befehlszeileninteraktionen verarbeiten (à la topund ssh). brewfunktioniert gut für mich durch eshellund gibt sogar Farben und Emoji aus.
Shosti
@shosti Aktualisierte die Frage mit einem Videobeispiel
Maciej Goszczycki
1
Die visuellen Störungen sind auf Probleme mit dem Rendern von eshell zurückzuführen, die nicht mit der TERMVariablen zusammenhängen (wenn überhaupt, würde die Einstellung TERMauf etwas anderes diese Art von Problemen verschlimmern, da Programme mehr Steuersequenzen ausgeben, die eshell nicht verarbeiten kann). Leider denke ich, dass die Antwort "damit leben oder versuchen, eshell zu reparieren" ist.
Shosti
1
Aus dem Video geht hervor, dass Emacs (ziemlich dummes) Auto-Scroll-Feature den Puffer zum Tanzen bringt. Ich denke, Sie sollten versuchen, auto-window-scrollauf nilund scroll-converselyzu große Zahl (> 100)
einzustellen
2
@kindahero das wärescroll-conservatively
Sigma

Antworten:

3

Wie @shosti betonte, unterstützt es eshelleinfach keine ausgefallenen Escape-Sequenzen.

Meine Probleme mit brewkönnen jedoch durch Zurücksetzen fringe-modeund Deaktivieren truncate-linesim eshellPuffer behoben werden .

Dadurch wird sichergestellt, dass Zeichen nicht in die nächste Zeile umgebrochen werden und lange Zeilen (z. B. der Fortschrittsbalken) nicht von der truncationGlyphe verdeckt werden .

Ich habe @ kindahero Vorschläge über die Schriftrolle versucht, aber ohne Erfolg.

Maciej Goszczycki
quelle