Soonho Kong
ce0aed12ec
fix(emacs/Cask): add GNU package repository
...
Related issue #410
2015-01-30 02:52:55 -05:00
Soonho Kong
d69505a092
doc(emacs/README.md): add GNU package repository
...
flycheck uses let-alist package which is in GNU repository. @awody reported a problem and I hope that this can help (I'll test it later).
Reference: https://github.com/flycheck/flycheck/issues/551
Related issue: #410
2015-01-30 02:52:05 -05:00
Leonardo de Moura
e2c41fca75
feat(frontends/lean): modify syntax for local notation
...
The idea is to make it uniform with the syntax for defining local
attributes.
2015-01-26 11:51:17 -08:00
Leonardo de Moura
b4d6f6e3ed
feat(frontends/lean): 'attribute' command is persistent by default
2015-01-26 11:51:17 -08:00
Leonardo de Moura
4f2e0c6d7f
refactor(frontends/lean): add 'attribute' command
...
The new command provides a uniform way to set declaration attributes.
It replaces the commands: class, instance, coercion, multiple_instances,
reducible, irreducible
2015-01-24 20:23:21 -08:00
Soonho Kong
901c9bf67a
refactor: rename ltags => leantags
...
fix #394
2015-01-18 13:44:41 +09:00
Leonardo de Moura
30817aa2b1
feat(emacs): allow user to provide extra commands to lean-server
2015-01-15 16:54:55 -08:00
Leonardo de Moura
b172229a72
feat(frontends/lean): add 'match' expressions
...
We reuse the equations infrastructure to compile them.
2015-01-10 10:11:13 -08:00
Soonho Kong
f370871574
fix(emacs/lean-syntax): highlight axioms
...
fix #382
2014-12-30 14:25:19 -05:00
Leonardo de Moura
d2958044fd
feat(frontends/lean): add multiple_instances command
...
After this commit, Lean "cuts" the search after the first instance is
computed. To obtain the previous behavior, we must use the new command
multiple_instances <class-name>
closes #370
2014-12-21 17:28:44 -08:00
Leonardo de Moura
6f78315aa4
refactor(*): add uniform names for "meta-objects"
2014-12-17 11:42:14 -08:00
Leonardo de Moura
d09bc95eaf
feat(emacs): add Type0 highlight
2014-12-05 22:14:28 -08:00
Leonardo de Moura
71e1555eb4
feat(emacs): use lean-mode for .hlean
2014-12-05 14:33:22 -08:00
Leonardo de Moura
e868ecce36
feat(frontends/lean): parse recursive equations
2014-12-04 17:03:21 -08:00
Leonardo de Moura
0f854f592c
fix(emacs): disable abbreviation mode that was expanding "def" into "definition"
2014-12-03 17:24:29 -08:00
Leonardo de Moura
8dfd22e66c
feat(frontends/lean): add 'prelude' command, and init directory
2014-11-30 17:03:08 -08:00
Leonardo de Moura
c08f4672e4
feat(library/tactic): add 'assert' tactic, closes #349
2014-11-29 21:34:49 -08:00
Leonardo de Moura
f51fa93292
feat(library/tactic): add 'fapply' tactic, closes #356
2014-11-29 19:20:41 -08:00
Leonardo de Moura
ad0dfb4c64
fix(emacs): syntax highlight for 'cases ... with ...'
2014-11-28 22:41:46 -08:00
Leonardo de Moura
c2602baf2b
feat(library/tools/tactic): add 'cases' alias for 'inversion' tactic
2014-11-28 19:33:11 -08:00
Leonardo de Moura
f8fa9f3344
feat(emacs): highlight 'inversion' tactic
2014-11-27 10:26:32 -08:00
Leonardo de Moura
4bee7554a3
chore(lean-mode): remove 'annoying' abbreviations
2014-11-26 14:50:26 -08:00
Leonardo de Moura
63eafaae9a
feat(emacs): add syntax-highlight for clear and revert tactics
2014-11-26 14:33:28 -08:00
Leonardo de Moura
ea63136434
fix(src/emacs/lean-flycheck): do not report 'sorry' warnings to flycheck, this is a temporary workaround since there is an overlap between flycheck and lean-mode type info
2014-11-26 09:35:22 -08:00
Leonardo de Moura
a005c8f4d0
feat(frontends/lean): display eval/check/find_decl results using flycheck
2014-11-24 08:35:49 -08:00
Soonho Kong
fe638f0ee7
fix(emacs/lean-flycheck): fix bug in advice for lean-flycheck-try-parse-error-with-pattern
...
I provided an "advice" for 'flycheck-try-parse-error-with-pattern'
function to change its behavior, namely to increase error-columns by
one.
Bug
===
The problem is that it doesn't consider the case where the pattern is
not matched and ends up with "err = nil". For this case,
"(flycheck-error-column err)" generates an exception if executed. The
whole error parsing process stops immediately.
This causes a problem when we have more than one error-patterns, which
is the case when we enable 'error' and 'warning' patterns.
Fix
===
Fix is simple: check err before executing (flycheck-error-column err)
- (col (flycheck-error-column err)))
+ (col (and err (flycheck-error-column err))))
2014-11-24 05:06:51 -05:00
Leonardo de Moura
f1e915a188
feat(frontends/lean): add 'find_decl' command
2014-11-23 23:00:59 -08:00
Leonardo de Moura
13fba433b0
feat(library/tactic/generalize): add 'generalizes' syntax sugar, closes #327
2014-11-23 17:30:22 -08:00
Leonardo de Moura
47b6cfb28d
feat(library/logic/if): add dependent if-then-else: dite
2014-11-22 09:56:32 -08:00
Leonardo de Moura
28c63e685b
feat(frontends/lean): add '[local]' notation, closes #322
2014-11-16 21:15:04 -08:00
Leonardo de Moura
50973bb4f3
feat(frontends/lean): default 'eval' command ignores opaque/irreducible annotations
...
To retrieve the previous behavior, we should use [strict] modifier
2014-11-10 12:46:04 -08:00
Leonardo de Moura
bd5f3ec572
feat(emacs/lean-syntax): highlight [decls] modifier
2014-11-10 10:35:42 -08:00
Soonho Kong
d25e74b921
fix(emacs/lean-mode): remove whitespace-cleanup-mode dependency
...
- When customization variable 'lean-delete-trailing-whitespace' is
non-nil, trailing-whitespaces are removed before save.
- It doesn't change TABs.
Close #226
2014-11-09 00:21:43 -05:00
Soonho Kong
36476b9115
fix(lean-util): handle case where incomplete hierarchical name ends with "."
...
Close #311
2014-11-08 23:46:59 -05:00
Leonardo de Moura
c7992f2cac
feat(frontends/lean): add [whnf] modifier to eval command
2014-11-08 10:19:29 -08:00
Soonho Kong
d861c78072
fix(emacs/lean-syntax): change comment symbols to be considered as punctuations
...
Please read the documentation of "modify-syntax-entry":
"The first character of NEWENTRY should be one of the following:
_ symbol constituent
. punctuation
"
Close : #306
2014-11-07 17:48:21 -05:00
Soonho Kong
18a41eb962
feat(emacs/lean-mode): bind "C-c C-k" to quail-show-key
...
- Use this to see how to type a unicode character
2014-11-07 17:28:21 -05:00
Leonardo de Moura
85d0521d48
feat(frontends/lean): add '[parsing-only]' modifier to notation declarations, closes #305
2014-11-06 21:34:05 -08:00
Leonardo de Moura
ed83b7ff2a
fix(emacs/lean-syntax): syntax highlight, issue #306
...
1- FIXED structure foo := (bar : Type) -- the name of structures is not highlighted
2- NOT FIXED check foo-- this comment is not highlighted
3- FIXED check Type.{5} -- Type is not highlighted
4- FIXED definition bar{thisishighlighted : Type} := foo
5- FIXED definition bar2 {thetypeofthisvariableisnothighlighted :Type} := foo
Have no idea what is going on with 2. I'm not sure if this is our bug,
or Emacs code we depend on.
2014-11-06 20:59:31 -08:00
Leonardo de Moura
4650791108
feat(frontends/lean): add 'print fields' command
2014-11-05 14:06:54 -08:00
Leonardo de Moura
defc2478b5
feat(frontends/lean): add 'record' as an alias for 'structure' command
2014-11-05 12:02:52 -08:00
Soonho Kong
e71db7109d
fix(emacs/lean-mode.el): remove quotation marks in lean-execute
...
Close #294
2014-11-05 09:20:14 -05:00
Leonardo de Moura
c6c090eda6
feat(src/emacs/lean-mode): add shortcut for restarting lean server
2014-11-04 18:01:20 -08:00
Soonho Kong
2273f75e9b
fix(emacs/lean-mode): handle when there is spaces in filenames
2014-11-04 19:22:35 -05:00
Leonardo de Moura
101e9966fd
fix(emacs/lean-syntax): bug in syntax highlight, examples do not have names
2014-11-03 18:32:18 -08:00
Leonardo de Moura
1e6f7cdbb4
chore(frontends/lean/decl_cmds): add 'example' command
...
It is like a theorem, but it is discarded after checking
2014-11-01 11:37:39 -07:00
Soonho Kong
cae543e665
chore(emacs): remove unnecessary requires
2014-10-31 16:01:10 -07:00
Soonho Kong
96f620adf6
doc(README.md): add Aquamacs case, ask to update lean-rootdir
...
[skip ci]
2014-10-31 09:58:15 -07:00
Leonardo de Moura
591e566472
feat(frontends/lean): try to inject symmetry (if needed) in calc proofs, add calc_symm command for configuring the symmetry theorem for a given operator
...
This is part of #268
2014-10-30 23:24:09 -07:00
Soonho Kong
b7d805a145
feat(emacs/lean-settings): add 'lean-follow-changes' option
2014-10-29 23:58:50 -07:00
Leonardo de Moura
9547e2d077
feat(library/tactic): add rotate_left/rotate_right tactics, closes #278
2014-10-29 19:13:55 -07:00
Soonho Kong
5ad312f6ce
test(emacs/lean-info-test): add test cases for goal visualization
...
[skip ci]
2014-10-29 17:09:08 -07:00
Soonho Kong
6973d3e7aa
feat(emacs/lean-info): add goal visualization options 'lean-proofstate-display-style'
...
lean-proofstate-display-style:
- 'show-all: Show all goals
a : Prop,
b : Prop,
c : Prop,
H_1 : a,
H_2 : b,
H_3 : c
⊢ id a
a : Prop,
b : Prop,
c : Prop,
H_1 : a,
H_2 : b,
H_3 : c
⊢ b ∧ c
- 'show-first: Show only the first
a : Prop,
b : Prop,
c : Prop,
H_1 : a,
H_2 : b,
H_3 : c
⊢ id a
- 'show-first-and-other-conclusions: Show the first goal, and the
conclusions of all other goals (DEFAULT OPTION)
a : Prop,
b : Prop,
c : Prop,
H_1 : a,
H_2 : b,
H_3 : c
⊢ id a
⊢ b ∧ c
Close #279
2014-10-29 17:08:55 -07:00
Leonardo de Moura
b0a7888346
fix(emacs/lean-flycheck): should accept error messages with empty lines
2014-10-29 16:51:06 -07:00
Soonho Kong
854e7ba1be
fix(emacs/lean-type): improve displaying proof state messages
...
- Do not repeat the same message
- Do not display the empty message
- Do not display "[stale]" for proof states
2014-10-29 16:02:48 -07:00
Soonho Kong
99f85c8dbc
fix(emacs/lean-info): proofstate display problem
2014-10-29 14:33:05 -07:00
Soonho Kong
fe710ac6d0
test(emacs/lean-info-test): add test for proofstate info
2014-10-29 14:33:05 -07:00
Soonho Kong
17455d191b
feat(emacs/lean-mode): add lean-info-mode for "*lean-info*" buffer
2014-10-29 14:33:05 -07:00
Soonho Kong
12824c3e27
fix(emacs/lean-syntax): fix Type1, Type2 highlight
2014-10-29 14:33:05 -07:00
Soonho Kong
b0e249ce63
feat(emacs/lean-type): output INFO to *lean-info* buffer in addition to minibuffer
...
Close #260
2014-10-29 14:33:05 -07:00
Soonho Kong
0d8658d762
feat(emacs/lean-settings): add lean-show-proofstate-in-minibuffer option
2014-10-29 14:33:05 -07:00
Soonho Kong
53f79ec9c2
feat(emacs): extract proof state information attached to ","
2014-10-29 14:33:05 -07:00
Soonho Kong
fdf5f3ff8a
feat(emacs/lean-info): add PROOF_STATE info
...
Close #259
2014-10-29 14:33:05 -07:00
Soonho Kong
cb83eca2f3
feat(emacs/lean-input): add lean-input-export-translations
2014-10-29 14:33:05 -07:00
Leonardo de Moura
e22eb3543c
feat(library/tactic): add whnf tactic, closes #270
2014-10-28 23:18:49 -07:00
Leonardo de Moura
08e8161243
feat(emacs/lean-syntax): add 'eassumption' highlight
2014-10-26 15:45:26 -07:00
Leonardo de Moura
50948be66b
fix(emacs/lean-syntax): syntax highlight for composite names in declarations
2014-10-26 09:27:17 -07:00
Leonardo de Moura
79d0347721
feat(library/tactic): add generalize tactic, closes #34
...
Remark: the intros tactic has been added in a different commit: 7d0100a340
2014-10-23 22:40:15 -07:00
Soonho Kong
04b4e36701
doc(emacs/README.md): fix typo
...
[skip ci]
2014-10-23 14:32:36 -07:00
Leonardo de Moura
c50227ea6e
feat(library/tactic): change apply tactic semantics: goals are not reversed; and dependent arguments are not included
...
This commit also adds the tactic rapply that corresponds to the previous
semantics we have been using.
2014-10-22 18:11:09 -07:00
Leonardo de Moura
e95c7c5f70
refactor(library/tactic/rename_tactic): use new 'tactic.expr' to implement 'intro/intros' tactic
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-10-22 17:29:50 -07:00
Leonardo de Moura
bb953b80aa
feat(frontends/lean): reserve notation, closes #95
2014-10-21 15:39:47 -07:00
Leonardo de Moura
92acd9affc
chore(emacs): do not highlight arbitrary types
2014-10-20 19:17:02 -07:00
Leonardo de Moura
7d0100a340
feat(library/tactic): add 'intros' tactic
2014-10-20 15:26:16 -07:00
Soonho Kong
4143716311
fix(emacs/lean-util): fix lean-path-list to only include existing dirs
...
Fix #246
2014-10-14 20:48:56 -07:00
Leonardo de Moura
e6606ef2ac
feat(library/tactic): add 'rename' hypothesis tactic
2014-10-14 18:19:34 -07:00
Soonho Kong
343a9a690e
feat(emacs/lean-type): add lean-show-type-add-to-kill-ring option
...
If a customization option 'lean-show-type-add-to-kill-ring' is non-nil
and a user runs 'lean-show-type' by explicitly typing 'C-c C-t',
lean-mode saves the displayed type information message into kill-ring
, which can be pasted by yank (C-y) command.
Close #245
2014-10-14 09:27:25 -07:00
Leonardo de Moura
ab90a350b3
fix(emacs/lean-syntax): syntax highlight for declarations with explicit universes
2014-10-13 06:52:36 -07:00
Leonardo de Moura
6a40f80612
fix(emacs/lean-syntax): glitch on syntax highlight
2014-10-11 10:56:28 -07:00
Leonardo de Moura
402a351937
feat(frontends/lean): add 'universes' command
2014-10-10 08:45:59 -07:00
Floris van Doorn
1612070350
feat(lean-input.el): add some new notation
2014-10-08 23:14:44 -07:00
Soonho Kong
24227f0e51
feat(emacs/lean-settings): enable linja '--keep-going' option
...
Fix #234
2014-10-08 13:12:16 -07:00
Soonho Kong
b6d475c3ac
fix(emacs/lean-project): use better prompt message for lean-project-create
2014-10-08 13:04:31 -07:00
Soonho Kong
d542771ba1
doc(emacs/README.md): add 'Unicode' subsection in 'Known Issues' section
2014-10-08 10:43:58 -07:00
Soonho Kong
8c0f01ac34
doc(emacs/README.md): do package-refresh-contents only once
...
Close #233
2014-10-08 10:41:52 -07:00
Leonardo de Moura
d8572e249d
feat(frontends/lean/builtin_cmds): add 'print classes' command
2014-10-07 17:30:57 -07:00
Soonho Kong
78e9854bae
fix(emacs): support tabs in a file
...
Fix #226
2014-10-07 14:42:35 -07:00
Soonho Kong
013cd5640e
fix(CMakeLists.txt): rename EMACS_LIB to EMACS_LISP_DIR (default: share/eamcs/site-lisp/lean)
2014-10-07 12:30:39 -07:00
Leonardo de Moura
dc0e6861b7
fix(emacs/lean-mode): wrong pp highlighting, fixes #225
2014-10-07 02:32:59 -07:00
Soonho Kong
286aae933c
chore(CMakeLists.txt): add EMACS_LIB option to specify installation path for emacs stuff
2014-10-06 11:20:13 -07:00
Leonardo de Moura
16562adb87
feat(frontends/lean): add 'coercions' and 'instances' to 'print' command, closes #71
2014-10-05 18:50:48 -07:00
Leonardo de Moura
1306d08399
feat(emacs/lean-input): add shortcuts for subscripts
2014-10-05 13:34:05 -07:00
Soonho Kong
7ea9c32ec8
feat(emacs/lean-server): send SYNC command when visiting a modified buffer
...
Close #201
2014-10-03 10:11:21 -07:00
Soonho Kong
b78043ae24
feat(emacs/lean-mode): add 'clean-cache' to the menu
...
Related issue: #75
2014-10-03 10:11:21 -07:00
Soonho Kong
fffb4e6019
feat(emacs/lean-server): delete cache file (.clean) after visit/load
...
fix #75
2014-10-03 10:11:21 -07:00
Soonho Kong
e255b02fca
fix(emacs/lean-changes): visit file before process any changes
...
This solves many instances of the modified buffer problem.
2014-10-03 10:11:21 -07:00
Leonardo de Moura
c0725d1934
refactor(frontends/lean): remove 'including' expressions
2014-10-03 09:09:27 -07:00
Leonardo de Moura
284f300440
feat(frontends/lean): add 'include' and 'omit' commands, closes #184
2014-10-03 07:23:24 -07:00
Leonardo de Moura
4946f55290
refactor(frontends/lean): constant/axiom are top-level commands, parameter/variable/hypothesis/conjecture are section/context-level commands
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-10-02 17:55:34 -07:00
Soonho Kong
91f789c3db
feat(emacs/lean-cmd): add SYNC command
2014-10-02 17:30:03 -07:00