Alexey Kiryushin
Alexey Kiryushin
Most features of HCE (cross-package 'go to definition', 'find references', identifier search,...) rely on server-side logic, so currently it's not possible to deploy the app as a collection of static...
I agree that keyboard shortcuts are great. This can be implemented purely on the client side: - Switching files - Switching packages - Finding a definition in this file -...
I haven't thought about it before. It's a useful feature since the number of language extensions that GHC supports is impressive: ``` $ ghc --supported-extensions | wc -l 247 ```...
HCE does show kinds of type variables, but unfortunately, not always. For example, here https://haskell-code-explorer.mfix.io/package/base-4.11.1.0/show/Data/Functor/Sum.hs#L33 kinds of type variables are shown: ```haskell data Sum f g a = InL (f...
Thanks! I'm aware of `haskell-indexer`, although I haven't yet looked at the implementation details. What is clear is that both projects use GHC API [http://hackage.haskell.org/package/ghc](http://hackage.haskell.org/package/ghc) to extract information from the...
References in `Haskell code explorer` are represented as a simple `HashMap`: ```haskell references :: HashMap ExternalId (Set IdentifierSrcSpan) newtype ExternalId = ExternalId { getExternalId :: T.Text } deriving (Show, Eq,...
@robinp Thank you for the explanations! Also, thank you for the Kythe-LSP/LSIF comparison (https://gist.github.com/robinp/76f9d3d91387da5162f773895d4e1d15). It really helps to understand how Kythe and LSP/LSIF relate to each other. > I should...
Currently, the "find references" feature works only inside one package (unlike "go to definition"). Cross-package "find references" is definitely useful and it's quite easy to implement (there's no need to...
Cross-package "find references" is in master. Public server [https://haskell-code-explorer.mfix.io](https://haskell-code-explorer.mfix.io) now supports this feature. You just need to update and restart `haskell-code-server` (there's no need to reindex packages) to be able...
I've added cabal.project.freeze (for ghc-8.4.4): [https://github.com/alexwl/haskell-code-explorer/commit/b5a3048a880c8ce1c2bfa795a39576d02f416be2](https://github.com/alexwl/haskell-code-explorer/commit/b5a3048a880c8ce1c2bfa795a39576d02f416be2). `cabal new-build all` command builds everything correctly (`cabal new-build` doesn't build `cabal-helper-wrapper` executable which leads to a runtime error from `haskell-code-indexer`).