Я пытаюсь автоматизировать файл .lisp из командной строки, используя vim + slimv для выполнения отступов.Автоиндентификация файла .lisp из командной строки и использование slimv для выполнения отступа
Я попытался сценариев его:
vi -c 'call SlimvConnectSwank()' -c 'normal gg=G' -c 'wq' -c 'q!' temp.lisp
Но сервер Суонк не запрашивается, чтобы сделать отступы, так что это просто сдвигает файл .lisp VIM по умолчанию (если slimv и сервер не работает) ,
Должен ли я установить какую-то команду задержки/wait -c после вызова для подключения к шикарному серверу? Похоже, что весь процесс vi закрывается слишком быстро, и это не дает шансов соединиться. Если случайное соединение происходит в отдельном потоке, я полагаю, что это может быть так.
Мысли/комментарии/предложения приветствуются.
Спасибо!
Tamas получил его. Это было (и я проверил это, оба на самом деле нужны, действительно :)) команда сна и команда swank, которая заставила его работать.
Я добавил это в моем .bashrc и совмещенным его «ай», так что я могу легко отступ .lisp файл из командной строки:
alias ai="vi \
-c 'call SlimvConnectSwank()' \
-c 'sleep 1' \
-c 'call SlimvEval(['0'])' \
-c 'normal gg=G' \
-c 'wq' \
-c 'q!'"
Теперь «ай temp.lisp» Темп авто отступы .lisp для slimv + vim + swank и т. д. стандартов.
Всевозможные способы создания сценария для автоматического отступов репо Lisp-файлов, как только у вас есть команда bash, чтобы сделать это для одного файла.
Эй Тамас; Весь код, необходимый для правильной отстройки формы, уже загружен на сервер; также ясно, сервер уже запущен; просто выполните соединение с вызовом функции. Я проведу немного больше этого вечера –
А, так что это что-то еще. Затем вы можете исследовать порядок и время выполнения команд swank, добавив 'let g: swank_log = 1' в ваш' .vimrc'. Ищите ': indentation-update', возможно, Slimv получает его слишком поздно, после выполнения фактического отступа. В этом случае вставка любой команды, которая связывается с swank, может быть достаточной для принудительного получения ': indentation-update'. Например. 'vi -c" вызов SlimvConnectSwank() "-c" вызов SlimvEval (['0']) "-c" normal gg = G "-c" wq "-c" q! " temp.lisp', который оценивает «0» после подключения, но до отступов. –