我正在尝试使用ELisp Syntax-Table-Comments设置Haskell样式注释,但我无法理解它。
在Haskell中,有两种基本类型的注释
--
表示以\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))
根据documentation,我可以使用b
设置替代方案。但是,b
适用于序列的第二个字符,在两种情况下都是-
。因此,当我尝试使用替代方法组合这些时,就不可能进行多行和单行注释。
我已经看到了这一点,所以我知道这是可能的。但是,我不知道该怎么做。任何帮助表示赞赏。
答案 0 :(得分:1)
Haskell模式使用
(modify-syntax-entry ?\{ "(}1nb" table)
(modify-syntax-entry ?\} "){4nb" table)
(modify-syntax-entry ?- "_ 123" table)))
(modify-syntax-entry ?\n ">" table)