Emacs ansi术语中的可点击覆盖

Emacs ansi术语中的可点击覆盖,emacs,ansi-term,Emacs,Ansi Term,我是这个包的作者,里面运行着一个低级的juliarepl。由于颜色和端子的相互作用,需要一个完整的端子。我需要一些帮助来扩展它,使错误位置“可点击” Julia错误消息如下所示: julia> Foo.foo() ERROR: DomainError: Stacktrace: [1] foo() at /tmp/Foo.jl:2 我想让/tmp/Foo.jl:2成为“可点击的”,这样鼠标点击就会将用户带到/tmp/Foo.jl的2行 我开始阅读,但需要一些帮助来实现这一点。特别是, 用

我是这个包的作者,里面运行着一个低级的juliarepl。由于颜色和端子的相互作用,需要一个完整的端子。我需要一些帮助来扩展它,使错误位置“可点击”

Julia错误消息如下所示:

julia> Foo.foo()
ERROR: DomainError:
Stacktrace:
 [1] foo() at /tmp/Foo.jl:2
我想让
/tmp/Foo.jl:2
成为“可点击的”,这样鼠标点击就会将用户带到
/tmp/Foo.jl的
2

我开始阅读,但需要一些帮助来实现这一点。特别是,

  • 用正则表达式查找这些文本片段的最佳方法是什么
  • 如何在每次缓冲区更改时运行此操作
  • 我可以只在新的输出上运行它吗
  • 如何将文件的特定行指定为目标

  • 我很乐意阅读和研究现有的例子,但不知道从哪里开始。一个简单的例子会很有帮助。

    理想情况下,您应该使用类似于
    编译shell次要模式的东西。但我不确定它如何/是否能在ansi术语缓冲区中工作。

    我建议查看实现这一点的模式来源,例如。作为用户,我不确定我是否需要基于完整终端仿真的解决方案。如果你的“终端交互”足够有限,也许你应该考虑简单地为comint添加颜色支持(这是一个单行程序)和终端交互支持(或替换)。谢谢!这正是我必须使用的。10行带有一些正则表达式的emacs lisp解决了这个问题。