Defining C-< and C-> for indentation.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
SRCS = ghc.el ghc-func.el ghc-doc.el ghc-comp.el ghc-flymake.el \
|
||||
ghc-command.el ghc-info.el ghc-ins-mod.el
|
||||
ghc-command.el ghc-info.el ghc-ins-mod.el ghc-indent.el
|
||||
EMACS = emacs
|
||||
DETECT = xemacs
|
||||
|
||||
|
||||
35
elisp/ghc-indent.el
Normal file
35
elisp/ghc-indent.el
Normal file
@@ -0,0 +1,35 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;;
|
||||
;;; ghc-indent.el
|
||||
;;;
|
||||
|
||||
;; Author: Kazu Yamamoto <Kazu@Mew.org>
|
||||
;; Created: Feb 28, 2012
|
||||
|
||||
;;; Code:
|
||||
|
||||
(defvar ghc-indent-offset 4)
|
||||
|
||||
(defun ghc-make-indent-shallower (beg end)
|
||||
(interactive "r")
|
||||
(let ((n ghc-indent-offset))
|
||||
(save-excursion
|
||||
(save-restriction
|
||||
(narrow-to-region beg end)
|
||||
(goto-char beg)
|
||||
(while (not (eobp))
|
||||
(delete-region (point) (+ (point) n))
|
||||
(forward-line))))))
|
||||
|
||||
(defun ghc-make-indent-deeper (beg end)
|
||||
(interactive "r")
|
||||
(let ((indent (make-string ghc-indent-offset 32)))
|
||||
(save-excursion
|
||||
(save-restriction
|
||||
(narrow-to-region beg end)
|
||||
(goto-char beg)
|
||||
(while (not (eobp))
|
||||
(insert indent)
|
||||
(forward-line))))))
|
||||
|
||||
(provide 'ghc-indent)
|
||||
@@ -27,6 +27,7 @@
|
||||
(require 'ghc-flymake)
|
||||
(require 'ghc-command)
|
||||
(require 'ghc-ins-mod)
|
||||
(require 'ghc-indent)
|
||||
(require 'dabbrev)
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
@@ -54,6 +55,8 @@
|
||||
(defvar ghc-module-key "\C-c\C-m")
|
||||
(defvar ghc-expand-key "\C-c\C-e")
|
||||
(defvar ghc-hoogle-key (format "\C-c%c" (ghc-find-C-h)))
|
||||
(defvar ghc-shallower-key "\C-c<")
|
||||
(defvar ghc-deeper-key "\C-c>")
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;;
|
||||
@@ -82,6 +85,8 @@
|
||||
(define-key haskell-mode-map ghc-toggle-key 'ghc-flymake-toggle-command)
|
||||
(define-key haskell-mode-map ghc-module-key 'ghc-insert-module)
|
||||
(define-key haskell-mode-map ghc-hoogle-key 'haskell-hoogle)
|
||||
(define-key haskell-mode-map ghc-shallower-key 'ghc-make-indent-shallower)
|
||||
(define-key haskell-mode-map ghc-deeper-key 'ghc-make-indent-deeper)
|
||||
(ghc-comp-init)
|
||||
(setq ghc-initialized t)))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user