2

我正在尝试使用 ELisp Syntax-Table-Comments 设置 Haskell 样式的注释,但我不太明白。

在 Haskell 中,有 2 种基本类型的注释

--表示以\n

{-表示以 结尾的多行注释-}需要注意的是,这些可以嵌套

多行注释可以这样完成:

(defvar my-syntax-table
  (let ((st (make-syntax-table)))
    (modify-syntax-entry ?{ ". 1n" st)
    (modify-syntax-entry ?- ". 23n" st)
    (modify-syntax-entry ?} ". 4n" st)
   st))

单行注释可以这样完成:

(defvar my-syntax-table
  (let ((st (make-syntax-table)))
    (modify-syntax-entry ?- ". 12" st)
    (modify-syntax-entry ?\n ">" st)
   st))

根据文档,我可以使用b. 但是,b适用于序列的第二个字符,在这两种情况下都是-. 因此,当我尝试使用替代方法将这些组合起来时,就不可能进行多行和单行注释。

我已经看到这样做了,所以我知道这是可能的。但是,我不知道该怎么做。任何帮助表示赞赏。

4

1 回答 1

2

Haskell 模式使用

       (modify-syntax-entry ?\{  "(}1nb" table)
       (modify-syntax-entry ?\}  "){4nb" table)
       (modify-syntax-entry ?-  "_ 123" table)))
       (modify-syntax-entry ?\n ">" table)
于 2013-12-30T18:42:23.033 回答