lean2/src/emacs
Leonardo de Moura 6a6f6ed439 feat(emacs/lean-syntax): add syntax-highlight for declaration modifiers
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-09-03 15:26:21 -07:00
..
CMakeLists.txt feat(emacs): include lean-mode Emacs files in the distribution 2014-01-09 11:50:07 -08:00
eri.el feat(emacs/eri.el): add eri.el (from agda mode) 2014-08-30 14:57:34 -07:00
lean-cmd.el feat(emacs/lean-server): support SHOW and VALID 2014-09-03 00:50:31 -07:00
lean-company.el feat(emacs/README.md): add elisp which installs required packages 2014-08-26 17:16:16 -07:00
lean-debug.el feat(emacs): implement lean-show-type 2014-08-13 17:02:49 -07:00
lean-flycheck.el refactor(emacs/lean-flycheck): remove lean-flycheck-initialized 2014-08-26 16:22:31 -07:00
lean-info.el fix(emacs/lean-info): print stale when info is available 2014-09-03 10:28:37 -07:00
lean-input.el feat(library/hott): add basic HoTT definitions and theorems 2014-07-15 21:46:33 +01:00
lean-mmm-lua.el feat(emacs/lean-mmm-lua.el): add mmm-mode to syntax-highlight lua code 2014-09-02 10:37:03 -07:00
lean-mode.el chore(emacs/lean-mode): remove lean-tab function 2014-09-03 00:50:31 -07:00
lean-option.el feat(emacs/lean-option): show the current value of an option 2014-09-03 08:09:41 -07:00
lean-server.el chore(emacs/lean-server): clean up debugging message 2014-09-03 10:12:17 -07:00
lean-settings.el feat(emacs): implement non-blocking communication 2014-09-03 00:50:31 -07:00
lean-syntax.el feat(emacs/lean-syntax): add syntax-highlight for declaration modifiers 2014-09-03 15:26:21 -07:00
lean-tags.el feat(emacs): implement non-blocking communication 2014-09-03 00:50:31 -07:00
lean-type.el feat(emacs/lean-option): show the current value of an option 2014-09-03 08:09:41 -07:00
lean-util.el feat(emacs/lean-tags): try to find TAGS file upward and use it without asking 2014-08-26 16:22:32 -07:00
lean-variable.el feat(emacs/lean-option): show the current value of an option 2014-09-03 08:09:41 -07:00
README.md doc(emacs/README.md): clean up 2014-08-29 15:22:06 -07:00

lean-mode

Emacs mode for lean theorem prover

Requirement

lean-mode requires Emacs 24 and following (optional) packages which can be installed via M-x package-install.

Install

Put the following elisp code on your emacs setup (e.g. .emacs.d/init.el):

(require 'package)
(add-to-list 'package-archives
             '("melpa" . "http://melpa.milkbox.net/packages/") t)
(package-initialize)
(package-refresh-contents)

;; Install required packages for lean-mode
(defvar lean-mode-required-packages
  '(company dash dash-functional flycheck whitespace-cleanup-mode fill-column-indicator))
(dolist (p lean-mode-required-packages)
  (when (not (package-installed-p p))
    (package-install p)))

;; Set up lean-root path
(setq lean-rootdir "~/projects/lean")
(setq-local lean-emacs-path
            (concat (file-name-as-directory lean-rootdir)
                    (file-name-as-directory "src")
                    "emacs"))
(add-to-list 'load-path (expand-file-name lean-emacs-path))
(require 'lean-mode)

;; Customization for lean-mode
(customize-set-variable 'lean-delete-trailing-whitespace t)
(customize-set-variable 'lean-flycheck-use t)
(customize-set-variable 'lean-eldoc-use t)

Key Bindings

Key Function
C-c C-x lean-std-exe
C-c C-l lean-std-exe
C-c C-t lean-eldoc-documentation-function
C-c C-f lean-fill-placeholder
M-. lean-find-tag
TAB lean-complete-tag
C-c C-o lean-set-option
C-c C-e lean-eval-cmd