]> git.wincent.com - docvim.git/log
docvim.git
6 years agoAdd Vim help integration tests
Greg Hurrell [Fri, 10 Jun 2016 16:27:06 +0000 (09:27 -0700)] 
Add Vim help integration tests

With the magic of copy-pasta. Will refactor away the duplication presently.

6 years agoIndentation
Greg Hurrell [Fri, 10 Jun 2016 16:20:11 +0000 (09:20 -0700)] 
Indentation

6 years agoAdd (Markdown) integration tests
Greg Hurrell [Fri, 10 Jun 2016 16:12:54 +0000 (09:12 -0700)] 
Add (Markdown) integration tests

Plaintext to follow. Just need to figure out a way to do it cleanly.

6 years agoAdd integration test files
Greg Hurrell [Fri, 10 Jun 2016 15:29:05 +0000 (08:29 -0700)] 
Add integration test files

Copied into place with:

git --git-dir ~/code/ferret/.git archive --prefix=ferret/input/ master | tar -x -C tests/fixtures/integration -f -
git --git-dir ~/code/scalpel/.git archive --prefix=scalpel/input/ master | tar -x -C tests/fixtures/integration -f -

Will add more of these, I guess, as I start using docvim in more places.

6 years agoMore misguided refactoring
Greg Hurrell [Fri, 10 Jun 2016 14:46:13 +0000 (07:46 -0700)] 
More misguided refactoring

6 years agoStart refactoring golden tests to support end-to-end testing
Greg Hurrell [Fri, 10 Jun 2016 14:26:21 +0000 (07:26 -0700)] 
Start refactoring golden tests to support end-to-end testing

6 years agoShow compiled AST when debug flag is set
Greg Hurrell [Fri, 10 Jun 2016 07:15:18 +0000 (00:15 -0700)] 
Show compiled AST when debug flag is set

6 years agoRemove a stale comment
Greg Hurrell [Fri, 10 Jun 2016 06:43:12 +0000 (23:43 -0700)] 
Remove a stale comment

6 years agoFix remaining lint about duplication
Greg Hurrell [Fri, 10 Jun 2016 06:42:22 +0000 (23:42 -0700)] 
Fix remaining lint about duplication

First lint-free status in months. Yay.

6 years agoMake linter happier about duplication
Greg Hurrell [Fri, 10 Jun 2016 06:40:03 +0000 (23:40 -0700)] 
Make linter happier about duplication

Still not entirely happy.

6 years agoAdd bin/clean script
Greg Hurrell [Fri, 10 Jun 2016 06:06:33 +0000 (23:06 -0700)] 
Add bin/clean script

6 years agoAdd bin/build script and use it
Greg Hurrell [Fri, 10 Jun 2016 06:06:20 +0000 (23:06 -0700)] 
Add bin/build script and use it

6 years agoFix remaining warnings
Greg Hurrell [Fri, 10 Jun 2016 05:56:21 +0000 (22:56 -0700)] 
Fix remaining warnings

Which means we can turn -Werror back on.

Made sure to get a full rebuild with:

```
rm -rf .stack-work/dist/*
bin/build # really just `stack build --file-watch`
bin/lint
bin/test
```

6 years agoFurther improve type annotations
Greg Hurrell [Fri, 10 Jun 2016 05:40:23 +0000 (22:40 -0700)] 
Further improve type annotations

6 years agoImprove Parse.hs type signatures
Greg Hurrell [Fri, 10 Jun 2016 05:24:50 +0000 (22:24 -0700)] 
Improve Parse.hs type signatures

With the help of:

http://stackoverflow.com/questions/37739029/understanding-parsec-type-annotations

Now warning-free.

6 years agoFix a bunch of warnings from -W -Wall
Greg Hurrell [Fri, 10 Jun 2016 04:30:16 +0000 (21:30 -0700)] 
Fix a bunch of warnings from -W -Wall

