Spacemacs
August 23, 2016 Leave a comment
I will update this post soon as my day job leaves little time for fun aspects like this.
Spacemacs’ new Haskell layer is what I like now eventhough the Haskell editor setup is not easy for the novice.
After installing Spacemacs these are the basic steps I followed.
Added the Haskell layer
;; —————————————————————-
;; Example of useful layers you may want to use right away.
;; Uncomment some layer names and press (Vim style) or
;; (Emacs style) to install them.
;; —————————————————————-
;; auto-completion
;; better-defaults
emacs-lisp
(haskell .variables haskell-enable-shm-support t)
;; git
;; markdown
;; org
;; (shell :variables
;; shell-default-height 30
;; shell-default-position ‘bottom)
;; spell-checking
;; syntax-checking
;; version-control
Added this to .spacemacs
(defun dotspacemacs/user-init ()
“Initialization function for user code.
It is called immediately after `dotspacemacs/init’, before layer configuration
executes.
This function is mostly useful for variables that need to be set
before packages are loaded. If you are unsure, you should try in setting them in
`dotspacemacs/user-config’ first.”
(add-hook ‘haskell-mode-hook ‘turn-on-haskell-indentation)
(add-to-list ‘exec-path “C:/Users/476458/AppData/Roaming/local/bin/”)
)
C:/Users/476458/AppData/Roaming/local/bin/ contains other tools installed by Stack.
Stack is a cross-platform program for developing Haskell projects. It is aimed at Haskellers both new and experienced.
Suggested by spacemacs Reddit group
(defun dotspacemacs/user-config ()
“Configuration function for user code.
This function is called at the very end of Spacemacs initialization after
layers configuration.
This is the place where most of your configurations should be done. Unless it is
explicitly specified that a variable should be set before a package is loaded,
you should place your code here.”
(spacemacs/set-leader-keys-for-major-mode ‘haskell-mode
“cx” ‘inferior-haskell-load-and-run
)
)
This helps me compile and execute the Haskell program by using the keystrokes
SPC m c x