I use `hasktags -b .` in the compiler directory, and it generates a `tags` file with lines in it like
``` tags\021080:mkHsPar ./GHC/Hs/Utils.hs 142 tags\021081:mkHsParPV ./parser/RdrHsSyn.hs 1920 tags\021082:mkHsParPV ./parser/RdrHsSyn.hs 2019 tags\021083:mkHsParPV ./parser/RdrHsSyn.hs 2072 tags\021084:mkHsParPV ./parser/RdrHsSyn.hs 2154 ``` This gives the full path, and emacs is happy. And of course in this example mkHsParPV does in fact have multiple definitions, it is a class method. Alan On Thu, 24 Oct 2019 at 12:48, Andreas Klebinger <[email protected]> wrote: > Hello devs, > > I also often jump to files. In my case usually using VS Code using Ctr+P > as well which searches for files by name. > 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. > > While there are workarounds, both for my case as for Matts. It's worth > asking if requiring these workarounds is better > than just accepting redundant prefixes on module names. > > Personally I would prefer unique file names even at the cost of redundancy. > I rarely add import statements/full module names, but I *very* often jump > to files. > > Cheers > Andreas > > Bryan Richter schrieb am 23.10.2019 um 18:00: > > 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, <[email protected]> > 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 <[email protected]> >> 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 <[email protected]>, 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 < >> [email protected]>: >> > >> >> > >> 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 <[email protected]> >> 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 >> > >> > > [email protected] >> > >> > > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs >> > >> > _______________________________________________ >> > >> > ghc-devs mailing list >> > >> > [email protected] >> > >> > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs >> > >> _______________________________________________ >> > >> ghc-devs mailing list >> > >> [email protected] >> > >> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs >> > > >> > > _______________________________________________ >> > > ghc-devs mailing list >> > > [email protected] >> > > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs >> _______________________________________________ >> ghc-devs mailing list >> [email protected] >> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs >> > > > _______________________________________________ > ghc-devs mailing > [email protected]http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs > > > _______________________________________________ > ghc-devs mailing list > [email protected] > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs >
_______________________________________________ ghc-devs mailing list [email protected] http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