In many ways, this makes the code uglier, but have to get worse in order to get
better, I think. Will keep ploughing on.

6 years agoBack out -Werror
Greg Hurrell [Fri, 10 Jun 2016 01:11:48 +0000 (18:11 -0700)] 
Back out -Werror

Not ready for it yet after all, still plenty to do.

6 years agoRemove some over-zealous indentation
Greg Hurrell [Fri, 10 Jun 2016 01:02:18 +0000 (18:02 -0700)] 
Remove some over-zealous indentation

6 years agoTurn on -Wall -Werror -W
Greg Hurrell [Fri, 10 Jun 2016 01:02:18 +0000 (18:02 -0700)] 
Turn on -Wall -Werror -W

I think we're clean even with all these turned on. Great. Want this now that we
are not being explicit about imports.

Some tweaks needed to keep the tests clean. Notably, to deal with:

    Defaulting the following constraint(s) to type ‘Integer’
      (Eq a0) arising from a use of ‘@=?’ at tests/Tasty.hs:35:7-9
      (Num a0) arising from the literal ‘7’ at tests/Tasty.hs:35:5
      (Show a0) arising from a use of ‘@=?’ at tests/Tasty.hs:35:7-9
      (Num a0) arising from a use of ‘walk’ at tests/Tasty.hs:48:30-33

Need to opt out of `-fwarn-type-defaults` in Tasty.hs.

6 years agoCut back on explicit imports as per the GHC style guide
Greg Hurrell [Fri, 10 Jun 2016 01:00:39 +0000 (18:00 -0700)] 
Cut back on explicit imports as per the GHC style guide

Quoting:

> Do not use explicit import lists, except to resolve name clashes. There are several reasons for this:
>
> - They slow down development: almost every change is accompanied by an import
>   list change.
> - They cause spurious conflicts between developers.
> - They lead to useless warnings about unused imports, and time wasted trying
>   to keep the import declarations "minimal".
> - GHC's warnings are useful for detecting unnecessary imports: see
>   `-fwarn-unused-imports`.
> - TAGS is a good way to find out where an identifier is defined (use `make tags`
>   in `ghc/compiler`, and hit `M-.` in emacs).

https://ghc.haskell.org/trac/ghc/wiki/Commentary/CodingStyle

Fair enough then!

6 years agoSilence build complaints about tasty other-modules being messing
Greg Hurrell [Fri, 10 Jun 2016 01:00:39 +0000 (18:00 -0700)] 
Silence build complaints about tasty other-modules being messing

Specifically:

```
Warning: modules not listed in docvim.cabal for 'tasty' component (add to
other-modules):
```

6 years agoMove under Text.* namespace
Greg Hurrell [Thu, 9 Jun 2016 15:36:56 +0000 (08:36 -0700)] 
Move under Text.* namespace

Closes: https://github.com/wincent/docvim/issues/7
6 years agodoc: add CHANGELOG.md
Greg Hurrell [Thu, 9 Jun 2016 15:23:40 +0000 (08:23 -0700)] 
doc: add CHANGELOG.md

6 years agodoc: update README
Greg Hurrell [Thu, 9 Jun 2016 15:23:26 +0000 (08:23 -0700)] 
doc: update README

- Note new annotations.
- Add notes on release process.
- Add links section.
- Add installation section.

6 years agoPrepare for 0.0.0.2 release 0.2.0.0
Greg Hurrell [Thu, 9 Jun 2016 15:06:16 +0000 (08:06 -0700)] 
Prepare for 0.0.0.2 release

Previous release doesn't seem to be available for download, possibly due to a
mismatch in the version numbers/tags.

6 years agoFix ordering within links in TOC 0.1.0.0
Greg Hurrell [Thu, 9 Jun 2016 14:25:25 +0000 (07:25 -0700)] 
Fix ordering within links in TOC

6 years agoDon't hardwrap inside fenced codeblocks
Greg Hurrell [Thu, 9 Jun 2016 14:22:21 +0000 (07:22 -0700)] 
Don't hardwrap inside fenced codeblocks

