Xmonad выдает ошибку синтаксического анализа, в которой я использовал фрагмент рабочей конфигурации

#haskell #vim #configuration #indentation #archlinux

#haskell #vim #конфигурация #отступ #archlinux

Вопрос:

Я только начал использовать Xmonad и (конечно) Я столкнулся с некоторыми ошибками, которые, похоже, не могу исправить. Этот конфигурационный файл довольно маленький, так как мне на самом деле не нужно много привязок клавиш. Я настраиваю xmonad на виртуальной машине arch Linux, если это имеет значение, я использую neovim для редактирования файла, и я скопировал отступ конфигурации по умолчанию, чтобы попытаться исправить ошибку самостоятельно. Спасибо за любую помощь, которую вы можете мне оказать.

Вот мой конфигурационный файл:

 import XMonad
import XMonad.Config.Azerty
import Data.Monoid
import System.Exit

import qualified XMonad.StackSet as W
import qualified Data.Map        as M

myFocusFollowsMouse :: Bool
myFocusFollowsMouse = True

myClickJustFocuses :: Bool
myClickJustFocuses = False

myWorkspaces       = ["1","2","3","4","5","6","7","8","9"]

-- Some keybindings, it launches my terminal, dmenu and Firefox.

myKeys conf@(XConfig {XMonad.modMask = modm}) = M.fromList $


        -- launch the terminal
        [ ((modm .|. shiftMask, xK_Return), spaw $ XMonad.terminal conf)

        -- launch dmenu
        , ((modm,               xK_p     ), spawn "dmenu_run")

        -- launch firefox
        , ((modm,               xK_f     ), spawn "firefox")

        -- close focused window
        , ((modm .|. shiftMask, xK_q     ), kill)

        -- restart xmonad
        , ((modm .|. shiftMask, xK_x     ), spawn "xmonad --recompile; xmonad --restart")
        ]
          

        [((m .|. modm, k), windows $ f i)
            | (i, k) <- zip (XMonad.workspaces conf) [xK_1 .. xK_9]
            , (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]]
          


        myMouseBindings (XConfig {XMonad.modMask = modm})  M.fromList $

        [ ((modm, button1), (w -> focus w >> mouseMoveWindow w
                                           >> windows W.shiftMaster))





main = xmonad defaults azertyConfig


defaults = def {

  borderWidth         = 2,
  terminal            = "xterm",
  normalBorderColor   = "#ededed",
  focusedBorderColor  = "#e60707",
  modMask             = mod1Mask,
  workspaces          = myWorkspaces,
  keys                = myKeys,
  mouseBindings       = myMouseBindings,
  focusFollowsMouse   = myFocusFollowsMouse,
  clickJustFocuses    = myClickJustFocuses

  }
 

И вот ошибка, которую я получаю:

 xmonad.hs:54:1 error:
    parse error (possible incorrect indentation or mismatched brackets)
    |
54  | main = xmonad defaults azertyConfig^M
    | ^
 

Я уже исправил все (я думаю?) Ошибки, Касающиеся таблиц вместо пробелов. Спасибо за ваш отзыв.

Комментарии:

1. Вы уверены, что нет отсутствующей скобки и т. Д.?

2. Да, я уверен, я использовал файл конфигурации xmonad по умолчанию для записи этого последнего бита, потому что я получал несколько ошибок.

3. Вам не хватает закрывающей скобки ( ] ) в конце вашей myKeys функции.

4. myMouseBindings вы имеете в виду?

5. @JohnTitor Я предлагаю дважды проверить конфигурационный файл, который вы используете в качестве модели. В первой строке myMouseBindings определения не должно быть отступов и отсутствует знак равенства; кроме того, непосредственно перед ним не должно быть.