我有一些类似lisp/scheme的代码,我想缩进.我搜索了像GNU这样的工具indent,但我找不到任何命令行实用程序/脚本.有很多可用于C/C++/Java,但不知何故我无法找到任何lisp/scheme,任何人都可以告诉我任何这样的缩进工具(如果可用).
谢谢.
您可以emacs在批处理模式下使用。例如,您可以创建一个文件indent.el
(defun my/indent-file (fPath)
(let ((buffer (find-file fPath)))
(message (concat "indenting file " fPath))
(indent-region (point-min) (point-max))
(save-buffer)
(kill-buffer buffer)))
(mapcar 'my/indent-file argv)
Run Code Online (Sandbox Code Playgroud)
然后像这样调用 emacs 来缩进一堆文件(请注意,它适用于 emacs 可以识别并知道如何缩进的任何语言):
(defun my/indent-file (fPath)
(let ((buffer (find-file fPath)))
(message (concat "indenting file " fPath))
(indent-region (point-min) (point-max))
(save-buffer)
(kill-buffer buffer)))
(mapcar 'my/indent-file argv)
Run Code Online (Sandbox Code Playgroud)
例如,请参阅此页面以获取有关用于emacs批处理的惯用方法的更多信息。
编辑
这是一个单行代码,仅适用于一个文件,但不使用argv变量(注意:参数顺序很重要):
emacs --batch MY_FILE --eval '(indent-region (point-min) (point-max))' -f 'save-buffer'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1012 次 |
| 最近记录: |