Emacs 运行hasktags获取大量.hs源文件以获取CTAGS文件(普通Windows)

Emacs 运行hasktags获取大量.hs源文件以获取CTAGS文件(普通Windows),emacs,haskell,ctags,Emacs,Haskell,Ctags,我想用hasktags生成一个ETAGS文件,因为我可以在带有M-的Emacs中使用它。(查找标签) 我正在使用Windows上运行的Emacs。由于我没有安装MSYS/Cygwin,因此无法执行此操作 find -name \*\*hs | xargs hasktags 如何为大量的.hs源文件生成hasktags ETAGS文件 在cmd.exe中向您致以最诚挚的问候 for /f "tokens=*" %i in ('dir /b /s *.hs') do hasktag

我想用hasktags生成一个ETAGS文件,因为我可以在带有M-的Emacs中使用它。(查找标签)

我正在使用Windows上运行的Emacs。由于我没有安装MSYS/Cygwin,因此无法执行此操作

find -name \*\*hs | xargs hasktags        
如何为大量的.hs源文件生成hasktags ETAGS文件


cmd.exe
中向您致以最诚挚的问候

for /f "tokens=*" %i in ('dir /b /s *.hs') do hasktags "%i"
在批处理脚本(
.bat
/
.cmd
)中将
%i
更改为
%i

在PowerShell中

Get-ChildItem -Include '*.hs' -Recurse | Foreach-Object {hasktags $_}

但当然,您可以编写一个简单的Haskell程序来实现这一点(或使用GHCi),从or开始,添加到调用
hasktags

实际上,我自己没有使用过
hasktags
,我不确定它在每个文件上调用一次是否正确,而不是在所有文件上同时调用一次。如果是这样,batch/PS方法会变得更加棘手,但是Haskell方法仍然很简单:)我们能让hasktags在本地真正支持递归生成吗?请?:-)非常感谢你的回答。Ephemient脚本(cmd.exe)正在运行-协议看起来很好-但是hasktags没有附加到我的windows机器上,我没有正确运行“-a”(append)。当我ommit“-a”时,它被覆盖,当我添加“-a”时,它保持文件的原样(如果有文件,否则它什么也不做)…@EdwardZ.Yang fyi,从
hasktags-0.68.2开始,本机支持递归遍历…拥有cygwin意味着拥有xargs…:-)