Commit Graph

83 Commits

Author SHA1 Message Date
Anton Myasnikov
283f41738d
[LIGO-40] Support for code hovering
Problem: We want to be able to show modal on hovering curson on
some specific declaration.

Solution: Add `hoverDecl` and integrate it with haskell-lsp client.
2020-09-08 18:44:11 +03:00
Anton Myasnikov
fd862676b3
[LIGO-26] Support code folding capability
Problem: We want to support code folding for functions and types
in our lsp.

Solution: Add `foldingAST` function that produces an additional
list of ranges along with the given monad used in `haskell-lsp`
API to collect ranges that are consequently sent to server.
2020-08-25 13:39:47 +03:00
Kirill Andreev
f2a3f0b579
Hopefully fix VFS loading (by falling back to loadByURI) 2020-08-24 20:10:00 +04:00
Kirill Andreev
da6ca97a9d
Fix 'field name not found' for reasonligo 2020-08-24 20:05:24 +04:00
Kirill Andreev
5533b07270
Fix pattern defs for pascaligo 2020-08-24 14:17:53 +04:00
Kirill Andreev
f554551f75
[LIGO-37] [LIGO-38] Looks like it fixes it 2020-08-24 12:29:51 +04:00
Anton Myasnikov
3037be689b
[LIGO-27] Fix parameters for lambdas and restructure grammar
Problem: It happens that "go to definition" fails with lambda
parameters meaning that we do not create proper AST for it.
Also we need to restructure grammar so that we can support it in
the future.

Solution: Restructure grammar to use "param_decl" and ensure that
we use proper fields for parser resolution.
2020-08-23 22:05:27 +03:00
Anton Myasnikov
1828fd6d46
[LIGO-29] Integrate existing completion framework with haskell-lsp
Problem: Currently we have not integrated our completions with
haskell-lsp server so that we could use this completion from text
editor itself.

Solution: Add the corresponding requests for handling code completion.
2020-08-23 22:01:00 +03:00
Kirill Andreev
1c684a791c
Fix camligo not registering fun/lam args 2020-08-21 18:24:06 +04:00
Kirill Andreev
5e0cf40ea7
[fix] Cleaning the commented code after CAML grammar 2020-08-19 14:29:44 +04:00
Kirill Andreev
6e2f592094
[LIGO-17] Implementing CAMLligo dialect 2020-08-18 21:56:33 +04:00
Kirill Andreev
1a948bcae7
Extension and grammar 2020-08-17 16:29:42 +04:00
Kirill Andreev
26d11eea19
Rename debounced -> unsafeDebounce 2020-08-14 15:49:42 +04:00
Kirill Andreev
fe929fbe70
Link camligo grammar, get rid of personal loaders 2020-08-14 15:40:30 +04:00
Kirill Andreev
ba66f6e8e4
Make extension-aware parser entrypoint 2020-08-14 14:54:04 +04:00
Anton Myasnikov
f1938eb2af
Hotfix: add missing Scoped instances 2020-08-12 14:28:51 +03:00
Anton Myasnikov
a1a846b554
[LIGO-25] Add ReasonLIGO parser
Problem: With generated ReasonLIGO grammar we need to develop its
parser as well. With it we also need to restructure AST a bit
and add expressions that are used for ReasonLIGO specifically.

Solution: Add ReasonLIGO parser and some dummy examples of its
usage, adapt AST to it, rename LIGO to AST.
2020-08-11 13:33:26 +03:00
Kirill Andreev
2a8cda17ce
Add type/doc capture 2020-08-11 12:32:55 +04:00
Kirill Andreev
38c32f01d4
Remove most warnings and renudant line in AST.Parser 2020-08-11 12:32:55 +04:00
Kirill Andreev
107018e6f3
Add basic code completion mechanism 2020-08-11 12:32:54 +04:00
Kirill Andreev
08a0eb55d1
Fix AST.Scope 2020-08-11 12:32:54 +04:00
Kirill Andreev
31274e1507
Tie all up 2020-08-11 12:32:54 +04:00
Kirill Andreev
9f29dab195
Fix letrec partially 2020-08-11 12:32:53 +04:00
Kirill Andreev
6bd5d9ef84
Update AST.Scope to new framework 2020-08-11 12:32:53 +04:00
Kirill Andreev
226b7264aa
Restore AST.Scope instances and part of the machinery 2020-08-11 12:32:53 +04:00
Kirill Andreev
b5e5bc25a1
[WIP] Conversion to descent-based parser 2020-08-11 12:32:52 +04:00
Kirill Andreev
3233270dba
Add debounced function 2020-08-11 12:32:10 +04:00
Kirill Andreev
58e5128142
Fix dying on broken code and handle errors in Main.hs 2020-08-11 12:32:10 +04:00
Kirill Andreev
508b111374
Fix blocks getting invalid ranges 2020-08-11 12:32:09 +04:00
Kirill Andreev
20014a7926
Remove warnings, refactor FullEnv 2020-08-11 12:32:09 +04:00
Kirill Andreev
a11e92af60
Remove unused traverseOnly 2020-08-11 12:32:09 +04:00
Kirill Andreev
5737cd5686
Fix tree traversal breaking on errors 2020-08-11 12:32:08 +04:00
Kirill Andreev
e5ec32f46a
Fix letrec behaviour 2020-08-11 12:32:08 +04:00
Kirill Andreev
c26bc044ee
Separate the namespaces for search 2020-08-11 12:32:08 +04:00
Kirill Andreev
ba3c0a76d9
Fix function stealing 'goto def's 2020-08-11 12:32:07 +04:00
Kirill Andreev
29bc1721d1
Load from VFS 2020-08-11 12:32:07 +04:00
Kirill Andreev
65fc5bec75
Separate env-tree construction and usage 2020-08-11 12:32:06 +04:00
Kirill Andreev
24cc24b0d7
Prevent loop on recursive import 2020-08-11 12:32:06 +04:00
Kirill Andreev
b35a28853b
Add ability to recursively parse #included files 2020-08-11 12:32:06 +04:00
Kirill Andreev
583d7f8997
Clean the comments 2020-08-11 12:32:05 +04:00
Kirill Andreev
03b89bc5b7
Rewrite scope loader 2020-08-11 12:32:05 +04:00
Kirill Andreev
8d61a36918
[WIP] Implement a loader of Env from a ScopeTree 2020-08-11 12:32:05 +04:00
Kirill Andreev
9f124bf5af
Implement def/impl/type search 2020-08-11 12:32:04 +04:00
Kirill Andreev
9cf2e0cf97
Use Data.Sum instead of manual Union 2020-08-11 12:32:04 +04:00
Kirill Andreev
20de97c5c6
Make faster Union 2020-08-11 12:32:04 +04:00
Kirill Andreev
44defb2114
Remove Data.Fix, make recursion manually 2020-08-11 12:32:03 +04:00
Kirill Andreev
19f05f5afc
Rename HasComments to Comment; remove *.cabal 2020-08-11 12:32:03 +04:00
Kirill Andreev
e701e196fe
Improve documentation 2020-08-11 12:32:03 +04:00
Kirill Andreev
9d81ecf353
Silence warnings 2020-08-11 12:32:02 +04:00
Kirill Andreev
1f7af3c8cb
Make infoOf always return an info 2020-08-11 12:32:02 +04:00