Commit graph

764 commits

Author SHA1 Message Date
Sebastian Ullrich
a04a402f54 feat(emacs): highlight escaped identifiers 2017-06-28 10:43:19 -07:00
Leonardo de Moura
8f4e3f911d fix(src/emacs/lean-syntax): instances is not a keyword anymore 2017-06-27 10:38:59 -07:00
Gabriel Ebner
c9aacf396e fix(emacs/lean-hole): fix end position computation
@leodemoura The problem with holes at the end of a file is now fixed.
2017-06-18 08:08:40 +02:00
David Christiansen
550f8bcacb fix(emacs): Improve cursor motion with output boxes
Part of making cursor motion consistent was getting rid of the
versions that float to the right. So now all command output is just
under the command.
2017-06-16 12:39:52 +02:00
David Christiansen
9169a7aaa3 feat(emacs): Add a right-click menu to the Emacs mode
The right-click menu is computed from a list of functions that produce
menu items based on Lean server information. Each menu item is a
string and a closure to be invoked if the menu item is selected.

There are currently two menu features: "Find definition" works where
M-. does, and on holes, the menu includes the hole commands from the
server.
2017-06-16 12:23:55 +02:00
David Christiansen
a7a2e9a997 feat(emacs): Make display of message boxes more compact
Message boxes are now displayed without caption (which is available in
a tooltip). Additionally, single-line messages are displayed to the
right of the line that caused them, instead of underneath.
2017-06-15 14:15:07 +02:00
David Christiansen
043fe41d38 feat(emacs): Immediately toggle display of messages in Emacs
Now, message display is toggled immediately rather than waiting for a
keypress.
2017-06-15 14:15:07 +02:00
David Christiansen
7b3a71b438 feat(emacs): Add the display of Lean messages in transient boxes
Informational output is usually seen in Flycheck in lean-mode. Now, it
can also be displayed in transient boxes that are not really part of
the buffer. This allows them to be quickly visually compared.
2017-06-15 14:15:07 +02:00
David Christiansen
27feb14f73 feat(emacs): Add a message hook to the Emacs mode
When the server protocol returns a message, call user-defined hooks
with that message. This enables custom display of messages in addition
to Flycheck.
2017-06-15 14:15:07 +02:00
Gabriel Ebner
a001e85d82 fix(frontends/lean/builtin_exprs): set hole position after final token 2017-06-15 11:35:43 +02:00
David Christiansen
f3b66b3cfb feat(emacs): Add support for the new holes feature to Emacs
Add the lean-hole command to Emacs, which queries the server for a
list of relevant hole commands, presents them to the user, and
executes the one that is selected.

