Soonho Kong
fdc20800ca
chore(emacs/lean-server): clean up debugging message
2014-09-03 10:12:17 -07:00
Soonho Kong
e802883b03
feat(emacs/lean-option): show the current value of an option
...
close #125
2014-09-03 08:09:41 -07:00
Soonho Kong
975841e53b
feat(emacs): use lexical scope for lean-info and lean-server
2014-09-03 00:54:42 -07:00
Soonho Kong
b25288545e
feat(emacs/lean-info): add coercion and stale in type info
...
Close #124
2014-09-03 00:50:31 -07:00
Soonho Kong
88410bf278
feat(emacs/lean-server): support SHOW and VALID
...
Implement lean-server-show and lean-server-valid functions.
Close #116
2014-09-03 00:50:31 -07:00
Soonho Kong
72e1dfa296
feat(emacs): implement non-blocking communication
...
The key idea is to pass a continuation function when we call
lean-server-send-cmd function. The passed continuation function is
called by lean-server-event-handler. Until the buffer is ready, the
event handler will be called in interval (lean-server-retry-time, 0.1
sec by default). When we have 'NAY' for INFO command, it will re-send
INFO commands to lean-server until we have one without 'NAY'.
Close #123
2014-09-03 00:50:31 -07:00
Soonho Kong
53390faebc
chore(emacs/lean-mode): remove lean-tab function
2014-09-03 00:50:31 -07:00
Soonho Kong
78437331c2
fix(emacs/lean-syntax.el): highlight "parameter (" properly
...
fix #122
2014-09-02 15:09:49 -07:00
Leonardo de Moura
0f9478d91e
feat(frontends/lean): add 'class' command back
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-09-02 15:04:23 -07:00
Soonho Kong
b05aeb112b
fix(emacs/lean-mode): Bind TAB with lean-tab-indent-or-compliete
2014-09-02 17:02:35 -04:00
Soonho Kong
b4a80f83af
feat(emacs/lean-server): accept "BEGININFO .*" pattern
2014-09-02 10:37:03 -07:00
Soonho Kong
cec2f8e466
feat(emacs/lean-mmm-lua.el): add mmm-mode to syntax-highlight lua code
...
in lean-mode
Close #74
2014-09-02 10:37:03 -07:00
Soonho Kong
a08ad99dba
feat(emacs/lean-cmd): add lean-clear-cache
...
Close #99
2014-09-01 22:58:52 -07:00
Soonho Kong
50465a2d06
feat(emacs/lean-option): provide candidates and validation for lean-set-option
...
Close #106
2014-09-01 18:31:12 -07:00
Soonho Kong
fc2cbbe216
chore(emacs/lean-mode): add package info
2014-09-01 18:28:15 -07:00
Soonho Kong
246d4224bc
feat(emacs/lean-tags): call "linja TAGS" to make TAGS
...
fix #117
2014-08-30 14:58:48 -07:00
Soonho Kong
26d548a069
feat(emacs/lean-mode): add lean-tab-indent-or-complete
...
Close #105
2014-08-30 14:57:34 -07:00
Soonho Kong
d393771d8a
feat(emacs/eri.el): add eri.el (from agda mode)
2014-08-30 14:57:34 -07:00
Soonho Kong
a47dada27f
feat(emacs/lean-server): add 'SLEEP ms' for trace
2014-08-30 07:51:53 -07:00
Soonho Kong
ad1111cb21
feat(emacs/lean-server): add *lean-server-trace* buffer
...
Fix #115 .
2014-08-30 07:38:12 -07:00
Soonho Kong
543fdf840e
fix(emacs/lean-mode): add comment-start "--"
...
fix #113
2014-08-29 20:12:22 -07:00
Soonho Kong
36c632f48d
doc(emacs/README.md): clean up
...
[skip ci]
2014-08-29 15:22:06 -07:00
Soonho Kong
e966aa3145
feat(emacs/lean-settings): use linja for flycheck
2014-08-29 10:31:16 -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
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
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
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
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