How to navigate around the source tree?
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
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@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
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@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@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
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@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@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@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
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@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@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@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@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
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@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@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@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@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@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
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@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@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@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@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@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@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
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, <matthewtpickering@gmail.com <mailto:matthewtpickering@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@gmail.com <mailto:omeragacan@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@gmail.com <mailto:sgraf1337@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@gmail.com <mailto:matthewtpickering@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@haskus.fr <mailto:sylvain@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@haskell.org <mailto:ghc-devs@haskell.org> > >> > > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs > >> > _______________________________________________ > >> > ghc-devs mailing list > >> > ghc-devs@haskell.org <mailto:ghc-devs@haskell.org> > >> > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs > >> _______________________________________________ > >> ghc-devs mailing list > >> ghc-devs@haskell.org <mailto:ghc-devs@haskell.org> > >> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs > > > > _______________________________________________ > > ghc-devs mailing list > > ghc-devs@haskell.org <mailto:ghc-devs@haskell.org> > > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org <mailto:ghc-devs@haskell.org> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
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 <klebinger.andreas@gmx.at> 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, <matthewtpickering@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@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@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@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@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@haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
_______________________________________________ ghc-devs mailing listghc-devs@haskell.orghttp://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
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.
"Workarounds" are for problems, but I don't understand why duplicate file names are a problem. Can you elaborate? Perhaps this is problem with your IDE/editor setup? Many of us (as can be seen in responses) use tools/editors/IDEs that can handle this just fine. I worked on projects with duplicate file names in the past too; having tools that can deal with this helps, and I don't think this is too hard to achieve. You can't ask devs of every project you join to rename their files because your editor can't handle them. (I don't know VS Code enough to help ..) Ömer Andreas Klebinger <klebinger.andreas@gmx.at>, 24 Eki 2019 Per, 14:48 tarihinde şunu yazdı:
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, <matthewtpickering@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@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@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@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@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@haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
I think there is at least something to be said for module names that are unique, mainly for the human interface. For example, I often say (in Notes or Gitlab comments) "In TcType.foo we see ...". Now I could say "In GHC.Hs.Typecheck.Type we see ..." but it's less convenient. I could take the shortest unique prefix "In Typecheck.Type we see ...", but then I need to figure out what name clashes there are and add a disambiguating prefix. This is not a do-or-die issue. But my instinct is to avoid name clashes where we can. Simon | -----Original Message----- | From: ghc-devs <ghc-devs-bounces@haskell.org> On Behalf Of Ömer Sinan | Agacan | Sent: 25 October 2019 07:44 | To: Andreas Klebinger <klebinger.andreas@gmx.at> | Cc: GHC developers <ghc-devs@haskell.org> | Subject: Re: How to navigate around the source tree? | | > 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. | | "Workarounds" are for problems, but I don't understand why duplicate file | names | are a problem. Can you elaborate? Perhaps this is problem with your | IDE/editor | setup? Many of us (as can be seen in responses) use tools/editors/IDEs | that can | handle this just fine. | | I worked on projects with duplicate file names in the past too; having | tools | that can deal with this helps, and I don't think this is too hard to | achieve. | You can't ask devs of every project you join to rename their files because | your | editor can't handle them. | | (I don't know VS Code enough to help ..) | | Ömer | | Andreas Klebinger <klebinger.andreas@gmx.at>, 24 Eki 2019 Per, 14:48 | tarihinde şunu yazdı: | > | > 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, | <matthewtpickering@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@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@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@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@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@haskell.org | >> > >> > > | https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmail.hask | ell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc- | devs&data=02%7C01%7Csimonpj%40microsoft.com%7C3ffb77db43b74c34a0af08d7 | 5916d1e4%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637075826856171272&a | mp;sdata=H%2BCCWwdR%2Fv1rhnYi%2BBuFPvB5pzlFpHkqdsG6S0tVOfE%3D&reserved | =0 | >> > >> > _______________________________________________ | >> > >> > ghc-devs mailing list | >> > >> > ghc-devs@haskell.org | >> > >> > | https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmail.hask | ell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc- | devs&data=02%7C01%7Csimonpj%40microsoft.com%7C3ffb77db43b74c34a0af08d7 | 5916d1e4%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637075826856171272&a | mp;sdata=H%2BCCWwdR%2Fv1rhnYi%2BBuFPvB5pzlFpHkqdsG6S0tVOfE%3D&reserved | =0 | >> > >> _______________________________________________ | >> > >> ghc-devs mailing list | >> > >> ghc-devs@haskell.org | >> > >> | https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmail.hask | ell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc- | devs&data=02%7C01%7Csimonpj%40microsoft.com%7C3ffb77db43b74c34a0af08d7 | 5916d1e4%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637075826856171272&a | mp;sdata=H%2BCCWwdR%2Fv1rhnYi%2BBuFPvB5pzlFpHkqdsG6S0tVOfE%3D&reserved | =0 | >> > > | >> > > _______________________________________________ | >> > > ghc-devs mailing list | >> > > ghc-devs@haskell.org | >> > > | https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmail.hask | ell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc- | devs&data=02%7C01%7Csimonpj%40microsoft.com%7C3ffb77db43b74c34a0af08d7 | 5916d1e4%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637075826856181264&a | mp;sdata=qU2fbJithYT0tvxy299nYcjYPk265OxnKzJLRtb%2FpVI%3D&reserved=0 | >> _______________________________________________ | >> ghc-devs mailing list | >> ghc-devs@haskell.org | >> | https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmail.hask | ell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc- | devs&data=02%7C01%7Csimonpj%40microsoft.com%7C3ffb77db43b74c34a0af08d7 | 5916d1e4%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637075826856181264&a | mp;sdata=qU2fbJithYT0tvxy299nYcjYPk265OxnKzJLRtb%2FpVI%3D&reserved=0 | > | > | > | > _______________________________________________ | > ghc-devs mailing list | > ghc-devs@haskell.org | > | https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmail.hask | ell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc- | devs&data=02%7C01%7Csimonpj%40microsoft.com%7C3ffb77db43b74c34a0af08d7 | 5916d1e4%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637075826856181264&a | mp;sdata=qU2fbJithYT0tvxy299nYcjYPk265OxnKzJLRtb%2FpVI%3D&reserved=0 | > | > | > _______________________________________________ | > ghc-devs mailing list | > ghc-devs@haskell.org | > | https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmail.hask | ell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc- | devs&data=02%7C01%7Csimonpj%40microsoft.com%7C3ffb77db43b74c34a0af08d7 | 5916d1e4%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637075826856181264&a | mp;sdata=qU2fbJithYT0tvxy299nYcjYPk265OxnKzJLRtb%2FpVI%3D&reserved=0 | _______________________________________________ | ghc-devs mailing list | ghc-devs@haskell.org | https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmail.hask | ell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc- | devs&data=02%7C01%7Csimonpj%40microsoft.com%7C3ffb77db43b74c34a0af08d7 | 5916d1e4%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637075826856181264&a | mp;sdata=qU2fbJithYT0tvxy299nYcjYPk265OxnKzJLRtb%2FpVI%3D&reserved=0
"Workarounds" are for problems, but I don't understand why duplicate file names are a problem. Can you elaborate? Perhaps this is problem with your IDE/editor setup? Many of us (as can be seen in responses) use tools/editors/IDEs that can handle this just fine.
I worked on projects with duplicate file names in the past too; having tools that can deal with this helps, and I don't think this is too hard to achieve. You can't ask devs of every project you join to rename their files because your editor can't handle them. But I can ask if we really want to create more identical ones :) GHC already has a few duplicate file names. It's not a tragedy.
File names as the primary identifier crops up all the time. Be it `find`ind files, jumping to them in the editor or other things. It's not horrible by any means. VS Code has fuzzy search which usually works for me in these cases. Although it might not work so well if we rename all 15 Utils modules in ghc to Utils.hs. Overall it just seems easier to work with unique names when we have the choice to do so. And clearly in this case we have the choice. Personally I never ran into a situation where prefixing the file name was an issue at all. But cases where non-unique names cause annoyance do happen from time to time. Hence why I prefer one over the other.
(I don't know VS Code enough to help ..)
Ömer
Andreas Klebinger <klebinger.andreas@gmx.at>, 24 Eki 2019 Per, 14:48 tarihinde şunu yazdı:
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, <matthewtpickering@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@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@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@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@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@haskell.org >> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs > _______________________________________________ > ghc-devs mailing list > ghc-devs@haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
With `--fully-qualified` fast-tags also generates qualified tags: ``` GHC.Hs GHC/Hs.hs 21;" m GHC.Hs.Binds GHC/Hs/Binds.hs 20;" m GHC.Hs.Binds.ABE GHC/Hs/Binds.hs 349;" C ... ``` If your code editor can search for qualified tags, I guess it should work. There is a script for Vim (https://github.com/elaforge/fast-tags/blob/master/tools/qualified_tag.py) for example. Sylvain On 23/10/2019 15:26, Matthew Pickering wrote:
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@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@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
participants (8)
-
Alan & Kim Zimmerman -
Andreas Klebinger -
Bryan Richter -
Matthew Pickering -
Sebastian Graf -
Simon Peyton Jones -
Sylvain Henry -
Ömer Sinan Ağacan