How to navigate around the source tree?

Ömer Sinan Ağacan omeragacan at gmail.com
Wed Oct 23 13:54:17 UTC 2019


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


More information about the ghc-devs mailing list