diff --git a/README.md b/README.md index 74d9bfb..8388019 100644 --- a/README.md +++ b/README.md @@ -286,7 +286,7 @@ Keybinding | Description C-c n | Fix indentation in buffer and strip whitespace. C-c f | Open recently visited file. C-M-\\ | Indent region (if selected) or the entire buffer. -C-c u | Open URL in your default browser. +C-c u | Open a new buffer containing the contents of URL. C-c e | Eval a bit of Emacs Lisp code and replace it with its result. C-c s | Swap two active windows. C-c D | Delete current file and buffer. diff --git a/core/prelude-core.el b/core/prelude-core.el index 72cb62c..265803f 100644 --- a/core/prelude-core.el +++ b/core/prelude-core.el @@ -266,8 +266,11 @@ there's a region, all lines that region covers will be duplicated." (url (read-from-minibuffer "URL: " default))) (switch-to-buffer (url-retrieve-synchronously url)) (rename-buffer url t) - (cond ((search-forward " to open a file with external program." diff --git a/modules/prelude-evil.el b/modules/prelude-evil.el index aaf6acc..ef57aee 100644 --- a/modules/prelude-evil.el +++ b/modules/prelude-evil.el @@ -48,6 +48,9 @@ (setq evil-insert-state-cursor '("gray" bar)) (setq evil-motion-state-cursor '("gray" box)) +;; prevent esc-key from translating to meta-key in terminal mode +(setq evil-esc-delay 0) + (evil-mode 1) (global-evil-surround-mode 1) diff --git a/modules/prelude-haskell.el b/modules/prelude-haskell.el index 7adff88..5a35a3f 100644 --- a/modules/prelude-haskell.el +++ b/modules/prelude-haskell.el @@ -40,7 +40,8 @@ (defun prelude-haskell-mode-defaults () (subword-mode +1) (turn-on-haskell-doc-mode) - (turn-on-haskell-indentation)) + (turn-on-haskell-indentation) + (interactive-haskell-mode +1)) (setq prelude-haskell-mode-hook 'prelude-haskell-mode-defaults) diff --git a/modules/prelude-latex.el b/modules/prelude-latex.el index 069af5d..b69072a 100644 --- a/modules/prelude-latex.el +++ b/modules/prelude-latex.el @@ -32,14 +32,25 @@ ;;; Code: -(prelude-require-packages '(auctex)) +(prelude-require-packages '(auctex cdlatex)) (require 'smartparens-latex) +;; for case +(require 'cl) (eval-after-load "company" '(progn (prelude-require-packages '(company-auctex)) (company-auctex-init))) +(defcustom prelude-latex-fast-math-entry 'LaTeX-math-mode + "Method used for fast math symbol entry in LaTeX." + :link '(function-link :tag "AUCTeX Math Mode" LaTeX-math-mode) + :link '(emacs-commentary-link :tag "CDLaTeX" "cdlatex.el") + :group 'prelude + :type '(choice (const :tag "None" nil) + (const :tag "AUCTeX Math Mode" LaTeX-math-mode) + (const :tag "CDLaTeX" cdlatex))) + ;; AUCTeX configuration (setq TeX-auto-save t) (setq TeX-parse-self t) @@ -65,7 +76,10 @@ "Default Prelude hook for `LaTeX-mode'." (turn-on-auto-fill) (abbrev-mode +1) - (smartparens-mode +1)) + (smartparens-mode +1) + (case prelude-latex-fast-math-entry + (LaTeX-math-mode (LaTeX-math-mode 1)) + (cdlatex (turn-on-cdlatex)))) (setq prelude-latex-mode-hook 'prelude-latex-mode-defaults) diff --git a/modules/prelude-ocaml.el b/modules/prelude-ocaml.el index 913530e..2514a00 100644 --- a/modules/prelude-ocaml.el +++ b/modules/prelude-ocaml.el @@ -38,18 +38,26 @@ (require 'utop) (require 'merlin) -(add-hook 'tuareg-mode-hook 'tuareg-imenu-set-imenu) - (setq auto-mode-alist (append '(("\\.ml[ily]?\\'" . tuareg-mode) ("\\.topml\\'" . tuareg-mode)) auto-mode-alist)) -(autoload 'utop-setup-ocaml-buffer "utop" "Toplevel for OCaml" t) - (add-hook 'tuareg-mode-hook 'utop-setup-ocaml-buffer) (add-hook 'tuareg-mode-hook 'merlin-mode) +(add-hook 'tuareg-mode-hook (lambda () + (progn + (define-key tuareg-mode-map (kbd "C-c C-s") + 'utop)))) + +;; Setup merlin completions company is used by default in prelude +(add-to-list 'company-backends 'merlin-company-backend) + +;; But merlin also offers support for autocomplete, uncomment this next line +;; to activate it. +;; (setq merlin-use-auto-complete-mode t) + (setq utop-command "opam config exec \"utop -emacs\"" merlin-error-after-save nil)