6 years agoAdd source-repository info to docvim.cabal
Greg Hurrell [Thu, 9 Jun 2016 14:17:27 +0000 (07:17 -0700)] 
Add source-repository info to docvim.cabal

As recommended by `cabal check`.

6 years agoTry to make `toc` more readable
Greg Hurrell [Thu, 9 Jun 2016 14:11:59 +0000 (07:11 -0700)] 
Try to make `toc` more readable

Instead of threading the `suffix` through multiple layers of function calls,
create a new scope with an inner function `toc'` that we can use to have
implicit access to it instead.

I think this might be more readable, although it is still somewhat of a hot
mess.

6 years agoPrint TOC in Vim output
Greg Hurrell [Thu, 9 Jun 2016 07:52:03 +0000 (00:52 -0700)] 
Print TOC in Vim output

6 years agoMake sure generated headings appear in TOC node
Greg Hurrell [Thu, 9 Jun 2016 05:03:43 +0000 (22:03 -0700)] 
Make sure generated headings appear in TOC node

6 years agoMostly-working TOC generation for AST
Greg Hurrell [Thu, 9 Jun 2016 02:52:52 +0000 (19:52 -0700)] 
Mostly-working TOC generation for AST

Not used in printers yet, and also note that because the printers may generate
headings of their own, we are missing generated headings.

6 years agoRemove unused type declaration
Greg Hurrell [Wed, 8 Jun 2016 17:49:54 +0000 (10:49 -0700)] 
Remove unused type declaration

6 years agoUse function application operator as reducer
Greg Hurrell [Wed, 8 Jun 2016 14:22:21 +0000 (07:22 -0700)] 
Use function application operator as reducer

I like this.

6 years agoImprove ordering in the compiler
Greg Hurrell [Wed, 8 Jun 2016 14:10:51 +0000 (07:10 -0700)] 
Improve ordering in the compiler

Make the footer go at the end. Not that the order matters, this just looks
better. (And speaking of the ordering not matter, that makes me wonder if there
is something Applicative I could to here... Probably not. Also thinking of using
a State monad or even just a simple fold to get rid of those intermediate
bindings.)

6 years agoFix options parsing when no default value is provided
Greg Hurrell [Wed, 8 Jun 2016 07:40:28 +0000 (00:40 -0700)] 
Fix options parsing when no default value is provided

6 years agoPrefer named imports
Greg Hurrell [Wed, 8 Jun 2016 06:27:26 +0000 (23:27 -0700)] 
Prefer named imports

6 years agoInject other kinds of headings
Greg Hurrell [Wed, 8 Jun 2016 06:25:06 +0000 (23:25 -0700)] 
Inject other kinds of headings

Mostly seems to work? Other than some suspicious empty
headings in some golden files.

6 years agoDRY up injection
Greg Hurrell [Wed, 8 Jun 2016 06:15:31 +0000 (23:15 -0700)] 
DRY up injection

6 years agoAuto-inject @commands annotation when necessary
Greg Hurrell [Wed, 8 Jun 2016 06:11:33 +0000 (23:11 -0700)] 
Auto-inject @commands annotation when necessary

6 years agoFix lints
Greg Hurrell [Wed, 8 Jun 2016 06:10:35 +0000 (23:10 -0700)] 
Fix lints

6 years agoMore elegant solution for state passthrough
Greg Hurrell [Wed, 8 Jun 2016 02:07:23 +0000 (19:07 -0700)] 
More elegant solution for state passthrough

6 years agoAvoid unwanted intermediate list in `cosmosOf uniplate`
Greg Hurrell [Wed, 8 Jun 2016 01:41:34 +0000 (18:41 -0700)] 
Avoid unwanted intermediate list in `cosmosOf uniplate`

