haskell-language-server/plugins/hls-call-hierarchy-plugin
hololeap c422cf373a
Add source-repository to all cabal files (#3219)
Add a source-repository stanza to any .cabal files in the project that
are missing it.

This metadata can be useful for package maintainers.

See: https://cabal.readthedocs.io/en/stable/cabal-package.html#source-repositories

Signed-off-by: hololeap <hololeap@users.noreply.github.com>

Signed-off-by: hololeap <hololeap@users.noreply.github.com>
2022-09-24 02:50:25 +00:00
..
src/Ide/Plugin Fix broken call-hierarchy-plugin-tests for type signatures (#3188) 2022-09-21 14:43:53 +00:00
test Fix broken call-hierarchy-plugin-tests for type signatures (#3188) 2022-09-21 14:43:53 +00:00
call-hierarchy-in-emacs.gif Support call hierarchy on type signature & add plugin to generic config & docs (#2072) 2021-08-04 19:26:55 +00:00
call-hierarchy-in-vscode.gif Support call hierarchy on type signature & add plugin to generic config & docs (#2072) 2021-08-04 19:26:55 +00:00
hls-call-hierarchy-plugin.cabal Add source-repository to all cabal files (#3219) 2022-09-24 02:50:25 +00:00
LICENSE Call hierarchy support (#1955) 2021-07-27 22:40:04 +01:00
README.md Fix broken call-hierarchy-plugin-tests for type signatures (#3188) 2022-09-21 14:43:53 +00:00

Call hierarchy plugin for the Haskell Language Server

The call hierarchy plugin can review the code to determine where functions are called and how they relate to other functions.

This plugin is useful when debugging and refactoring code because it allows you to see how different parts of the code are related. And it is more conducive for users to quickly understand their macro architecture in the face of strange code.

Demo

Call Hierarchy in Emacs

Call Hierarchy in VSCode

Prerequisite

None. You can experience the whole feature without any setting.

Configuration

Enabled by default. You can disable it in your editor settings whenever you like.

{
  "haskell.plugin.callHierarchy.globalOn": true
}

Change log

1.1.0.0

  • Support ghc-9.4.
  • Refactor code base and force four space indent.

1.0.3.0

Remove force update HieDb logic in queries.

1.0.1.0

  • Support call from a type signature.
  • Support call from a function pattern.
  • Incoming call now will go to typeclass instance instand of its definition.

1.0.0.1

  • Support call hierarchy on type signatures.

1.0.0.0

  • Released!

Known issues:

  • Outgoing call have difficulty with going to typeclass instance due to HieDb lack of adequate info.

Acknowledgments

Supported by