首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >swank-clojure repl中的paredit大括号匹配

swank-clojure repl中的paredit大括号匹配
EN

Stack Overflow用户
提问于 2011-12-22 08:32:07
回答 2查看 1.3K关注 0票数 9

我在Windows7上使用emacs 24,并且已经安装了technomancy's clojure-mode和paredit 23测试版。我从我的leiningen项目加载源文件,并使用clojure-jack-in获得一个repl。问题是,虽然在Clojure模式和repl中都启用了paredit,但大括号并不只在源文件中的repl中匹配。

我怎么才能让它与repl中的花括号匹配呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-22 19:06:35

我在我的.emacs文件中添加了以下代码,这对我来说很有用(这不是我自己发明的,它是我在网上某个地方找到的一个代码片段--但我不记得在哪里了):

代码语言:javascript
复制
(defun setup-slime-repl-paredit ()
  (define-key slime-repl-mode-map
    (kbd "DEL") 'paredit-backward-delete)
  (define-key slime-repl-mode-map
    (kbd "{") 'paredit-open-curly)
  (define-key slime-repl-mode-map
    (kbd "}") 'paredit-close-curly)
  (modify-syntax-entry ?\{ "(}")
  (modify-syntax-entry ?\} "){")
  (modify-syntax-entry ?\[ "(]")
  (modify-syntax-entry ?\] ")[")
  (modify-syntax-entry ?~ "'   ")
  (modify-syntax-entry ?, "    ")
  (modify-syntax-entry ?^ "'")
  (modify-syntax-entry ?= "'"))

(add-hook 'slime-repl-mode-hook 'setup-slime-repl-paredit)

(add-hook 'slime-repl-mode-hook       'enable-paredit-mode)
票数 6
EN

Stack Overflow用户

发布于 2011-12-23 00:54:30

获取Phil Hagelberg的durendal package,它为slime提供了一些特定于clojure的增强,然后尝试以下代码片段:

代码语言:javascript
复制
(require 'durendal)
(durendal-enable t)

(defun slime-clojure-repl-setup ()
  (when (string-equal (slime-lisp-implementation-name) "clojure")
    (set-syntax-table clojure-mode-syntax-table)
    (setq lisp-indent-function 'clojure-indent-function)))

(add-hook 'slime-repl-mode-hook 'slime-clojure-repl-setup)

将来,Phil可能会将durendal的功能包含在swank-clojure本身中,作为额外的lisp有效负载,在这一点上,上面的内容将变得不必要。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8598116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档