Who knows: perhaps Haskell's magical laziness would have made these equivalent,
or perhaps this still ends up producing an intermediate list. But at least it
*looks* better.

Figured out by poring over the function list in the lens docs looking for likely
candidates.

6 years agoUse mapM_ rather than mapM in the Section visitor
Greg Hurrell [Tue, 7 Jun 2016 16:39:59 +0000 (09:39 -0700)] 
Use mapM_ rather than mapM in the Section visitor

To make it clear that we don't care about the results, only the state.

6 years agoAdd Section visitor
Greg Hurrell [Tue, 7 Jun 2016 16:26:51 +0000 (09:26 -0700)] 
Add Section visitor

It's job is to check which kinds of annotations we have, in order to decide
which sections we need to render.

I am probably doing something clowny with the way I am mashing uniplate and
lenses etc together, but it does seem to work. That last `get`/`put` case is a
smell, but needed it given my use of `cosmosOf`; not sure how to avoid that.
Also, not sure why `mapM` does the right thing here, but it does.

6 years agoTry to trick linter about duplication
Greg Hurrell [Tue, 7 Jun 2016 14:29:42 +0000 (07:29 -0700)] 
Try to trick linter about duplication

It's been warning about this since forever:

```
Found:
  first <- firstLine
  rest <- many otherLine
  let nodes = concatMap appendWhitespace (first : rest)
  let compressed = compress nodes
  return
    (if last compressed == Whitespace then init compressed else
       compressed)

Why not:
  Combine with lib/Docvim/Parse.hs:202:7

lib/Docvim/Parse.hs:164:7: Warning: Reduce duplication
Found:
  first <- firstLine
  rest <- many otherLine
  let nodes = concatMap appendWhitespace (first : rest)
  let compressed = compress nodes
  return
    (if last compressed == Whitespace then init compressed else
       compressed)

Why not:
  Combine with lib/Docvim/Parse.hs:285:7
```

However, it is too smart. Even with this change, it still complains:

```
Found:
  first <- firstLine
  rest <- many otherLine
  let nodes = concatMap appendWhitespace (first : rest)
  let compressed = compress nodes
  return
    (if last compressed == Whitespace then init compressed else
       compressed)

Why not:
  Combine with lib/Docvim/Parse.hs:282:7

lib/Docvim/Parse.hs:165:7: Suggestion: Reduce duplication
Found:
  rest <- many otherLine
  let nodes = concatMap appendWhitespace (first : rest)
  let compressed = compress nodes
  return
    (if last compressed == Whitespace then init compressed else
       compressed)

Why not:
  Combine with lib/Docvim/Parse.hs:203:7
```

This one is tricky to factor out because of the dependence on bindings visible
within the scope of the defined functions, and also the monadic execution
context. I think the linter *is* probably right that there is a code smell here,
though; I just have to figure out how to remove it.

6 years agoAdd @option headings to Markdown printer
Greg Hurrell [Tue, 7 Jun 2016 14:23:35 +0000 (07:23 -0700)] 
Add @option headings to Markdown printer

6 years agoAdd a target for |:Command| links in Markdown
Greg Hurrell [Tue, 7 Jun 2016 14:15:11 +0000 (07:15 -0700)] 
Add a target for |:Command| links in Markdown

6 years agoRemove unnecessary explicit anchors in headings
Greg Hurrell [Tue, 7 Jun 2016 14:11:03 +0000 (07:11 -0700)] 
Remove unnecessary explicit anchors in headings

GitHub is going to add them anyway. Note that our |:Ack| links
don't work, because we aren't rendering that link target (we should).

6 years agoDo some linkification in the Markdown printer
Greg Hurrell [Tue, 7 Jun 2016 14:02:09 +0000 (07:02 -0700)] 
Do some linkification in the Markdown printer

This is provisional as I think putting the explicit link targets in the heading
for GitHub is wrong.

6 years agoTeach Markdown printer about @mapping and @command
Greg Hurrell [Tue, 7 Jun 2016 07:38:03 +0000 (00:38 -0700)] 
Teach Markdown printer about @mapping and @command

