问题标签 [ack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1162 浏览

emacs - elisp 编译,添加一个正则表达式进行错误检测

我从emacs开始,不太了解elisp。几乎没有,真的。

我想用 ack 代替 grep。

这些是我在emacs中使用ack的说明: http ://www.rooijan.za.net/?q=ack_el

现在我不喜欢这个 el 文件中使用的输出格式,我希望输出是ack --group.

所以我改变了:

至:

到目前为止,一切都很好。但这使我失去了在输出缓冲区的行上单击-press_enter 的能力。在最初的行为中,编译模式用于能够跳转到选定的行。

我想我应该在 ack-mode 中添加一个正则表达式。ack-mode 定义如下:

我也想添加正则表达式[0-9]+:以检测为错误,因为它是输出窃听器的每一行都包含的内容(行号)。

我试图修改define-compilation-mode上面的内容以添加正则表达式,但我失败了。

我怎样才能让输出缓冲区ack让我点击它的行?

--- 编辑,我也试过:---

我在某个地方偷了它,并试图适应我的需要。没运气。

--- 编辑,伊万提议后的结果---

随着 ack.el 的更新,包括:

然后检查compilation-error-regext-alist变量,我得到值:

我发现变量的格式很奇怪,不是吗?我不知道 elisp(还),所以也许这样是正确的。

*ack* 缓冲区中仍然没有链接或颜色。

0 投票
3 回答
1024 浏览

regex - 为什么我的 ack 正则表达式会得到额外的、意想不到的结果?

我终于开始学习正则表达式并使用ack进行培训。我相信这使用 Perl 正则表达式。

我想匹配第一个非空白字符所在的所有行,if (<word> !元素之间有任意数量的空格。

这就是我想出的:

它几乎起作用了。^[ \t]*是错误的,因为它匹配一个或不匹配 [空格或制表符]。我想要的是匹配任何可能只包含空格或制表符(或什么都不包含)的东西。

例如,这些不应该匹配:

我该如何修改我的正则表达式?


编辑添加命令行

注意单引号,我不再那么确定它们了。

我的搜索库是一个更大的代码库。它确实包括匹配的表达式(相当多),但即使是例如:

,这是我通过上述命令得到的。


编辑添加 mobrule 的测试结果

Mobrule,感谢您为我提供了要测试的文本。我将在这里复制我收到的提示信息:

问题出在我对我的 ack.bat 的调用中!

ack.bat 包含:

虽然我用插入符号调用,但它会在调用 bat 文件时消失!

转义插入符号^^不起作用。

" "用而不是引用正则表达式' '。我的问题是 DOS/win 问题,很抱歉打扰大家。

0 投票
2 回答
19666 浏览

ack - ack:仅排除一个目录,但保留所有其他目录同名

我的文件夹结构如下所示:

我想递归搜索/app,包括/app/data. 但是我不想搜索/app/secondary/data。这是我到目前为止所拥有的:

第一个命令忽略两个目录,第二个命令不忽略它们。在 app 文件夹中,我的 ack 命令应该是什么样的?

0 投票
2 回答
128 浏览

regex - 如何使用 ack 查找没有 TEST 字样的文件

我爱阿克。

我需要在除测试文件之外的所有文件中搜索“foo”。

ack 有选项 -G 来指定正则表达式。但是,我不确定如何为查找所有文件但忽略带有单词“test”的文件的条件编写正则表达式。

0 投票
4 回答
7494 浏览

grep - ack 未命中结果(与 grep 相比)

我确定我误解了 ack 的文件/目录忽略默认值,但也许有人可以为我阐明这一点:

然而...

简单地ack不带选项调用无法在.bak文件中找到结果,但使用--unrestricted选项调用可以找到结果。不过,据我所知, ack 默认情况下不会忽略.bak文件。

更新

感谢以下有用的评论,这里是我的新内容~/.ackrc

0 投票
4 回答
7142 浏览

perl - ack-grep:字符转义

<?=我的目标是用 ack找到所有出现的“ ”。我怎样才能做到这一点?

不工作。请告诉我如何解决这里的逃逸问题?

0 投票
2 回答
9962 浏览

ack - 如何让 ack 支持更多的文件类型?

在ack的首页,列出了很多文件类型,但是没有aspx,是否可以让ack支持呢?

0 投票
1 回答
2916 浏览

regex - 如何在 ack 输出中使用命名的正则表达式组?

假设我有一个包含以下内容的 foo.txt 文件:

当我ack使用以下日期部分时,它可以工作:

但是当我尝试--output与命名组“foo”一起使用时,我无法让它工作:

任何帮助都非常感谢。非常感谢。

0 投票
2 回答
565 浏览

windows - 在 Emacs for Windows 中以 shell 模式确认没有输出

在Windows 7 64 位上安装ack后(例如使用StrawberryPerl),我可以从 Windows 中的cmd终端运行ack 。

但是,如果我尝试在 Shell 模式下(即在缓冲区中)在 Emacs 中使用ackM-x shell,我不会得到输出(尽管所有其他cmd命令都可以正确打印)。

有趣的是,如果我单独运行ack(即不带参数),我会正确打印ack使用信息。换句话说,当我使用参数运行ack时,它不会在我的 Emacs shell 中打印输出(即使ack应该为我的查询打印命中,正如我在cmd下检查过的那样)。

缺少输出使我认为 ack 正在等待输入(尽管我为其提供了参数)。我尝试了我的 .emacs 文件中建议的代码片段(它似乎旨在帮助确认在文件系统或 STDIN 中搜索时感到困惑),但问题仍然存在。

对于如何解决这个问题,有任何的建议吗?

谢谢

0 投票
3 回答
230 浏览

scons - 添加 SCons 文件以确认搜索

我喜欢代码搜索实用程序ack。浏览 Makefile 足够聪明,但不知道 scons 使用的 SConstruct 和 SConscript 文件。如何将这些添加到 ack 将查看的文件中?