Renders the paths as a list without showing which path imports another,
like this;
- cabal.project
- project-cabal/constraints.config
- project-cabal/ghc-latest.config
- project-cabal/ghc-options.config
- project-cabal/pkgs.config
- project-cabal/pkgs/benchmarks.config
- project-cabal/pkgs/buildinfo.config
- project-cabal/pkgs/cabal.config
- project-cabal/pkgs/install.config
- project-cabal/pkgs/integration-tests.config
- project-cabal/pkgs/tests.configExample1 expression >>> :{ do let ps = [ ProjectConfigPath ("cabal.project" :| []) , ProjectConfigPath ("project-cabal/constraints.config" :| ["cabal.project"]) , ProjectConfigPath ("project-cabal/ghc-latest.config" :| ["cabal.project"]) , ProjectConfigPath ("project-cabal/ghc-options.config" :| ["cabal.project"]) , ProjectConfigPath ("project-cabal/pkgs.config" :| ["cabal.project"]) , ProjectConfigPath ("project-cabal/pkgs/benchmarks.config" :| ["project-cabal/pkgs.config","cabal.project"]) , ProjectConfigPath ("project-cabal/pkgs/buildinfo.config" :| ["project-cabal/pkgs.config","cabal.project"]) , ProjectConfigPath ("project-cabal/pkgs/cabal.config" :| ["project-cabal/pkgs.config","cabal.project"]) , ProjectConfigPath ("project-cabal/pkgs/install.config" :| ["project-cabal/pkgs.config","cabal.project"]) , ProjectConfigPath ("project-cabal/pkgs/integration-tests.config" :| ["project-cabal/pkgs.config","cabal.project"]) , ProjectConfigPath ("project-cabal/pkgs/tests.config" :| ["project-cabal/pkgs.config","cabal.project"]) ] return . render $ docProjectConfigFiles ps :} "- cabal.project\n- project-cabal/constraints.config\n- project-cabal/ghc-latest.config\n- project-cabal/ghc-options.config\n- project-cabal/pkgs.config\n- project-cabal/pkgs/benchmarks.config\n- project-cabal/pkgs/buildinfo.config\n- project-cabal/pkgs/cabal.config\n- project-cabal/pkgs/install.config\n- project-cabal/pkgs/integration-tests.config\n- project-cabal/pkgs/tests.config" The listing puts projects first, URLs last and sorts the other paths
lexically, dropping any duplicates, like this:
- cabal.project
- 0.config
- 2.config
- cfg/1.config
- cfg/3.config
- with-ghc.config
- https://www.stackage.org/lts-21.25/cabal.configExample10 expressions >>> let p = ProjectConfigPath $ "cabal.project" :| []>>> let a = ProjectConfigPath $ "0.config" :| ["cabal.project"]>>> let b = ProjectConfigPath $ "cfg/1.config" :| ["0.config", "cabal.project"]>>> let c = ProjectConfigPath $ "with.config" :| ["0.config", "cabal.project"]>>> let d = ProjectConfigPath $ "2.config" :| ["cfg/1.config", "0.config", "cabal.project"]>>> let e = ProjectConfigPath $ "cfg/3.config" :| ["2.config", "cfg/1.config", "0.config", "cabal.project"]>>> let f = ProjectConfigPath $ "https://www.stackage.org/lts-21.25/cabal.config" :| ["2.config", "cfg/1.config", "0.config", "cabal.project"]>>> let g = ProjectConfigPath $ "https://www.stackage.org/lts-21.25/cabal.config" :| ["cfg/3.config", "2.config", "cfg/1.config", "0.config", "cabal.project"]>>> let ps = [p, a, b, c, d, e, f, g]>>> render $ docProjectConfigFiles ps"- cabal.project\n- 0.config\n- 2.config\n- cfg/1.config\n- cfg/3.config\n- with.config\n- https://www.stackage.org/lts-21.25/cabal.config"