Leonardo de Moura
b51fa2b547
chore(library): minor cleanup
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-28 13:04:17 -07:00
Leonardo de Moura
d9fa9f1039
feat(src/emacs/lean-syntax.el): add commonly used operators
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-28 13:03:22 -07:00
Leonardo de Moura
f98ab2a8ff
fix(src/emacs/lean-syntax.el): remove obsolete command set_opaque
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-28 11:16:29 -07:00
Leonardo de Moura
d536475e49
refactor(library): more implicit_args for: and_assoc, and_comm, or_assoc, or_comm, if_pos, if_neg
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-28 11:10:04 -07:00
Leonardo de Moura
6b7e79b62f
feat(library/data/nat): mark more arguments implicit
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-28 10:38:58 -07:00
Leonardo de Moura
b3615d5c8b
fix(src/emacs): add 'begin' reserved keyword
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-28 09:33:09 -07:00
Leonardo de Moura
8de9cab62d
test(tests/lean/interactive): add --server test
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-28 07:41:38 -07:00
Leonardo de Moura
823a3a7c56
feat(frontends/lean/server): add ECHO command for debugging purposes
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-28 07:40:02 -07:00
Leonardo de Moura
1a8eb9799e
feat(frontends/lean/server): preserve info that occurs in columns before first changed column
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-27 21:09:52 -07:00
Jeremy Avigad
00a049a667
refactor(library/logic): rename connectives -> core, basic -> connectives
2014-08-27 18:43:24 -07:00
Leonardo de Moura
2d78387541
refactor(library/logic/basic): rename absurd_elim to absurd, delete contrapos and trivial_not_true theorems
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-27 18:34:09 -07:00
Leonardo de Moura
477b7b4811
fix(tests/lean/run/class_coe): adjust test to reflect library changes
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-27 17:55:42 -07:00
Leonardo de Moura
8df5fc0623
fix(frontends/lean/server): compilation warning
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-27 17:53:00 -07:00
Jeremy Avigad
1011a8022c
refactor(library/logic/connectives): make dependence prop <- eq <- basic
2014-08-27 20:46:07 -04:00
Leonardo de Moura
8719dff361
fix(frontends/lean): distribute '@' over choice
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-27 16:31:18 -07:00
Leonardo de Moura
19c14fcca7
refactor(frontends/lean/server): refactor lean info server, closes #90 , closes #69
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-27 14:53:16 -07:00
Leonardo de Moura
c7e9e238ec
fix(frontends/lean/server): ignore output produced by worker thread, fixes #98
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-27 10:46:49 -07:00
Leonardo de Moura
fab4eb0d69
feat(frontends/lean/server): add CLEAR_CACHE command, closes #100
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-27 10:31:01 -07:00
Leonardo de Moura
f4c7154825
feat(util/lean_path): throws an exception if there is an ambiguity when importing a module
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-27 10:18:35 -07:00
Leonardo de Moura
9484ab6a04
fix(util/lean_path): if directory 'foo' does not contain 'default.lean', then we should also check whether the file 'foo.lean' exists or not, fixes #102
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-27 09:04:03 -07:00
Leonardo de Moura
e7fd8f54c4
fix(library/Makefile): ignore flycheck generated files in the Makefile, fixes #101
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-27 08:36:32 -07:00
Soonho Kong
f8d2ed7936
feat(emacs/lean-type): maintain nay-retry timer
2014-08-27 00:48:55 -07:00
Soonho Kong
224a4feba2
fix(emacs/lean-type): problem with lean-eldoc-nay-retry-time
...
If (current-idle-time) is non-zero, we need to set a timer to run
eldoc-documentation-function again when idle-time = (current-idle-time)
+ retry-delay.
2014-08-26 23:58:02 -07:00
Soonho Kong
a1a14cf425
fix(emacs/lean-info): handle when both identifier and symbol info exist
...
Example: library/data/int/basic.lean file (398, 22)
The '+' symbol is attached with both of identifier info and symbol info
-- SYMBOL|398|22
+
-- ACK
-- IDENTIFIER|398|22
int.add
-- ACK
2014-08-26 22:32:57 -07:00
Soonho Kong
b9c1b1e186
fix(emacs/lean-info): type of a symbol at the end of buffer
2014-08-26 22:32:57 -07:00
Leonardo de Moura
a8d58fdd33
refactor(library): mark absurd_elim argument as implicit
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-26 18:27:39 -07:00
Leonardo de Moura
dd99e60a00
refactor(frontends/lean/info_manager): store environment+options in the info_manager, fixes #96
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-26 18:07:09 -07:00
Leonardo de Moura
9bea23111f
feat(library/logic/connectives/basic): add not_not_em theorem
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-26 18:07:09 -07:00
Leonardo de Moura
0099a7b224
refactor(library/logic/connectives/eq): simplify eq_rec_on_id proof
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-08-26 18:07:09 -07:00
Soonho Kong
1de515f693
feat(emacs/lean-mode): clean up old generic-mode
2014-08-26 17:16:16 -07:00
Soonho Kong
665a8f3ecb
feat(emacs/lean-server): handle signal
2014-08-26 17:16:16 -07:00
Soonho Kong
0426d04cb9
feat(emacs/README.md): add elisp which installs required packages
2014-08-26 17:16:16 -07:00
Soonho Kong
83f05e104a
fix(emacs/lean-server): fix ERROR regex pattern
2014-08-26 16:22:32 -07:00
Soonho Kong
682b13a906
feat(emacs/lean-mode): run eldoc-documentation-function at openning
2014-08-26 16:22:32 -07:00
Soonho Kong
c77e5c6b34
feat(emacs/lean-tags): try to find TAGS file upward and use it without asking
2014-08-26 16:22:32 -07:00
Soonho Kong
dfab827d22
feat(emacs/lean-tags): attach advice to tag functions to run ltags
2014-08-26 16:22:32 -07:00
Soonho Kong
1f0bfb67b0
feat(emacs/lean-tags): use full-name to look up tags
2014-08-26 16:22:32 -07:00
Soonho Kong
fa8e610d4f
fix(bin/ltags): use full name for tag-name
2014-08-26 16:22:32 -07:00
Soonho Kong
3d3669e45e
feat(emacs/lean-mode): add key-bindings, deps
2014-08-26 16:22:32 -07:00
Soonho Kong
dd5231d6a7
fix(emacs/lean-server): check current-file before send EVAL
2014-08-26 16:22:32 -07:00
Soonho Kong
f7ff5ec3d6
fix(emacs/lean-server): when handle dead lean-server
2014-08-26 16:22:32 -07:00
Soonho Kong
5965bcc10b
refactor(emacs/lean-server): lean-server-check-current-file takes file-name
2014-08-26 16:22:31 -07:00
Soonho Kong
cc1d44e541
feat(emacs/lean-type): implement lean-set-option and lean-eval-cmd
...
close #55
2014-08-26 16:22:31 -07:00
Soonho Kong
50063b659b
refactor(lean-variable): init server-buffer and current-file-name with nil
2014-08-26 16:22:31 -07:00
Soonho Kong
f82f0377ff
feat(emacs/lean-cmd): add cmd-to-string for SET/EVAL
2014-08-26 16:22:31 -07:00
Soonho Kong
292750c4c9
feat(emacs/lean-type): add SET/EVAL commands
2014-08-26 16:22:31 -07:00
Soonho Kong
679a034277
feat(emacs/lean-mode): use define-derived-mode
2014-08-26 16:22:31 -07:00
Soonho Kong
c1ed9b1293
refactor(emacs/lean-type): clean up eldoc-function and fill-placeholder
2014-08-26 16:22:31 -07:00
Soonho Kong
7ea5c9541d
feat(emacs/lean-info): use cl-struct lean-info-record
2014-08-26 16:22:31 -07:00
Soonho Kong
ccc1f89f61
refactor(emacs/lean-server): use global-server-message-to-process
...
We are using asynchronous process mechanism to communicate between
lean-server and emacs. A sender function like
lean-eldoc-documentation-function sends a command and waits until
lean-global-server-message-to-process is non-nil. When a message is
received from lean-server, a filter function lean-server-output-filter
is triggered. This filter function concatenates a received message to
the buffer until it sees the end of message markers (--
END[INFO|SET|EVAL]). When it sees a marker, it splits the buffer
messages into pre, body, and post parts. Then it assembles a message to
process and attaches the message to
lean-global-server-message-to-process variable. A sender function which
is watching for the variable will recognize it, exit the polling, and
process the message.
2014-08-26 16:22:31 -07:00