首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Emacs 24.1 & Haskell语法突出显示前缀和常用函数

Emacs 24.1 & Haskell语法突出显示前缀和常用函数
EN

Stack Overflow用户
提问于 2012-07-08 04:35:15
回答 1查看 557关注 0票数 1

关于Emacs 24.1和Haskell的另一个问题。我注意到它为我做了缩进,它为我做了非常基本的高亮显示(例如,类型是绿色的)。但是Emacs24.1不会突出显示常用的功能,如foldrmap等。Emacs和haskell-mode是否有能力突出显示常用的功能?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-08 04:41:02

从根本上说,标准库函数就是函数。事实上,根据您的导入,它们中的任何一个都可以是用户提供的,而不是来自标准的前奏!这种情况实际上经常发生--例如,如果您想使用Control.Category,通常需要隐藏id并用多态版本替换它。

因此,简而言之,没有真正的理由来强调标准函数。所以我真的怀疑这个功能是否存在于标准的Haskell模式中。

也就是说,这是Emacs。你可以很容易地添加任何你想要的东西。如果您有想要突出显示的所有函数名称的列表,那么将其添加到Haskell模式中应该不难。

您可以在.emacs文件中使用类似如下的代码将新函数添加到haskell模式突出显示中:

代码语言:javascript
复制
(font-lock-add-keywords 'haskell-mode 
                        '(("\\<\\(map\\|foldr\\|foldl\\)\\>" 1 
                           '(:foreground "#3366FF") t)))

看起来奇怪的字符串是一个Emacs风格的正则表达式。\<\>类似于\b\(\|\)用于在组内交替。因为没有正则表达式文字,所以每个\都必须在字符串中进行转义。正则表达式将更具可读性,如\<\(map\|foldr\|foldl\)\>。通过在表达式中添加新的case,可以轻松地添加其他函数名。

(:foreground "#3366FF")只是将文本的颜色设置为相当吸引人的蓝色阴影。

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

https://stackoverflow.com/questions/11378420

复制
相关文章

相似问题

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