哈斯克尔大括号解析错误
问题描述:
运行Manjaro并试图获得XMonad工作,我遇到了以下xmonad.hs
一个parse error on input '{'
:哈斯克尔大括号解析错误
import XMonad
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Util.Run(spawnPipe)
import XMonad.Util.EZConfig(additionalKeys)
import System.IO
main = do
xmproc <- spawnPipe "xmobar"
xmonad $ defaultConfig
{ manageHook = manageDocks <+> manageHook defaultConfig
, layoutHook = avoidStruts $ layoutHook defaultConfig
, logHook = dynamicLogWithPP xmobarPP
{ ppOutput = hPutStrLn xmproc
, pptitle = xmobarColor "green" "" . shorten 50
}
, modMask = mod4Mask -- rebind Mod to the windows key
} `additionalKeys`
[ ((mod4Mask .|. shiftMask, xK_z), spawn "xscreensaver-command -lock; xset dmps force off")
, ((controlMask, xK_Print), spawn "sleep 0.2; scrot -s")
, ((0, xK_Print), spawn "scrot")
]
我发现这个solution on su.sx,把我从xmonad.hs readthedocs.io。 对于开始我想使用该配置文件,但我不知道如何将该解决方案应用于此。如果有人能够解释为什么会出现这种错误以及如何解决这个问题,我真的很感激它,因为我最近刚刚开始使用Haskell,并且它真的让我的想法陷入了未知的程度......:D
答
缩进后的所有内容在xmonad $ defaultConfig
线进一步向右(似乎有些压痕,当你粘贴the example丢失):
main = do
xmproc <- spawnPipe "xmobar"
xmonad $ defaultConfig
{ manageHook = manageDocks <+> manageHook defaultConfig
, layoutHook = avoidStruts $ layoutHook defaultConfig
, logHook = dynamicLogWithPP xmobarPP
{ ppOutput = hPutStrLn xmproc
, ppTitle = xmobarColor "green" "" . shorten 50
}
, modMask = mod4Mask -- Rebind Mod to the Windows key
} `additionalKeys`
[ ((mod4Mask .|. shiftMask, xK_z), spawn "xscreensaver-command -lock; xset dpms force off")
, ((controlMask, xK_Print), spawn "sleep 0.2; scrot -s")
, ((0, xK_Print), spawn "scrot")
]
线在一个做块“父”缩进级别被解析为单独的语句,这是这里不合适。
那么,你觉得编译器如何解析这段代码呢? (画圆括号)提示:您链接的SuperUser上的解决方案没有错误。 – leftaroundabout