【问题标题】:Proper indentation of Clojure's `match` in Emacs在 Emacs 中正确缩进 Clojure 的 `match`
【发布时间】:2016-05-05 20:00:40
【问题描述】:

我正在使用 Clojure 模式和 CIDER 运行 Emacs 24.5,而来自 core.match 的 match 宏自动缩进不正确。

match 子句被推到了最右边,就像普通的函数参数一样:

(match [1 2]
       [1 _] "one"
       :else "two")

而短的 2 空格缩进会更好:

(match [1 2]
  [1 _] "one"
  :else "two")

使 Emacs 正确缩进 match(和其他常见特殊情况)的常用方法是什么?

【问题讨论】:

    标签: emacs clojure


    【解决方案1】:

    说

    (define-clojure-indent
      (match 1))
    

    在您的 Emacs 初始化文件中。

    这在clojure-mode 的自述文件中有记录;从 5.3.0 版开始,关注 this link 的相关部分。

    【讨论】:

    • 太好了,谢谢!显然可以在同一个define-clojure-indent 表单中指定任意数量的特殊情况,这很方便。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-14
    • 1970-01-01
    • 1970-01-01
    • 2021-11-12
    • 2010-10-14
    • 1970-01-01
    • 2012-02-22
    相关资源
    最近更新 更多