如题,dumb-jump 怎样添加对新语言的支持呢?
我要添加支持的语言类似于这样的:
def myFunction(param)
doSomething
end
或者
def myFunc
doSomething
end
在函数体外调用函数时是这样的:
@myFunction
我是这样设置 dumb-jump 的(参考的 Python 的写法):
(push '(:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "mylang"
:regex "def\\s*JJJ\\b\\s*\\\(?")
dumb-jump-find-rules)
(push '(:language "mylang" :ext "ml" :agtype "mylang" :rgtype "mylang")
dumb-jump-language-file-exts)
(push '(:comment ";" :language "mylang") dumb-jump-language-comments)
但是并没有卵用,dumb-jump-go
并没有跳转到函数的定义。请问这是怎么回事?
PS:ag grep rg git-grep 在我的系统中都是可以用的。
感觉你需要写一个 mylang 的 Major Mode 或者让 ag / rg 懂你的 mylang
类型。
major mode 已经有了。ag / rg 不是单纯的搜索吗? dumb-jump 提供了这样一个搜索框架。
你设置了 agtype
和 rgtype
,但是
$ ag --mylang myFunc
肯定搜不到任何结果,因为 ag 默认并不支持 mylang
这种类型。你可以试试改成 nil
:
'(:language "mylang" :ext "ml" :agtype nil :rgtype nil)
1 个赞
ag 支持的语言在源码中就限定了:
这里有个 PR Added support for user-defined languages 没合并
1 个赞