This project is mirrored from https://github.com/haskell/haddock. Pull mirroring updated .
  1. 11 Feb, 2020 1 commit
  2. 03 Nov, 2019 1 commit
    • Ryan Scott's avatar
      Changes from #14579 · e6ca1009
      Ryan Scott authored
      We now have a top-level `tyConAppNeedsKindSig` function, which means
      that we can delete lots of code in `Convert`.
      
      (cherry picked from commit cfd682c5)
      e6ca1009
  3. 23 Oct, 2019 1 commit
  4. 08 Oct, 2019 1 commit
  5. 07 Oct, 2019 3 commits
  6. 01 Oct, 2019 1 commit
  7. 20 Sep, 2019 1 commit
  8. 04 Jun, 2019 1 commit
  9. 26 May, 2019 4 commits
  10. 17 May, 2019 2 commits
    • Alec Theriault's avatar
      Fix #1063 with better parenthesization logic for contexts · 384577e8
      Alec Theriault authored
      The only other change in html/hoogle/hyperlinker output for the boot
      libraries that this caused is a fix to some Hoogle output for implicit
      params.
      
      ```
      $ diff -r _build/docs/ old_docs
      diff -r _build/docs/html/libraries/base/base.txt old_docs/html/libraries/base/base.txt
      13296c13296
      < assertError :: (?callStack :: CallStack) => Bool -> a -> a
      ---
      > assertError :: ?callStack :: CallStack => Bool -> a -> a
      ```
      384577e8
    • Alec Theriault's avatar
      Unbreak #1004 test case · b4c2b90d
      Alec Theriault authored
      `fail` is no longer part of `Monad`.
      b4c2b90d
  11. 13 May, 2019 4 commits
  12. 05 May, 2019 2 commits
  13. 29 Mar, 2019 3 commits
  14. 09 Mar, 2019 4 commits
    • Alec Theriault's avatar
      Many LaTeX backend fixes · ae23b4f2
      Alec Theriault authored
      After this commit, we can run with `--latex` on all boot libraries
      without crashing (although the generated LaTeX still fails to compile in
      a handful of larger packages like `ghc` and `base`).
      
       * Add newlines after all block elements in LaTeX. This is important to
         prevent the final output from being more an more indented. See the
         `latext-test/src/Example` test case for a sample of this.
      
       * Support associated types in class declarations (but not yet defaults)
      
       * Several small issues for producing compiling LaTeX;
           - avoid empy `\haddockbeginargs` lists (ex: `type family Any`)
           - properly escape identifiers depending on context (ex: `Int#`)
           - add `vbox` around `itemize`/`enumerate` (so they can be in tables)
      
       * Several spacing fixes:
           - limit the width of `Pretty`-arranged monospaced code
           - cut out extra space characters in export lists
           - only escape spaces if there are _multiple_ spaces
           - allow type signatures to be multiline (even without docs)
      
       * Remove uninteresting and repetitive `main.tex`/`haddock.sty` files
         from `latex-test` test reference output.
      
      Fixes #935, #929 (LaTeX docs for `text` build & compile)
      Fixes #727, #930 (I think both are really about type families...)
      ae23b4f2
    • Alec Theriault's avatar
      Avoid multi-line `emph` in LaTeX backend · 747dfc71
      Alec Theriault authored
      `markupWarning` often processes inputs which span across paragraphs.
      Unfortunately, LaTeX's `emph` is not made to handle this (and will
      crash).
      
      Fixes #936.
      747dfc71
    • Alec Theriault's avatar
      Better support for default methods in classes · abb448ff
      Alec Theriault authored
        * default methods now get rendered differently
        * default associated types get rendered
        * fix a forgotten `s/TypeSig/ClassOpSig/` refactor in LaTeX backend
        * LaTeX backend now renders default method signatures
      
      NB: there is still no way to document default class members and the
      NB: LaTeX backend still crashes on associated types
      abb448ff
    • Alec Theriault's avatar
      Add .hi, .dyn_hi, etc files to .gitignore · 50cf0017
      Alec Theriault authored
      Fixes #1030.
      50cf0017
  15. 03 Mar, 2019 1 commit
  16. 01 Mar, 2019 1 commit
    • gershomb's avatar
      Increase contrast of Linuwal theme (#1037) · 8964666e
      gershomb authored
      This is to address the concern that, on less nice and older screens,
      some of the shades of grey blend in too easily with the white
      background.
      
       * darken the font slightly
       * darken slightly the grey behind type signatures and such
       * add a border and round the corners on code blocks
       * knock the font down by one point
      8964666e
  17. 28 Feb, 2019 2 commits
  18. 27 Feb, 2019 1 commit
    • Alec Theriault's avatar
      Fix bogus identifier defaulting · b682041e
      Alec Theriault authored
      This avoids a situation in which an identifier would get defaulted to
      a completely different identifier. Prior to this commit, the 'Bug1035'
      test case would hyperlink 'Foo' into 'Bar'!
      
      Fixes #1035.
      b682041e
  19. 26 Feb, 2019 1 commit
    • Alec Theriault's avatar
      Fix standalone deriving docs · 5d45da48
      Alec Theriault authored
      Docs on standalone deriving decls for classes with associated types
      should be associated with the class instance, not the associated type
      instance.
      
      Fixes #1033
      5d45da48
  20. 25 Feb, 2019 2 commits
    • Alec Theriault's avatar
      Better identifier parsing · a5199600
      Alec Theriault authored
        * '(<|>)' and '`elem`' now get parsed and rendered properly as links
        * 'DbModule'/'DbUnitId' now properly get split apart into two links
        * tuple names now get parsed properly
        * some more small niceties...
      
      The identifier parsing code is more precise and more efficient (although to be
      fair: it is also longer and in its own module). On the rendering side, we need
      to pipe through information about backticks/parens/neither all the way through
      from renaming to the backends.
      
      In terms of impact: a total of 35 modules in the entirety of the bootlib + ghc
      lib docs change. The only "regression" is things like '\0'. These should be
      changed to @\\0@ (the path by which this previously worked seems accidental).
      a5199600
    • Alec Theriault's avatar
      Support value/type namespaces on identifier links · dd47029c
      Alec Theriault authored
      Identifier links can be prefixed with a 'v' or 't' to indicate the value or
      type namespace of the desired identifier. For example:
      
      -- | Some link to a value: v'Data.Functor.Identity'
      --
      -- Some link to a type: t'Data.Functor.Identity'
      
      The default is still the type (with a warning about the ambiguity)
      dd47029c
  21. 04 Feb, 2019 3 commits
    • Ryan Scott's avatar
      Fix #1015 with dataConUserTyVars (#1022) · 44226fc0
      Ryan Scott authored
      The central trick in this patch is to use `dataConUserTyVars` instead of
      `univ_tvs ++ ex_tvs`, which displays the foralls in a GADT constructor in
      a way that's more faithful to how the user originally wrote it.
      
      Fixes #1015.
      44226fc0
    • Oleg Grenrus's avatar
      Make a fixture of weird parsing of lists (#997) · cacd245a
      Oleg Grenrus authored
      The second example is interesting.
      If there's a list directly after the header, and that list has
      deeper structure, the parser is confused: It finds two lists:
      
       - One with the first nested element,
       - everything after it
      
      I'm not trying to fix this, as I'm not even sure this is a bug,
      and not a feature.
      cacd245a
    • Alec Theriault's avatar
      Miscellaneous improvements to `Convert` (#1020) · aa9644fc
      Alec Theriault authored
      Now that Haddock is moving towards working entirely over `.hi` and `.hie` files,
      all declarations and types are going to be synthesized via the `Convert` module.
      In preparation for this change, here are a bunch of fixes to this module:
      
        * Add kind annotations to type variables in `forall`'s whose kind is not `Type`,
          unless the kind can be inferred from some later use of the variable. See
          `implicitForAll` and `noKindTyVars` in particular if you wish to dive into this.
      
        * Properly detect `HsQualTy` in `synifyType`. This is done by following suit with
          what GHC's `toIfaceTypeX` does and checking the first argument of
          `FunTy{} :: Type` to see if it classified as a given/wanted in the typechecker
          (see `isPredTy`). 
      
        * Beef up the logic around figuring out when an explicit `forall` is needed. This
          includes: observing if any of the type variables will need kind signatures, if the
          inferred type variable order _without_ a forall will still match the one GHC
          claims, and some other small things.
      
        * Add some (not yet used) functionality for default levity polymorphic type
          signatures. This functionality similar to `fprint-explicit-runtime-reps`.
      
      Couple other smaller fixes only worth mentioning:
      
        * Show the family result signature only when it isn't `Type`
        * Fix rendering of implicit parameters in the LaTeX and Hoogle backends
        * Better handling of the return kind of polykinded H98 data declarations
        * Class decls produced by `tyThingToLHsDecl` now contain associated type
          defaults and default method signatures when appropriate
        * Filter out more `forall`'s in pattern synonyms
      aa9644fc