Call hierarchy support#1955
Conversation
|
If I understand correctly, call hierarchy is meant to be global and project wide. However, you seem to be generating the tree using a single I think it would be a good idea to make use of The code you have for traversing the |
You're right, currently, I just finished the part of The |
|
@July541 I can see that you uploaded some commits yesterday. Care to share an update on what the recent changes are? |
|
@pepeiborra It's about a prototype of the implementation of outgoing calls which has functionality but a bad code style. I'll show a complete call hierarchy after incoming calls are finished, it'll come soon. |
2021-07-11.21-45-42.mp4Recent progress, incoming calls and outgoing calls have basic functions, see demo above for details. Current problems:
|
|
This looks quite reasonable to me, nice job @July541 ! |
| import Name | ||
|
|
||
| incomingCalls :: HieDb -> Symbol -> IO [Vertex] | ||
| incomingCalls (getConn -> conn) symbol = do |
There was a problem hiding this comment.
It would be best to move these functions into hiedb.
|
@pepeiborra I agree with you. I think it can be reviewed after the break issue is fixed, not take long. @wz1000 It turns out I wrote it in
Honestly, I'm not sure it's a reasonable solution. if you think that move to |
Awesome, please shout if you need any help |
|
Your CI appears to be blocked by #2016 |
|
I think the current fail can be fixed after the new lsp is released. |
|
@July541 amazing work, hls users will be amazed, congrats |
|
@pepeiborra I noticed an unexpected |
|
I pulled master this morning and I'm also not able to do build failures in CILinking .stack-work/dist/x86_64-linux/Cabal-3.0.1.0/build/ghcide/ghcide ... ghcide > /root/.stack/snapshots/x86_64-linux/26f5581bf7f9f176d3f7ba334912f1d717717a1ecee407868101798f77c5c139/8.8.3/lib/x86_64-linux-ghc-8.8.3/libHSlsp-1.2.0.0-LiIFgQ1fCTv73zSCj7uRmO-ghc8.8.3.so: error: undefined reference to 'lspzmtypeszm1zi2zi0zi0zmDHDZZnuOdhmBHZZjePkaCNbQ_LanguageziLSPziTypesziCallHierarchy_zdfFromJSONCallHierarchyOutgoingCallsParams_closure' ghcide > /root/.stack/snapshots/x86_64-linux/26f5581bf7f9f176d3f7ba334912f1d717717a1ecee407868101798f77c5c139/8.8.3/lib/x86_64-linux-ghc-8.8.3/libHSlsp-1.2.0.0-LiIFgQ1fCTv73zSCj7uRmO-ghc8.8.3.so: error: undefined reference to 'lspzmtypeszm1zi2zi0zi0zmDHDZZnuOdhmBHZZjePkaCNbQ_LanguageziLSPziTypesziCallHierarchy_zdfFromJSONCallHierarchyIncomingCallsParams_closure' ghcide > /root/.stack/snapshots/x86_64-linux/26f5581bf7f9f176d3f7ba334912f1d717717a1ecee407868101798f77c5c139/8.8.3/lib/x86_64-linux-ghc-8.8.3/libHSlsp-1.2.0.0-LiIFgQ1fCTv73zSCj7uRmO-ghc8.8.3.so: error: undefined reference to 'lspzmtypeszm1zi2zi0zi0zmDHDZZnuOdhmBHZZjePkaCNbQ_LanguageziLSPziTypesziCallHierarchy_zdfFromJSONCallHierarchyPrepareParams_closure' ghcide > /root/.stack/snapshots/x86_64-linux/26f5581bf7f9f176d3f7ba334912f1d717717a1ecee407868101798f77c5c139/8.8.3/lib/x86_64-linux-ghc-8.8.3/libHSlsp-1.2.0.0-LiIFgQ1fCTv73zSCj7uRmO-ghc8.8.3.so: error: undefined reference to 'lspzmtypeszm1zi2zi0zi0zmDHDZZnuOdhmBHZZjePkaCNbQ_LanguageziLSPziTypesziMethod_zdfFromJSONSMethod54_closure' ghcide > /root/.stack/snapshots/x86_64-linux/26f5581bf7f9f176d3f7ba334912f1d717717a1ecee407868101798f77c5c139/8.8.3/lib/x86_64-linux-ghc-8.8.3/libHSlsp-1.2.0.0-LiIFgQ1fCTv73zSCj7uRmO-ghc8.8.3.so: error: undefined reference to 'lspzmtypeszm1zi2zi0zi0zmDHDZZnuOdhmBHZZjePkaCNbQ_LanguageziLSPziTypesziMethod_zdfFromJSONSMethod55_closure' ghcide > /root/.stack/snapshots/x86_64-linux/26f5581bf7f9f176d3f7ba334912f1d717717a1ecee407868101798f77c5c139/8.8.3/lib/x86_64-linux-ghc-8.8.3/libHSlsp-1.2.0.0-LiIFgQ1fCTv73zSCj7uRmO-ghc8.8.3.so: error: undefined reference to 'lspzmtypeszm1zi2zi0zi0zmDHDZZnuOdhmBHZZjePkaCNbQ_LanguageziLSPziTypesziMethod_zdWSTextDocumentPrepareCallHierarchy_closure' ghcide > /root/build/ghcide/.stack-work/dist/x86_64-linux/Cabal-3.0.1.0/build/libHSghcide-1.4.0.3-GzSd9eXvctl5jyqcFJIb49-ghc8.8.3.so: error: undefined reference to 'lspzmtypeszm1zi2zi0zi0zmDHDZZnuOdhmBHZZjePkaCNbQ_LanguageziLSPziTypesziMethod_zdfShowSMethod114_closure' ghcide > /root/build/ghcide/.stack-work/dist/x86_64-linux/Cabal-3.0.1.0/build/libHSghcide-1.4.0.3-GzSd9eXvctl5jyqcFJIb49-ghc8.8.3.so: error: undefined reference to 'lspzmtypeszm1zi2zi0zi0zmDHDZZnuOdhmBHZZjePkaCNbQ_LanguageziLSPziTypesziMethod_zdfShowSMethod112_closure' ghcide > /root/build/ghcide/.stack-work/dist/x86_64-linux/Cabal-3.0.1.0/build/libHSghcide-1.4.0.3-GzSd9eXvctl5jyqcFJIb49-ghc8.8.3.so: error: undefined reference to 'lspzmtypeszm1zi2zi0zi0zmDHDZZnuOdhmBHZZjePkaCNbQ_LanguageziLSPziTypesziMethod_zdfShowSMethod116_closure' ghcide > collect2: error: ld returned 1 exit status ghcide > `gcc' failed in phase `Linker'. (Exit code: 1) see failure in CI |
|
Have you tried stack clean ? |
Some tests are flaky in Windows, that's not caused by this PR |
|
@jhrcek Ideally the updated dependencies are OK for the build. haskell-language-server/stack-8.8.4.yaml Lines 83 to 89 in d815d04 |
|
I tried |
Hello all,
This pr is about my GSoC 2021 project, call hierarchy support. I create a draft to show my progress to those who may be interested.
Progress
Known issues
DuplicateRecordFields