6 years agoAdd @mapping support to Vim printer
Greg Hurrell [Tue, 7 Jun 2016 07:28:20 +0000 (00:28 -0700)] 
Add @mapping support to Vim printer

6 years agoGet @command annotation working
Greg Hurrell [Tue, 7 Jun 2016 07:16:46 +0000 (00:16 -0700)] 
Get @command annotation working

6 years agoMake wrapping aware of concealed characters
Greg Hurrell [Tue, 7 Jun 2016 02:04:40 +0000 (19:04 -0700)] 
Make wrapping aware of concealed characters

This is the cheap-but-approximate approach. Results are reasonable, costs are
very low, and the consequences of being (slightly) wrong are livable. Let's go
with this for now.

6 years agoKill a stray comment
Greg Hurrell [Mon, 6 Jun 2016 15:57:19 +0000 (08:57 -0700)] 
Kill a stray comment

6 years agoUse worktree as issue tracker
Greg Hurrell [Mon, 6 Jun 2016 15:48:07 +0000 (08:48 -0700)] 
Use worktree as issue tracker

Taking standards to new lows.

6 years agoFix misplaced whitespace in output
Greg Hurrell [Mon, 6 Jun 2016 15:47:16 +0000 (08:47 -0700)] 
Fix misplaced whitespace in output

6 years agoAdd test showing @option output
Greg Hurrell [Mon, 6 Jun 2016 15:41:05 +0000 (08:41 -0700)] 
Add test showing @option output

Something buggy in the parser: note that we have to explicitly say "none" for
the no-default case, but I intended that to be simply omittable.

6 years agoPrint options
Greg Hurrell [Mon, 6 Jun 2016 15:31:14 +0000 (08:31 -0700)] 
Print options

Alignment will need a bit of work here, but this is a good first draft.

Specifically, if we want things to look like this in the UI:

                                g:SomeOpt
    g:SomeOpt        string (default: 10)

The output will actually need to be:

                                *g:SomeOpt*
    |g:SomeOpt|        string (default: 10)

Because `|` and `*` don't take up any width due to being concealed by Vim.

6 years agoFix lints
Greg Hurrell [Mon, 6 Jun 2016 14:46:18 +0000 (07:46 -0700)] 
Fix lints

6 years agoUse actual max int rather than hard-coded constant
Greg Hurrell [Mon, 6 Jun 2016 14:38:46 +0000 (07:38 -0700)] 
Use actual max int rather than hard-coded constant

6 years agoHandle overlength headings
Greg Hurrell [Mon, 6 Jun 2016 14:36:52 +0000 (07:36 -0700)] 
Handle overlength headings

#uglycode

6 years agoFix duplicate content
Greg Hurrell [Mon, 6 Jun 2016 14:17:10 +0000 (07:17 -0700)] 
Fix duplicate content

6 years agoInitial cut at @mapping, @command, @option, @function
Greg Hurrell [Mon, 6 Jun 2016 13:55:27 +0000 (06:55 -0700)] 
Initial cut at @mapping, @command, @option, @function

Still some bugs to sort out (eg. duplicate symbol table entry due to extra
`MappingsAnnotation` when we perform extraction) and polish to apply (not
actually printing the options/functions etc).

6 years agoMake Vim headings work by colocating link targets on same line
Greg Hurrell [Mon, 6 Jun 2016 08:03:58 +0000 (01:03 -0700)] 
Make Vim headings work by colocating link targets on same line

6 years agoAdd entries to symbol table for generated headings
Greg Hurrell [Mon, 6 Jun 2016 06:53:25 +0000 (23:53 -0700)] 
Add entries to symbol table for generated headings

6 years agoAutogen headings in Vim printer too
Greg Hurrell [Mon, 6 Jun 2016 06:38:46 +0000 (23:38 -0700)] 
Autogen headings in Vim printer too

