How to navigate around the source tree?

Bryan Richter b at chreekat.net
Wed Oct 23 16:00:52 UTC 2019


Duplicate record fields is going to make this a bigger problem. Vim does
support duplicate tags (:tselect and :tjump and related bindings), but
hopefully haskell-ide-engine will one day provide us with semantic tags and
solve this problem once and for all!

On Wed, 23 Oct 2019, 17.49 Matthew Pickering, <matthewtpickering at gmail.com>
wrote:

> Thanks Omer, Sylvain and Sebastian
>
> .
>
> I just configured my editor to use fzf and now I can use the `:GFiles`
> command to perform fuzzy search on files which is probably better than
> tags. If anyone else is using NixOS, all I had to do was add the
> `fzf-vim` plugin to the vim configuration.
>
> Cheers,
>
> Matt
>
> On Wed, Oct 23, 2019 at 2:54 PM Ömer Sinan Ağacan <omeragacan at gmail.com>
> wrote:
> >
> > I use a file finder (fzf) for jumping to files. Because module names
> follow file
> > paths to jump to e.g. StgToCmmUtils.Utils I usually type
> `<C-p>stgcmmutils` and
> > fzf finds the correct file `compiler/GHC/StgToCmm/Utils.hs`.
> >
> > When generating tags I omit module names for this reason, it's easy with
> a good
> > file finder to jump to modules already, no need to generate tags for the
> > modules.
> >
> > fast-tags commands I use:
> >
> > - When working on the compiler:
> >
> >   $ fast-tags --no-module-tags driver ghc compiler
> >
> > - When working on the RTS:
> >
> >   $ fast-tags --no-module-tags driver ghc compiler
> >   $ ctags --append -R rts/**/*.c rts/**/*.h includes/**/*.h
> >
> > - When working on the libraries:
> >
> >   $ fast-tags --no-module-tags driver ghc compiler libraries
> >
> > Ömer
> >
> > Sebastian Graf <sgraf1337 at gmail.com>, 23 Eki 2019 Çar, 16:49 tarihinde
> > şunu yazdı:
> > >
> > > FWIW, I'm using VSCode's fuzzy file search with Ctrl+P (and vim's
> equivalent) rather successfully. Just tried it for Hs/Utils.hs by typing
> 'hsutils.hs'. It didn't turn up as the first result in VSCode, but it in
> vim.
> > >
> > > Am Mi., 23. Okt. 2019 um 14:27 Uhr schrieb Matthew Pickering <
> matthewtpickering at gmail.com>:
> > >>
> > >> I use `fast-tags` which doesn't look at the hierarchy at all and I'm
> > >> not sure what the improvement would be as the names of the modules
> > >> would still clash.
> > >>
> > >> If there is some other recommended way to jump to a module then that
> > >> would also work for me.
> > >>
> > >> Matt
> > >>
> > >>
> > >> On Wed, Oct 23, 2019 at 12:08 PM Sylvain Henry <sylvain at haskus.fr>
> wrote:
> > >> >
> > >> > Hi,
> > >> >
> > >> > How do you generate your tags file? It seems to be a shortcoming of
> the
> > >> > generator to not take into account the location of the definition
> file.
> > >> >
> > >> >  > Perhaps `HsUtils` and `StgUtils` would be appropriate to
> > >> > disambiguate`Hs/Utils` and `StgToCmm/Utils`.
> > >> >
> > >> > We are promoting the module prefixes (`Hs`, `Stg`, `Tc`, etc.) into
> > >> > proper module layers (e.g. `HsUtils` becomes `GHC.Hs.Utils`) so it
> would
> > >> > be redundant to add the prefixes back. :/
> > >> >
> > >> > Cheers,
> > >> > Sylvain
> > >> >
> > >> > On 23/10/2019 12:52, Matthew Pickering wrote:
> > >> > > Hi,
> > >> > >
> > >> > > The module rework has broken my workflow.
> > >> > >
> > >> > > Now my tags file is useless for jumping for modules as there are
> > >> > > multiple "Utils" and "Types" modules. Invariable I am jumping to
> the
> > >> > > wrong one. What do other people do to avoid this?
> > >> > >
> > >> > > Can we either revert these changes or give these modules unique
> names
> > >> > > to facilitate that only reliable way of navigating the code base.
> > >> > > Perhaps `HsUtils` and `StgUtils` would be appropriate to
> disambiguate
> > >> > > `Hs/Utils` and `StgToCmm/Utils`.
> > >> > >
> > >> > > Cheers,
> > >> > >
> > >> > > Matt
> > >> > > _______________________________________________
> > >> > > ghc-devs mailing list
> > >> > > ghc-devs at haskell.org
> > >> > > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
> > >> > _______________________________________________
> > >> > ghc-devs mailing list
> > >> > ghc-devs at haskell.org
> > >> > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
> > >> _______________________________________________
> > >> ghc-devs mailing list
> > >> ghc-devs at haskell.org
> > >> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
> > >
> > > _______________________________________________
> > > ghc-devs mailing list
> > > ghc-devs at haskell.org
> > > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20191023/8904a1b8/attachment.html>


More information about the ghc-devs mailing list