如何让BBEdit以编程方式显示错误浏览器?


2

BBEdit的一个很好的功能是它可以显示错误列表(例如Ruby程序中的语法错误),点击错误将显示源代码文件中的行。

如何通过编程方式启动此窗口,例如通过命令行,AppleScript或语言模块?

在我的具体情况下,我正在编译SML / NJ程序。编译器按以下格式列出错误:

codegen.sml:121.31 Error: syntax error: inserting  LPAREN
codegen.sml:130.49 Error: syntax error: inserting  EQUALOP

当我遇到类似编译器的错误时,我想BBEdit显示这些错误消息,让我点击它们来显示代码中的错误行。

Answers:


2

您可以使用AppleScript和BBEdit results browser命令执行此操作。它没有很好的记录,但有一些很好的例子来帮助你。例如:John Gruber的CSS语法检查器

这是一个AppleScript示例。

tell application "BBEdit"
  set error_list to ¬
    {{result_kind: "Error", result_file: "/path/to/codegen.sml",¬
      result_line: 121, message: "syntax error: inserting  LPAREN"},¬
     {result_kind: "Error", result_file: "/path/to/codegen.sml",¬
      result_line: 130, message: "syntax error: inserting  EQUALOP"}}
  make new results browser with data error_list with properties ¬
    {name:"Errors"}
end tell

当然,您需要以error_list编程方式创建变量,但这应该可以帮助您入门。如果更改/path/to/codegen.sml为系统中存在的文件,则可以看到它正在运行。


感谢您的详细信息!我永远不会想出BBEdit脚本字典中的参数。我编写了一个Python脚本来过滤编译器输出并显示浏览器窗口。 gist.github.com/3113810
Jay Lieske
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.