Commit graph

440 commits

Author SHA1 Message Date
Leonardo de Moura
4c9c62752e feat: improve checkpoint tactic 2022-03-31 20:51:53 -07:00
Wojciech Nawrocki
96770b4d83 refactor: remove some code duplication 2022-03-26 06:26:41 -07:00
Wojciech Nawrocki
9223bf3640 feat: environment extension for RPC procedures 2022-03-26 06:26:41 -07:00
Wojciech Nawrocki
8f83c7ab32 feat: user-defined RPC handlers 2022-03-24 08:09:33 -07:00
Leonardo de Moura
3862e7867b refactor: make String.Pos opaque
TODO: this refactoring exposed bugs in `FuzzyMatching` and `Lake`

closes #410
2022-03-20 10:47:13 -07:00
Sebastian Ullrich
147a5c2933 chore: prefer LEAN_SRC_PATH 2022-03-14 17:24:25 +01:00
Lars
95cf18457d
chore: address review comments 2022-03-12 13:25:35 +00:00
larsk21
0ef3ea4bc9 feat: enable fuzzy matching for workspace symbols 2022-03-11 16:25:26 -08:00
larsk21
64dba41b4c feat: enable fuzzy matching for completion 2022-03-11 16:25:26 -08:00
Jonathan Coates
11cce61e4d chore: Clean up LSP folding a little
- Wait for all terms to be elaborated before showing folding regions.
   May want to change this to support partial results.
 - Use .span to extract import statements, rather than mutually
   recursive functions.
 - Some tiny other bits of cleanup
2022-03-07 17:23:35 +01:00
Jonathan Coates
04e60cebd1 feat: LSP code folding support
The following constructs are foldable:
 - Sections and namespaces
 - Blocks of import/open statements
 - Multi-line commands (so mostly definitions)
 - Mutual definitions
 - Module-level doc comments
 - Top-level definition doc comments

Fixes #1012
2022-03-07 17:23:35 +01:00
Sebastian Ullrich
6c6f66b812 feat: propagate actual file name in file worker
Also stop recreating the FileMap for every command, that's quadratic!
2022-02-27 10:33:27 +01:00
Sebastian Ullrich
2390691116 chore: remove obsolete workaround 2022-02-11 18:19:59 +01:00
Joscha
196cf67eed fix: handle overlapping definitions 2022-02-06 16:52:18 +01:00
Sebastian Ullrich
a7ba103e0a chore: remove leanpkg 2022-02-04 19:03:40 +01:00
Leonardo de Moura
12e2a79170 chore: fix codebase after removing auto pure 2022-02-03 18:08:14 -08:00
Leonardo de Moura
420f5bb315 fix: hide internal namespaces from autocompletion
closes #993
2022-02-03 13:33:27 -08:00
Sebastian Ullrich
16f6b19e21 fix: silence .ilean load errors 2022-02-02 22:02:15 +01:00
larsk21
6cee7a6a31 fix: dedup references in findModuleRefs 2022-02-02 13:03:21 +01:00
larsk21
bc65da2e83 feat: extend handleDocumentHighlight 2022-02-02 13:03:21 +01:00
Joscha
d2dcff1f9a refactor: address review comments 2022-01-31 21:36:37 +01:00
Joscha
bfc185e98e fix: don't duplicate definition and declaration requests 2022-01-31 21:36:37 +01:00
Joscha
4545e183d8 fix: go to definition in modified file 2022-01-31 21:36:37 +01:00
Joscha
ccf492b61d feat: implement partial ilean updates 2022-01-31 21:36:37 +01:00
Wojciech Nawrocki
2d1cea0864 feat: inform server if widgets are available 2022-01-29 10:04:25 +01:00
Leonardo de Moura
cf3b8d4eb4 chore: cleanup
Make the code style more uniform.
We still have a lot of leftovers from the old frontend.
2022-01-26 09:18:17 -08:00
Sebastian Ullrich
cfaba85199 feat: load precompiled modules in the server 2022-01-25 23:25:52 +01:00
Leonardo de Moura
2192e6148b chore: remove coe, coeSort, and coeFun abbreviations
The notation `↑ e` is now expanded eagerly.

See #403
2022-01-20 15:19:06 -08:00
Joscha
2423a78db4 refactor: implement suggestions 2022-01-20 17:20:01 +01:00
Sebastian Ullrich
3a926b1047 fix: use user-facing private decl name in symbol query 2022-01-20 17:20:01 +01:00
Sebastian Ullrich
53d90a71ae feat: do case-sensitive symbol query if query contains upper-case char 2022-01-20 17:20:01 +01:00
Sebastian Ullrich
1168334cca fix: Unicode symbol lookup 2022-01-20 17:20:01 +01:00
Joscha
7540889bd3 feat: implement LSP workspace symbol request 2022-01-20 17:20:01 +01:00
Joscha
3651ebb377 fix: don't send worker notification to client 2022-01-19 16:29:10 +01:00
Sebastian Ullrich
3abb70dbb5 refactor: factor out common source search path logic 2022-01-18 18:22:50 +01:00
Leonardo de Moura
be4c86f780 chore: remove temporary workarounds 2022-01-17 17:03:15 -08:00
Leonardo de Moura
f8653a8cb7 chore: add temporary workaround 2022-01-17 16:58:39 -08:00
Leonardo de Moura
dd3d8f6fad feat: complete namespaces
closes #940
2022-01-17 10:03:36 -08:00
Leonardo de Moura
b970919978 chore: remove unnecessary Inhabited 2022-01-14 19:48:10 -08:00
larsk21
b712918db9 fix: unify handleDefinition for imports 2022-01-14 10:32:06 +01:00
larsk21
ecaa004dcc feat: make withWaitFindSnap consider all snaps of a document 2022-01-14 10:32:06 +01:00
larsk21
e584560b17 feat: enable "go to definition" for imports 2022-01-14 10:32:06 +01:00
larsk21
89bbaf514e feat: include imports in header snap info tree 2022-01-14 10:32:06 +01:00
Sebastian Ullrich
d503fe6d13 refactor: avoid double exception layer with AsyncList 2022-01-14 09:18:57 +01:00
Joscha
d8ec900ae9 refactor: use array instead of list in AsyncElabState 2022-01-14 09:18:57 +01:00
Joscha
ab52480b69 fix: implement suggestions 2022-01-14 09:18:57 +01:00
Joscha
4bcf7ab31f style: add copyright headers 2022-01-14 09:18:57 +01:00
Joscha
b9f8f5eb38 fix: find references of function parameters 2022-01-14 09:18:57 +01:00
Joscha
281ede6ed4 feat: handle references notifications 2022-01-14 09:18:57 +01:00
Joscha
f98cf0289c feat: send references notification when file evaluation finishes 2022-01-14 09:18:57 +01:00