The default keybinding is C-c SPC.
2017-06-15 10:27:43 +02:00
Johannes Hölzl
1352d4a5b3 feat(src/frontents/lean): support for coinduction command in frontend 2017-06-12 20:42:48 -07:00
Sebastian Ullrich
fd8c1de428 fix(emacs/lean-type): replace non-stable function 2017-06-08 22:58:51 +02:00
Sebastian Ullrich
85905ccbb8 fix(emacs/lean-type): do not update *Lean Goal* buffer if new state is empty 2017-06-08 11:31:01 +02:00
Sebastian Ullrich
587cf6c050 fix(emacs/lean-mode): update *Lean Goal* buffer on flycheck changes 2017-06-08 11:29:19 +02:00
Floris van Doorn
3af2a91112 doc(emacs): fix formatting 2017-05-25 17:03:42 -07:00
Gabriel Ebner
67190f565d fix(emacs): fix working directory for emacs 24 2017-05-22 21:13:41 +02:00
Gabriel Ebner
d33df6a063 fix(emacs): reduce refresh rate for task overlays 2017-05-01 14:11:39 -07:00
Gabriel Ebner
40fc254760 feat(emacs/lean-server): reduce delays 2017-05-01 14:11:39 -07:00
Gabriel Ebner
504a198517 feat(emacs): support leanpkg.path files 2017-05-01 14:11:38 -07:00
Gabriel Ebner
c8bb77a3df fix(emacs): demote errors 2017-05-01 14:11:38 -07:00
Leonardo de Moura
74550fbebc feat(library/init/core): add notation for out_param 2017-05-01 13:52:17 -07:00
Sebastian Ullrich
39a2ada9e7 fix(emacs/lean-type): cache docs to remove eldoc flickering 2017-04-23 11:26:31 -07:00
Sebastian Ullrich
643d68e89a fix(emacs/lean-type): use correct function for 'sticky' eldoc messages 2017-03-31 09:40:48 -07:00
Leonardo de Moura
40481b89db chore(emacs/lean-syntax): update 2017-03-30 16:47:44 -07:00
Kai Ruemmler
aa86eda214 fix(emacs/lean-server): define-fringe-bitmap is only defined in graphics mode 2017-03-30 11:19:10 -07:00
Gabriel Ebner
122355aa32 fix(emacs/lean-server): emacs 24 compatibility 2017-03-24 08:28:32 -07:00
Gabriel Ebner
69f0d30452 fix(emacs/lean-server): update roi when user changes checking mode 2017-03-24 09:29:06 +01:00
Gabriel Ebner
e784fad8c6 feat(shell/server,emacs): add visible lines and above checking mode 2017-03-24 09:08:17 +01:00
Gabriel Ebner
33b55250a8 fix(emacs/lean-server): fix highlight pending tasks toggle 2017-03-24 07:35:14 +01:00
Gabriel Ebner
9db6d1d845 perf(emacs/lean-server): only render visible task overlays 2017-03-24 07:22:28 +01:00
Gabriel Ebner
f16c2c68db perf(emacs/lean-server): speed up task overlays 2017-03-24 07:22:28 +01:00
Gabriel Ebner
83c4b410be feat(emacs/lean-server): more awesome fringe highlighting 2017-03-24 07:22:28 +01:00
Gabriel Ebner
24e19bdd00 feat(emacs): add tooltip to task overlays 2017-03-24 07:22:28 +01:00
Gabriel Ebner
af588add56 fix(emacs/lean-server): correctly react to scrolling 2017-03-24 07:22:28 +01:00
Gabriel Ebner
14c24a66a1 feat(emacs): provide commands to change check mode 2017-03-23 09:07:09 +01:00
Gabriel Ebner
a6f7f31e85 refactor(shell,emacs): handle different checking modes in server 2017-03-23 09:07:09 +01:00
Sebastian Ullrich
1f07319bc7 fix(emacs/lean-server): Emacs 24 compatibility 2017-03-23 09:07:09 +01:00
Gabriel Ebner
e64c10dd20 feat(emacs): create all info buffers by default 2017-03-23 09:01:00 +01:00
Gabriel Ebner
1524979dbf feat(emacs,shell/server): add different region-of-interest options 2017-03-23 08:57:56 +01:00
Gabriel Ebner
10e354952b feat(emacs): do not call auto-completion on tab 2017-03-23 08:57:56 +01:00
Gabriel Ebner
aebd18f136 feat(shell/server): only compile region of interest 2017-03-23 08:57:56 +01:00
Gabriel Ebner
595cbb8fe9 refactor(*): task<T>, log_tree, cancellation_token 2017-03-23 08:57:52 +01:00
Sebastian Ullrich
e0856284b0 feat(frontends/lean,emacs): tactic info before elaboration, fix many edge cases 2017-03-17 18:20:44 -07:00
Sebastian Ullrich
421a6d6f01 feat(frontends/lean/interactive,emacs): highlight current tactic parameter 2017-03-17 18:20:44 -07:00
Sebastian Ullrich
9b5e7ddcda feat(frontends/lean/interactive,emacs): hide colon separator in front of pretty-printed types 2017-03-17 18:20:44 -07:00
Leonardo de Moura
1b48d51cdd fix(emacs/lean-syntax): new transient commands 2017-03-09 20:41:35 -08:00
Leonardo de Moura
9d3c0497cb chore(frontends/lean): rename transient commands
See issue #1432
2017-03-09 18:41:19 -08:00
Leonardo de Moura
5fa7d765ac chore(emacs/lean-server): remove leftover from experiment 2017-02-28 22:57:20 -08:00
Leonardo de Moura
17556758cb feat(library/constructions,library/inductive_compiler): automatically generate dependent eliminator for inductive predicates
The dependent eliminator for an inductive predicate C is called C.drec

TODO: construct dcases_on and drec_on using C.drec

We need this recursor for implementing dependent elimination for
inductive predicates.

We don't need to define acc.drec and eq.drec in the standard library anymore.
2017-02-28 20:58:04 -08:00