<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head><body bgcolor="#FFFFFF" text="#000000">Hello devs,<br>
<br>
I also often jump to files. In my case usually using VS Code using Ctr+P
 as well which searches for files by name.<br>
While I can check which folder a file is in in the case of duplicates it
 is a overhead which this refactor forces onto me.<br>
<br>
While there are workarounds, both for my case as for Matts. It's worth
asking if requiring these workarounds is better<br>
than just accepting redundant prefixes on module names.<br>
<br>

Personally I would prefer unique file names even at the cost of
redundancy.<br>

I rarely add import statements/full module names, but I *very* often
jump to files.<br>
<br>
Cheers<br>
Andreas<br>

<br>
<span>Bryan Richter schrieb am 23.10.2019 um 18:00:</span><br>
<blockquote type="cite"
cite="mid:CAH9BU=zXro4sU4-jX1VHiH6oekH=ALQ5MsHEHf-TvPorgCfWTQ@mail.gmail.com">
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <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" moz-do-not-send="true">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"
moz-do-not-send="true">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" moz-do-not-send="true">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" moz-do-not-send="true">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"
moz-do-not-send="true">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" moz-do-not-send="true">ghc-devs@haskell.org</a><br>
> >> > > <a
href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs"
rel="noreferrer noreferrer" target="_blank" moz-do-not-send="true">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" moz-do-not-send="true">ghc-devs@haskell.org</a><br>
> >> > <a
href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs"
rel="noreferrer noreferrer" target="_blank" moz-do-not-send="true">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" moz-do-not-send="true">ghc-devs@haskell.org</a><br>
> >> <a
href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs"
rel="noreferrer noreferrer" target="_blank" moz-do-not-send="true">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" moz-do-not-send="true">ghc-devs@haskell.org</a><br>
> > <a
href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs"
rel="noreferrer noreferrer" target="_blank" moz-do-not-send="true">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"
moz-do-not-send="true">ghc-devs@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs"
rel="noreferrer noreferrer" target="_blank" moz-do-not-send="true">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</a><br></blockquote></div>


  <br>
  <fieldset class="mimeAttachmentHeader"></fieldset>
  <br>
  <pre wrap="">_______________________________________________
ghc-devs mailing list
<a class="moz-txt-link-abbreviated" href="mailto:ghc-devs@haskell.org">ghc-devs@haskell.org</a>
<a class="moz-txt-link-freetext" href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</a>
</pre>
</blockquote>
<br>
</body></html>