<div dir="auto">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!</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, 23 Oct 2019, 17.49 Matthew Pickering, <<a href="mailto:matthewtpickering@gmail.com">matthewtpickering@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Thanks Omer, Sylvain and Sebastian<br>
<br>
.<br>
<br>
I just configured my editor to use fzf and now I can use the `:GFiles`<br>
command to perform fuzzy search on files which is probably better than<br>
tags. If anyone else is using NixOS, all I had to do was add the<br>
`fzf-vim` plugin to the vim configuration.<br>
<br>
Cheers,<br>
<br>
Matt<br>
<br>
On Wed, Oct 23, 2019 at 2:54 PM Ömer Sinan Ağacan <<a href="mailto:omeragacan@gmail.com" target="_blank" rel="noreferrer">omeragacan@gmail.com</a>> wrote:<br>
><br>
> I use a file finder (fzf) for jumping to files. Because module names follow file<br>
> paths to jump to e.g. StgToCmmUtils.Utils I usually type `<C-p>stgcmmutils` and<br>
> fzf finds the correct file `compiler/GHC/StgToCmm/Utils.hs`.<br>
><br>
> When generating tags I omit module names for this reason, it's easy with a good<br>
> file finder to jump to modules already, no need to generate tags for the<br>
> modules.<br>
><br>
> fast-tags commands I use:<br>
><br>
> - When working on the compiler:<br>
><br>
>   $ fast-tags --no-module-tags driver ghc compiler<br>
><br>
> - When working on the RTS:<br>
><br>
>   $ fast-tags --no-module-tags driver ghc compiler<br>
>   $ ctags --append -R rts/**/*.c rts/**/*.h includes/**/*.h<br>
><br>
> - When working on the libraries:<br>
><br>
>   $ fast-tags --no-module-tags driver ghc compiler libraries<br>
><br>
> Ömer<br>
><br>
> Sebastian Graf <<a href="mailto:sgraf1337@gmail.com" target="_blank" rel="noreferrer">sgraf1337@gmail.com</a>>, 23 Eki 2019 Çar, 16:49 tarihinde<br>
> şunu yazdı:<br>
> ><br>
> > 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.<br>
> ><br>
> > Am Mi., 23. Okt. 2019 um 14:27 Uhr schrieb Matthew Pickering <<a href="mailto:matthewtpickering@gmail.com" target="_blank" rel="noreferrer">matthewtpickering@gmail.com</a>>:<br>
> >><br>
> >> I use `fast-tags` which doesn't look at the hierarchy at all and I'm<br>
> >> not sure what the improvement would be as the names of the modules<br>
> >> would still clash.<br>
> >><br>
> >> If there is some other recommended way to jump to a module then that<br>
> >> would also work for me.<br>
> >><br>
> >> Matt<br>
> >><br>
> >><br>
> >> On Wed, Oct 23, 2019 at 12:08 PM Sylvain Henry <<a href="mailto:sylvain@haskus.fr" target="_blank" rel="noreferrer">sylvain@haskus.fr</a>> wrote:<br>
> >> ><br>
> >> > Hi,<br>
> >> ><br>
> >> > How do you generate your tags file? It seems to be a shortcoming of the<br>
> >> > generator to not take into account the location of the definition file.<br>
> >> ><br>
> >> >  > Perhaps `HsUtils` and `StgUtils` would be appropriate to<br>
> >> > disambiguate`Hs/Utils` and `StgToCmm/Utils`.<br>
> >> ><br>
> >> > We are promoting the module prefixes (`Hs`, `Stg`, `Tc`, etc.) into<br>
> >> > proper module layers (e.g. `HsUtils` becomes `GHC.Hs.Utils`) so it would<br>
> >> > be redundant to add the prefixes back. :/<br>
> >> ><br>
> >> > Cheers,<br>
> >> > Sylvain<br>
> >> ><br>
> >> > On 23/10/2019 12:52, Matthew Pickering wrote:<br>
> >> > > Hi,<br>
> >> > ><br>
> >> > > The module rework has broken my workflow.<br>
> >> > ><br>
> >> > > Now my tags file is useless for jumping for modules as there are<br>
> >> > > multiple "Utils" and "Types" modules. Invariable I am jumping to the<br>
> >> > > wrong one. What do other people do to avoid this?<br>
> >> > ><br>
> >> > > Can we either revert these changes or give these modules unique names<br>
> >> > > to facilitate that only reliable way of navigating the code base.<br>
> >> > > Perhaps `HsUtils` and `StgUtils` would be appropriate to disambiguate<br>
> >> > > `Hs/Utils` and `StgToCmm/Utils`.<br>
> >> > ><br>
> >> > > Cheers,<br>
> >> > ><br>
> >> > > Matt<br>
> >> > > _______________________________________________<br>
> >> > > ghc-devs mailing list<br>
> >> > > <a href="mailto:ghc-devs@haskell.org" target="_blank" rel="noreferrer">ghc-devs@haskell.org</a><br>
> >> > > <a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs" rel="noreferrer noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</a><br>
> >> > _______________________________________________<br>
> >> > ghc-devs mailing list<br>
> >> > <a href="mailto:ghc-devs@haskell.org" target="_blank" rel="noreferrer">ghc-devs@haskell.org</a><br>
> >> > <a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs" rel="noreferrer noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</a><br>
> >> _______________________________________________<br>
> >> ghc-devs mailing list<br>
> >> <a href="mailto:ghc-devs@haskell.org" target="_blank" rel="noreferrer">ghc-devs@haskell.org</a><br>
> >> <a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs" rel="noreferrer noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</a><br>
> ><br>
> > _______________________________________________<br>
> > ghc-devs mailing list<br>
> > <a href="mailto:ghc-devs@haskell.org" target="_blank" rel="noreferrer">ghc-devs@haskell.org</a><br>
> > <a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs" rel="noreferrer noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</a><br>
_______________________________________________<br>
ghc-devs mailing list<br>
<a href="mailto:ghc-devs@haskell.org" target="_blank" rel="noreferrer">ghc-devs@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs" rel="noreferrer noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</a><br>
</blockquote></div>