我在emacs上使用flymake(-ghc)(前奏设置,在任何人都想知道之前,没有任何额外的配置)用于yesod项目,该项目#if
默认情况下到处都是。除了flymake显示此错误外,其他所有方面都很好:
/path/to/Import.hs:18:2:
lexical error at character 'i'
线正好是
#if __GLASGOW_HASKELL__ >= 704
因此,行为与ghci完全相同:
Prelude> #if something
<interactive>:2:2: lexical error at character 'i'
我在这里想念什么吗?
红利:auto-complete
也不起作用(emacs,序曲,默认设置等):它适用于其他事物(例如R)。
我认为这flymake-ghc
件事在检查时不会启用C预处理器。要解决此问题,请将以下内容添加到受影响的Haskell文件的顶部::
{-# LANGUAGE CPP #-}
此编译指示为包含的文件启用预处理器。
通常,这实际上是启用Haskell语言选项和扩展名的首选方法,因为这种方式将它们限制在实际需要它们的文件中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句