better loading of symbols.
symbols of modules are loaded when a Haskell file is opened on Emacs. idle timer is still effective. M-C-e is obsoleted. M-C-m loads symbols of all un-loaded modules.
This commit is contained in:
parent
cfa7466eef
commit
387bf83f37
@ -162,6 +162,13 @@
|
||||
;;; Loading keywords
|
||||
;;;
|
||||
|
||||
(add-hook 'find-file-hook 'ghc-load-module-buffer)
|
||||
|
||||
(defun ghc-load-module-buffer ()
|
||||
(interactive)
|
||||
(when (eq major-mode 'haskell-mode)
|
||||
(mapc 'ghc-load-module (ghc-gather-import-modules-buffer))))
|
||||
|
||||
(defun ghc-load-module (mod)
|
||||
(when (and (member mod ghc-module-names)
|
||||
(not (member mod ghc-loaded-module)))
|
||||
@ -176,11 +183,6 @@
|
||||
(uniq-sorted (sort (ghc-uniq-lol keywords) 'string<)))
|
||||
(setq ghc-merged-keyword uniq-sorted)))
|
||||
|
||||
(defun ghc-import-module ()
|
||||
(interactive)
|
||||
(ghc-load-module (ghc-read-module-name (ghc-extract-module)))
|
||||
(ghc-merge-keywords))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;;
|
||||
;;; Background Idle Timer
|
||||
|
@ -42,8 +42,8 @@
|
||||
(interactive)
|
||||
(save-excursion
|
||||
(beginning-of-line)
|
||||
(if (looking-at "^import +\\(qualified +\\)?\\([^ (\n]+\\)")
|
||||
(match-string-no-properties 2))))
|
||||
(if (looking-at "^\\(import\\|module\\) +\\(qualified +\\)?\\([^ (\n]+\\)")
|
||||
(match-string-no-properties 3))))
|
||||
|
||||
(defun ghc-read-module-name (def)
|
||||
(read-from-minibuffer "Module name: " def ghc-input-map))
|
||||
|
@ -27,7 +27,7 @@
|
||||
|
||||
(defvar ghc-completion-key "\e\t")
|
||||
(defvar ghc-document-key "\e\C-d")
|
||||
(defvar ghc-import-key "\e\C-e")
|
||||
(defvar ghc-import-key "\e\C-m")
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;;
|
||||
@ -40,6 +40,6 @@
|
||||
(unless ghc-initialized
|
||||
(define-key haskell-mode-map ghc-completion-key 'ghc-complete)
|
||||
(define-key haskell-mode-map ghc-document-key 'ghc-browse-document)
|
||||
(define-key haskell-mode-map ghc-import-key 'ghc-import-module)
|
||||
(define-key haskell-mode-map ghc-import-key 'ghc-load-module-buffer)
|
||||
(ghc-comp-init)
|
||||
(setq ghc-initialized t)))
|
||||
|
Loading…
Reference in New Issue
Block a user