6 years agoAdd auto-generated headings to Markdown printer
Greg Hurrell [Mon, 6 Jun 2016 06:19:08 +0000 (23:19 -0700)] 
Add auto-generated headings to Markdown printer

For @functions, @commands, @mappings, @options.

6 years agoAdd basic support for @options, @functions and @commands annotations
Greg Hurrell [Mon, 6 Jun 2016 05:14:09 +0000 (22:14 -0700)] 
Add basic support for @options, @functions and @commands annotations

Still need to auto-emit headings for these, but I think they basically work.
Also need to make `Option`, `Function` and `Command` visitors.

6 years agoOverhaul testing and compilation
Greg Hurrell [Sun, 5 Jun 2016 14:06:32 +0000 (07:06 -0700)] 
Overhaul testing and compilation

We now "compile" in the test suite, meaning that we pipe our translation units
through the various extraction transforms after parsing. This means three main
things:

- Everything is nested inside a `Project` node type now, consisting of one or
  more translation units.
- Nodes within the project are ordered (or reordered) to maintain desired
  section ordering.
- As we add more phases to "compilation" (eg. automated insertion of table
  of contents etc), these will get reflected in the test suite automatically.

As part of this, extracted test-specific bits out into a new `Util` module (ie.
pretty-printing methods, convenience functions) and the "compile" pipeline into
a `Compile` module.

6 years agoAdd a missing type annotation
Greg Hurrell [Sun, 5 Jun 2016 08:46:09 +0000 (01:46 -0700)] 
Add a missing type annotation

6 years agoDon't rely on transformers
Greg Hurrell [Sun, 5 Jun 2016 08:44:47 +0000 (01:44 -0700)] 
Don't rely on transformers

Don't want two monad transformer libraries at play here
needlessly.

6 years agoKill off an out-of-date comment
Greg Hurrell [Sun, 5 Jun 2016 08:40:24 +0000 (01:40 -0700)] 
Kill off an out-of-date comment

6 years agoFix copy pasta error
Greg Hurrell [Sun, 5 Jun 2016 08:40:07 +0000 (01:40 -0700)] 
Fix copy pasta error

Suprised neither the compiler nor the tests seemed to
complain about this.

6 years agoDRY up other visitors
Greg Hurrell [Sun, 5 Jun 2016 08:35:55 +0000 (01:35 -0700)] 
DRY up other visitors

6 years agoMore simplification
Greg Hurrell [Sun, 5 Jun 2016 08:22:31 +0000 (01:22 -0700)] 
More simplification

6 years agoTrim down imports
Greg Hurrell [Sun, 5 Jun 2016 08:15:18 +0000 (01:15 -0700)] 
Trim down imports

6 years agoMore DRYing
Greg Hurrell [Sun, 5 Jun 2016 08:03:07 +0000 (01:03 -0700)] 
More DRYing

6 years agoFurther visitor DRYing
Greg Hurrell [Sun, 5 Jun 2016 07:57:30 +0000 (00:57 -0700)] 
Further visitor DRYing

6 years agoTidy indentation
Greg Hurrell [Sun, 5 Jun 2016 07:43:06 +0000 (00:43 -0700)] 
Tidy indentation

6 years agoFix lints
Greg Hurrell [Sun, 5 Jun 2016 07:37:04 +0000 (00:37 -0700)] 
Fix lints

6 years agoExtract Visitor module
Greg Hurrell [Sun, 5 Jun 2016 07:30:29 +0000 (00:30 -0700)] 
Extract Visitor module

First step in factoring out some of the duplication here.

6 years agoRemove some old comments
Greg Hurrell [Sun, 5 Jun 2016 06:23:47 +0000 (23:23 -0700)] 
Remove some old comments

6 years agoFix indentation
Greg Hurrell [Sun, 5 Jun 2016 06:23:31 +0000 (23:23 -0700)] 
Fix indentation

