我有一些运行外部“npm”命令的 elisp。
(defun npm-mode-npm-run ()
"Run the 'npm run' command on a project script."
(interactive)
(let ((command
(completing-read
"Run command: " (npm-mode--get-project-scripts))))
(message "Running npm script: %s" command)
(switch-to-buffer npm-mode--buffer-name command)
(erase-buffer)
(ansi-term (getenv "SHELL") "npm-mode-npm-run")
(comint-send-string "*npm-mode-npm-run*" (format "npm run-script %s\n" command))))
当它完成这项工作时,当执行完成时,用户被留在必须被杀死的缓冲区中,这需要额外的确认才能杀死进程。
我想要的是,一旦程序退出,我可以按“q”键来完成所有这些操作,将用户留在原来的缓冲区中。
他们是如何为我可以参考的现代 emacs 或任何其他可能有帮助的特定文档最好地做到这一点的一个很好的例子吗?
提前谢谢了!