packages feed

structured-haskell-mode-1.0.2: elisp/shm-customizations.el

;;; shm-customizations.el --- Customizations for structured-haskell-mode

;; Copyright (c) 2014 Chris Done. All rights reserved.

;; This file is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.

;; This file is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;; GNU General Public License for more details.

;; You should have received a copy of the GNU General Public License
;; along with this program.  If not, see <http://www.gnu.org/licenses/>.

;;; Code:

(defcustom shm-auto-insert-skeletons
  t
  "Auto-insert skeletons for case, if, etc."
  :group 'shm
  :type 'boolean)

(defcustom shm-auto-insert-bangs
  t
  "Auto-insert bangs when inserting :: in record fields."
  :group 'shm
  :type 'boolean)

(defcustom shm-skip-applications
  t
  "Skip successive applications to the top parent.

So if you have

foo| bar mu

And go up a parent, it will go to

foo bar mu|

instead of

foo bar| mu

I tend to want the former behaviour more often than the latter,
but others may differ."
  :group 'shm
  :type 'boolean)

(defcustom shm-program-name
  "structured-haskell-mode"
  "The path to call for parsing Haskell syntax."
  :group 'shm
  :type 'string)

(defcustom shm-indent-spaces
  (if (boundp 'haskell-indent-spaces)
      haskell-indent-spaces
    2)
  "The number of spaces to indent by default."
  :group 'shm
  :type 'string)

(defcustom shm-lambda-indent-style
  nil
  "Specify a particular style for indenting lambdas?"
  :group 'shm
  :type '(choice (const leftmost-parent) (const nil)))

(defcustom shm-use-presentation-mode
  nil
  "Use haskell-presentation-mode?"
  :group 'shm
  :type 'boolean)

(defcustom shm-display-quarantine
  t
  "Display quarantine?"
  :group 'shm
  :type 'boolean)

(defcustom shm-use-hdevtools
  nil
  "Use hdevtools for type information?"
  :group 'shm
  :type 'boolean)

(defcustom shm-type-info-fallback-to-ghci
  t
  "Fallback to GHCi when the type-info backend returns nothing?"
  :group 'shm
  :type 'boolean)

(defcustom shm-idle-timeout
  0.2
  "Number of seconds before re-parsing."
  :group 'shm
  :type 'string)

(provide 'shm-customizations)