6 years agoSuppress unwanted trailing whitespace
Greg Hurrell [Sun, 5 Jun 2016 06:12:13 +0000 (23:12 -0700)] 
Suppress unwanted trailing whitespace

6 years agoFurther refine hard-wrapping
Greg Hurrell [Sun, 5 Jun 2016 05:03:05 +0000 (22:03 -0700)] 
Further refine hard-wrapping

6 years agoBe better about hard-wrap placement
Greg Hurrell [Sun, 5 Jun 2016 04:26:53 +0000 (21:26 -0700)] 
Be better about hard-wrap placement

Still needs a refactor, but the output is better.

6 years agoRename `hardwrap` -> `textwidth`
Greg Hurrell [Sun, 5 Jun 2016 03:39:46 +0000 (20:39 -0700)] 
Rename `hardwrap` -> `textwidth`

Because I want to use the name `hardwrap` for a function as part of some
imminent refactoring.

6 years agoAlign
Greg Hurrell [Sun, 5 Jun 2016 03:37:14 +0000 (20:37 -0700)] 
Align

6 years agoAlways link unconditionally in Vim help output
Greg Hurrell [Sun, 5 Jun 2016 03:35:11 +0000 (20:35 -0700)] 
Always link unconditionally in Vim help output

May not even need the symbol table at all in this printer, but we'll keep it
around for now, just in case.

6 years agoReplace a literal that I missed with a constant
Greg Hurrell [Sun, 5 Jun 2016 03:32:40 +0000 (20:32 -0700)] 
Replace a literal that I missed with a constant

6 years agoMove hardwrapping from `plaintext` into `append`
Greg Hurrell [Sat, 4 Jun 2016 22:01:56 +0000 (15:01 -0700)] 
Move hardwrapping from `plaintext` into `append`

Solves a bunch of issues, creates others, which I will have to fix in a
follow-up. The code itself is a complex, fragile, ugly, clusterfuck, so consider
this a work-in-progress.

Additionally, there are some unfortunate breaks which were there before and
continue to be there, like just inside parens, and things like that. Will need
to sort all that out too.

6 years agoTidy
Greg Hurrell [Sat, 4 Jun 2016 20:36:54 +0000 (13:36 -0700)] 
Tidy

6 years agoGet rid of meaningless distinction in Markdown printer
Greg Hurrell [Sat, 4 Jun 2016 20:35:40 +0000 (13:35 -0700)] 
Get rid of meaningless distinction in Markdown printer

All the cases must return Env, so let's put them all together
whether or not they explicitly access the state.

6 years agoShare integration tests inputs across output types
Greg Hurrell [Sat, 4 Jun 2016 14:20:49 +0000 (07:20 -0700)] 
Share integration tests inputs across output types

May eventually share other things too (I still have some
manual symlinks going on), but this is a good start.

6 years agoMake slurping a little more robust
Greg Hurrell [Sat, 4 Jun 2016 14:01:40 +0000 (07:01 -0700)] 
Make slurping a little more robust

But note remaining caveat inline. This really
should only be used to trim whitespace, at least
for now.

6 years agoRemove unwanted blank lines before fenced code blocks
Greg Hurrell [Sat, 4 Jun 2016 13:52:46 +0000 (06:52 -0700)] 
Remove unwanted blank lines before fenced code blocks

But note that this is a little bit fragile, even though
the tests pass. More work can be done to make this more
robust.

6 years agoFix some lints
Greg Hurrell [Sat, 4 Jun 2016 07:00:06 +0000 (00:00 -0700)] 
Fix some lints

6 years agoReorder things
Greg Hurrell [Sat, 4 Jun 2016 06:57:40 +0000 (23:57 -0700)] 
Reorder things

6 years agoEliminate unwanted trailing whitespace
Greg Hurrell [Sat, 4 Jun 2016 04:20:39 +0000 (21:20 -0700)] 
Eliminate unwanted trailing whitespace