Commit graph

46 commits

Author SHA1 Message Date
Wojciech Nawrocki
a937fa26ba chore: fewer explicit types 2021-08-01 09:58:44 +02:00
Wojciech Nawrocki
f51b80060d feat: generic tagged Format 2021-08-01 09:58:44 +02:00
Sebastian Ullrich
2833c61a60 fix: respect preresolved names at resolveConst*
This makes sure we can properly quote e.g. `deriving` clauses and avoids
a suspicious `eraseMacroScopes` call (though not at `Elab.Syntax`, since
categories do not have to be declaration names)
2021-07-30 07:17:50 -07:00
Sebastian Ullrich
b76dd1a8e3 feat: go-to-definition for local variables 2021-07-19 13:24:59 -07:00
Sebastian Ullrich
18becc7d7d fix: plain term goal on binders 2021-07-19 13:24:59 -07:00
Wojciech Nawrocki
dfcdc57302 feat: go-to for structure fields 2021-07-05 19:42:01 +02:00
Sebastian Ullrich
20fa503803 fix: move elabCommand parts that should happen only once into new function 2021-06-29 06:34:15 -07:00
Leonardo de Moura
953dd85c06 chore: avoid inline 2021-06-28 10:17:01 -07:00
Sebastian Ullrich
cef3ade164 fix: info on non-atomic simp args 2021-06-23 00:08:07 -07:00
Sebastian Ullrich
30a0954424 refactor: revert MonadRef changes 2021-06-21 10:17:26 -07:00
Sebastian Ullrich
652097e184 fix: separate ElabInfo from MacroExpansionInfo, always emit the former before the latter
This way all hover info is contained in the former info node kinds
2021-06-21 10:17:26 -07:00
Sebastian Ullrich
459e2e8cea chore: print info tree elaborators 2021-06-21 10:17:26 -07:00
Sebastian Ullrich
da4c46370d feat: store elaborator declaration name in info tree 2021-06-21 10:17:26 -07:00
Gabriel Ebner
960cfd9cae feat: store expected type in info tree 2021-06-07 16:23:22 -07:00
Leonardo de Moura
91cf32bf88 chore: display syntax at tactic info nodes 2021-05-04 10:58:54 -07:00
Sebastian Ullrich
2734a5baba feat: show state on by 2021-05-02 23:07:15 +02:00
Leonardo de Moura
adae6fdb40 fix: tolerate type incorrect terms
This bug was producing a type error when I was using `set_option trace.Elab true`
2021-04-29 21:34:15 -07:00
Leonardo de Moura
1dca9d18d4 fix: missing tactic state info on broken proofs 2021-04-18 20:13:02 -07:00
Leonardo de Moura
dbc84c502c chore: make sure we don't lift methods over binders 2021-04-15 12:06:46 -07:00
Leonardo de Moura
40a42128be fix: auto completion improvements 2021-04-12 19:22:56 -07:00
Leonardo de Moura
b1b645f5d7 chore: display expected type 2021-04-05 10:29:32 -07:00
Leonardo de Moura
cffef2674f chore: add location 2021-04-04 10:50:30 -07:00
Leonardo de Moura
0586fe3200 feat: activate auto completion
There are many pending TODO's, and issues with the error recovery code.
We also need a test suite.
2021-04-03 21:01:17 -07:00
Leonardo de Moura
398bbcfce3 feat: save aditional information for id completion, and suppress implicit prefix when reporting completion types 2021-04-03 12:53:32 -07:00
Leonardo de Moura
ac35b543bf feat: add addional CompletionInfo 2021-04-03 11:17:51 -07:00
Leonardo de Moura
ff1d27370c feat: add CompletionInfo 2021-04-02 20:44:57 -07:00
Leonardo de Moura
8c2ba16f74 feat: store expected type at DotCompletionInfo 2021-04-02 11:10:06 -07:00
Leonardo de Moura
c9f4359045 feat: add DotCompletionInfo 2021-04-01 23:31:38 -07:00
Leonardo de Moura
8d00a06d97 feat: add helper functions for completion 2021-04-01 23:31:38 -07:00
Leonardo de Moura
913669f081 chore: add InfoTree.findInfo? 2021-03-29 17:08:47 -07:00
Sebastian Ullrich
2647cdf813 chore: fix trace.Elab.info position & redundancy 2021-03-26 11:39:44 +01:00
Sebastian Ullrich
170fc62c18 fix: tactic info post state 2021-03-26 11:25:52 +01:00
Sebastian Ullrich
29c7db3ed2 feat: term info at many more constants 2021-03-20 08:31:06 -07:00
Sebastian Ullrich
c0af90022e feat: term info at #print 2021-03-20 08:28:18 -07:00
Sebastian Ullrich
c86f41a42b feat: command-level info trees 2021-03-20 08:28:18 -07:00
Leonardo de Moura
6263141f7b fix: preserve InfoTree when tactics fail
cc @Kha @Vtec234
2021-02-17 15:20:33 -08:00
Sebastian Ullrich
1ca3176143 chore: TacticInfo.format: show range 2021-02-06 17:24:24 +01:00
Sebastian Ullrich
0c91b3769e chore: replace variables in src/ 2021-01-22 14:36:05 +01:00
Sebastian Ullrich
b94c5c181c chore: annotate syntheticness in info format 2021-01-20 22:47:18 +01:00
Sebastian Ullrich
a9f96ace3e chore: naming 2021-01-20 16:48:50 +01:00
Leonardo de Moura
58d51bc764 feat: add FieldInfo 2021-01-15 15:01:45 -08:00
Leonardo de Moura
25c9727a92 feat: add TermInfo for LVal
@Vtec234 Added the missing info.
Given
```lean
def f3 (s : Nat × Array (Array Nat)) : Array Nat :=
  s.2[1].push s.1
```
We produce the following `InfoTree` for the body (originally at line 30)
```
Array.push (Array.getOp s.snd 1) s.fst : Array Nat @ ⟨30, 2⟩-⟨30, 17⟩
  s : Nat × Array (Array Nat) @ ⟨30, 2⟩-⟨30, 3⟩
  Prod.snd : {α β : Type} → α × β → β @ ⟨30, 4⟩-⟨30, 5⟩
  Array.getOp : {α : Type} → [inst : Inhabited α] → Array α → Nat → α @ ⟨30, 5⟩-⟨30, 6⟩
  1 : Nat @ ⟨30, 6⟩-⟨30, 7⟩
  Array.push : {α : Type} → Array α → α → Array α @ ⟨30, 9⟩-⟨30, 13⟩
  s.fst : Nat @ ⟨30, 14⟩-⟨30, 17⟩
    s : Nat × Array (Array Nat) @ ⟨30, 14⟩-⟨30, 15⟩
    Prod.fst : {α β : Type} → α × β → α @ ⟨30, 16⟩-⟨30, 17⟩
```
2021-01-14 12:19:21 -08:00
Leonardo de Moura
bfc1a16c02 chore: adjust instance param order 2021-01-13 18:31:41 -08:00
Leonardo de Moura
873634be7e feat: hierarchical InfoTree 2021-01-09 14:10:11 -08:00
Leonardo de Moura
796b57b73f chore: add copyright 2021-01-09 14:10:11 -08:00
Wojciech Nawrocki
238f5c1d70 feat: type info 2021-01-09 14:10:11 -08:00