Обрабатывать EOF в RLWrap - PullRequest
0 голосов
/ 03 мая 2019

Я использую RLWrap, чтобы «приручить» действительно хороший REPL, Dyalog APL, который, к сожалению, берет свое начало в Windows, и поэтому не соответствует соглашениям UNIX.Более того, будучи продуктом с закрытым исходным кодом, его нельзя изменить, чтобы сделать это.

Мне удалось достичь большинства своих целей, но Ctrl-D все еще заставляет его устранить ошибку и продолжить работу, хотя я хотел бы, чтобы он вызывал изящный выход, как и любой другой REPL.

Я рассмотрел параметры rlwrap, а также его фильтр API, для способа перехвата EOF, поступающего от пользователя, и его переводав пользовательскую команду выхода, которая в моем случае будет )off, но я не могу найти способ сделать это.

Мой текущий псевдоним:

alias dyalog='rlwrap -a -H ~/.dyalog_history /opt/mdyalog/17.0/64/unicode/dyalog -b -s'

Соответствующие параметры:

  • -s велит Dyalog запускаться в простом режиме REPL без контроля над экраном;
  • -a велит RLWrap всегда оставаться в режиме readline, игнорируя Dyalogпытается прочитать вводимый символ за символом.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...