我正在设置一个Clojure emacs环境,它开始看起来很恶心。由于我安装了其中一个软件包,(fn [x]...)
语法会自动填充到(ƒ [x] ...)
。我只想添加相同类型的效果,但对于#(func % %2)
语法,要使其λ(func % %2)
。
有人可以告诉我哪个包需要编辑才能实现这个目的?
这些是我安装的一些基本内容: 起动机 - 试剂盒, Clojure的模式, paredit, 苹果酒, 彩虹分隔符, 彩虹模式, 弹出, 苹果酒, CLJ-DOC, 类型化Clojure的模式, 自动完成
答案 0 :(得分:2)
您需要安排在after-init-hook
中调用此类内容,修改以适应。请注意,对于没有类似自定义设置的读者来说,这会弄乱文件的缩进。
(dolist (mode '(clojure-mode clojurescript-mode cider-mode))
(eval-after-load mode
(font-lock-add-keywords
mode '(("(\\(fn\\)[\[[:space:]]" ; anon funcs 1
(0 (progn (compose-region (match-beginning 1)
(match-end 1) "λ")
nil)))
("\\(#\\)(" ; anon funcs 2
(0 (progn (compose-region (match-beginning 1)
(match-end 1) "ƒ")
nil)))
("\\(#\\){" ; sets
(0 (progn (compose-region (match-beginning 1)
(match-end 1) "∈")
nil)))))))