./textproc/hs-commonmark, Pure Haskell commonmark parser

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 0.2.4nb1, Package name: hs-commonmark-0.2.4nb1, Maintainer: pho

This library provides the core data types and functions for parsing
commonmark (https://spec.commonmark.org). The parser is fully
commonmark-compliant and passes the test suite. It is designed to be
customizable and easily extensible. To customize the output, create an
AST, or support a new output format, one need only define some new
typeclass instances. It is also easy to add new syntax elements or
modify existing ones.

Accurate information about source positions is available for all block
and inline elements. Thus the library can be used to create an
accurate syntax highlighter or an editor with live preview.

The parser has been designed for robust performance even in
pathological cases that tend to cause stack overflows or exponential
slowdowns in other parsers, with parsing speed that varies linearly
with input length.


Required to run:
[textproc/hs-unicode-transforms] [textproc/hs-unicode-data] [lang/ghc94]

Master sites:

Filesize: 100.218 KB

Version history: (Expand)


CVS history: (Expand)


   2023-11-02 07:37:49 by Masatake Daimon | Files touched by this commit (1141)
Log message:
Revbump all Haskell after updating lang/ghc96
   2023-10-28 11:52:23 by Masatake Daimon | Files touched by this commit (3)
Log message:
textproc/hs-commonmark: Update to 0.2.4

0.2.4
* Do not parse hard line breaks in fenced codeblock info (#116, Michael
  Howell). This change makes commonmark-hs conform to the spec and behave
  like other implementations when an info string in a code block ends with
  a backslash.
* [API change] Commonmark.Inlines now exports pEscapedSymbol (#116, Michael
  Howell).
* Tokenize combining marks as WordChars not Symbol (#114).
   2023-10-26 19:18:54 by Masatake Daimon | Files touched by this commit (4)
Log message:
textproc/hs-commonmark: Update to 0.2.3

0.2.3
* Re-export Text.Parsec.Pos from Commonmark.Types (Fraser Tweedale, #106).
   2023-10-09 06:55:01 by Masatake Daimon | Files touched by this commit (988)
Log message:
Bump Haskell packages after updating lang/ghc94
   2023-01-25 04:43:29 by Masatake Daimon | Files touched by this commit (4)
Log message:
textproc/hs-commonmark: 0.2.2

0.2.2
* Blocks: export getParentListType [API change].
* Require unicode-data >= 0.3.
* Change mkFormattingSpecMap so it integrates different FormattingSpecs
  that use the same character (#87). Otherwise we have problems if you have
  one formatting spec that reacts to single delimiters and another that
  reacts to pairs; if the first fails to match, the fallback behavior is
  produced and the second never matches.
* Use unicode-data's faster versions of Data.Char functions. This speeds up
  benchmarks for tokenize considerably; little difference in other
  benchmarks. unicode-data is already a transitive dependency, via
  unicode-transforms.
* Increase strictness in tokenize/go.
* Remove legacy cpp needed to support ghc < 8.4.
   2022-02-26 04:58:36 by Masatake Daimon | Files touched by this commit (872)
Log message:
Bump all Haskell packages after enabling "split sections" in mk/haskell.mk
   2022-02-12 09:51:00 by Masatake Daimon | Files touched by this commit (575)
Log message:
revbump after changing the default Haskell compiler
   2022-02-11 12:31:47 by Masatake Daimon | Files touched by this commit (3)
Log message:
Import commonmark-0.2.1.1

0.2.1.1
* Fix bug in prettyShow for SourceRange (#80). The bug led to an infinite
  loop in certain cases.

0.2.1
* Use official 0.30 spec.txt.
* Update HTML block parser for recent spec changes.
* Fix test case from commonmark/cmark#383. We need to index the list of
  stack bottoms not just by the length mod 3 of the closer but by whether
  it can be an opener, since this goes into the calculation of whether the
  delimiters can match.

0.2
* Commonmark.Inlines: export LinkInfo(..) [API change].
* Commonmark.Inlines: export pLink [API chage].
* Comonmark.ReferenceMap: Add linkPos field to LinkInfo [API change].
* Commonmark.Tokens: normalize unicode to NFC before tokenizing
  (#57). Normalization might affect detection of flankingness, recognition
  of reference links, etc.
* Commonmark.Html: add data-prefix to non-HTML5 attributes, as pandoc does.
* Remove unnecessary build-depends.
* Use lightweight tasty-bench instead of criterion for benchmarks.