Scheme是否有等效的GNU indent或clang格式?也就是说,一个命令行工具(而不是交互式Emacs命令)将采用一组Scheme源文件并使用标准缩进等格式化它们?方案格式化工具
Q
方案格式化工具
4
A
回答
3
好的,现在有了。 (专为计划,应该是很容易适应其他的Lisp方言。)
2
我不知道现成的命令行工具重新缩进Scheme代码。 但是很多Scheme实现都带有一个漂亮的打印机。
例如:http://docs.racket-lang.org/reference/pretty-print.html
制作工具,可读取程序之一,在一个时间,然后用漂亮的印刷是合理的容易。读者对待'foo
和(quote foo)
相同,所以输出可能不是100%相同(即使是模空白)。
UPDATE
Dorai Sitaram在他的主页上这样压头:
1
呼叫一个能够编辑程序。我预计Emacs可以做到这一点,也不过因为我知道Vim可以,这里是制作成一个简单的脚本示例:
% <scmindent.zsh # or generic-indent.zsh
#! /usr/bin/env zsh
scm=${1?Must provide code file}
# Maybe not the most elegant invocation
vim -c ':norm gg=G' -c ':wq' $scm
% scmindent.zsh my-ugly-file.scm
它运行的Vim从顶部(gg
),以底部的=
('equalprg'
)(然后写入并退出。所以它就像sed就地(-i
)模式。你可以调整它,而不是输出my-pretty-file.scm
。还可以调整它以使其跨多个文件运行或者使脚本循环。
它实际上是完全通用的 - 对于任何需要缩进的文件来说,都需要Vim来处理。我还没有尝试过使用vanilla .vimrc
设置,但编辑一个将相当于编辑indent
的.indent.pro
配置文件。
相关问题
- 1. html格式化工具
- 2. Ocaml格式化工具
- 3. C代码格式化/美化工具
- 4. 格式化高图表工具提示格式化程序中的点格式
- 5. 免费SQL格式化工具
- 6. 用于CSS格式化的工具
- 7. XML排序/格式化工具
- 8. 格式化饼图工具提示
- 9. OSX的源格式化工具?
- 10. 在Zedgraph上格式化工具提示
- 11. 格式化工具崇高文本
- 12. VBscript自动格式化工具
- 13. ASP.NET代码格式化工具
- 14. Highcharts工具提示格式化共享工具提示
- 15. 案例工具
- 16. 需要工具来格式化html(缩进,添加空格)
- 17. 编辑CSS颜色方案的工具
- 18. Javafx报告工具解决方案
- 19. 利用工具,MS-Project替代方案,资源控制工具
- 20. 简单的工具来格式化SQL样式并自定义格式规则?
- 21. 企业集成模式解决方案绘图工具
- 22. Django - DateTime小工具格式
- 23. jQuery工具提示格式
- 24. 城市FR格式化案例
- 25. Sed/Awk段落格式化解决方案
- 26. Java字符串格式化解决方案
- 27. 有没有在Visual Studio中格式化完成工具提示的方法?
- 28. Highcharts(grouped_category样式)和工具提示格式化程序不工作
- 29. 谷歌可视化 - 试图格式化每个工具提示以显示格式化百分比,或查询
- 30. 格式化toString方法
它不会工作。在阅读S表达式时,你会松开方括号,并且需要警惕第一个#! - 行。漂亮的打印机似乎不会将'let'和'define'视为特殊的,因此它们在新行开始时仍然会获得一个空间ident而不是两个。它不会停止在原型之后,因为它是它的格式化宽度而不是代码结构。即使DrRacket没有做所有这些事情,但人们通常会在自然的位置添加换行符,但是CTRL-i并不会清理那些没有的人。虽然这可能很简单。 – Sylwester
我同意这不是一个理想的解决方案。如果使用读取语法,则可以使用属性来查看括号是否包含括号 - 但这会使输出复杂化。我不知道是否有办法从命令行重用DrRacket压头。如果可能的话,这将是很好的。 – soegaard