ignore .idea meta files
documentation fix in ScannerImpl
Accept symbol 'foo//' as the name '/' with the prefix 'foo'. #30
Merge branch 'release/0.4.3' into develop

* release/0.4.3:
  set version to 0.4.3 for release
prepare for development by settings version to develop-SNAPSHOT
add test confirming that edn-java rejects ::keywords

edn-format/edn#44 suggests a clarification of the spec to make explicit
that ::keywords are not supported by edn (having no concept of
current namespace).
add test showing that edn-java currently accepts leading zeros in ints

edn-format/edn#33 raises this problem that the current informal spec
seems to allow leading zeros on integers without specifying their
semantics.

clojure.core/read and clojure.edn/read both interpret a redundant
leading zero as indicating that the numeric literal is to be interpreted
as octal, such that:

    077 -> 63
    078 -> throws an Exception

edn-java accepts leading zeros, but gives them no particular
significance:

    077 -> 77
    078 -> 78

Presumably, the correct thing for end to do would be to forbid leading
zeros on integer literals.
add test showing that edn-java currently accepts leading zeros on floats

edn-format/edn#33 raises this problem that the current informal spec
seems to allow leading zeros on integers without specifying their
semantics.

It turns out that this is relevant for floating point literals as well.
README.md (the current informal edn standard) is pretty clear about
forbidding supurfluous leading zeros in the integer and exponent
portion of floating point numbers.

Nonetheless, these leading zeros are accepted by edn-java,
clojure.core/read and clojure.edn/read.

In this case, all three implementations simply ignore the leading
zeros. (In the case of integer literals, clojure.core/read and
clojure.edn/read both take a leading zero as a signal to interpret the
remainder of the integer as written in octal.
Merge branch 'feature/tests' into develop

* feature/tests:
  add test showing that edn-java currently accepts leading zeros on floats
  add test showing that edn-java currently accepts leading zeros in ints
  add test confirming that edn-java rejects ::keywords
WIP rough non-working sketch of pretty-print

see TODO comments in source.
wip: provide untested pretty printers for set and map
remove unnecessary local variable
This seems to work and passes a simple test
trade space for time when printing indentation

Also:
- rename Depth to PrettyPrintContext.
- Drop the idea of making basic indent configurable.
    (Two spaces ought to be enough for anyone.)
Provide a simple pretty-printer for edn data

Use:
- Printers.prettyProtocolBuilder()
- Printers.prettyPrinterProtocol()

Indentation is fixed at two spaces per level of indentation. Each value
in a list or set begins on a new line. Each key/value pair in a map
begins on a new line. Key and value are separated by a space.

{
  [
    "this list"
    "is a key"
  ] #{
    "This set"
    "is the"
    "corresponding"
    "value"
  }
}

The changes are intended to be backward compatible with the release
0.4.3, though this required some trickery with a ThreadLocal under
the covers. I'm considering searching for a nicer design that would
break backward compatibility for 0.5.0.

--
Merge branch 'feature/pp' into develop

* feature/pp:
  trade space for time when printing indentation
  This seems to work and passes a simple test
  remove unnecessary local variable
  wip: provide untested pretty printers for set and map
  WIP rough non-working sketch of pretty-print
LooseFormatter provides more readable, but still compact, edn printing

This style of formatting is inspired by  Mark Derricutt's pull request
https://github.com/talios/edn-java/commit/126f2c4ccb03b365b5fda1c1f3a2564c3eaaef89
though the implementation differs.

The implementation is written to use only the public API of Printers
(despite being in the same package), thus serving as an excellent
argument for rethinking the design of the API to better support
composition and extension. In this particular case, it would have been
very helpful indeed if the various writeXxxFn() methods were public.
Support symbols of the form 'foo//' as per CLJ-873

Such a symbol name will be read as name '/' with prefix 'foo'.
See also:
https://github.com/clojure/clojure/commit/a989c01eed7ce29cc7672b7a402e4f335d792882

--
Merge branch 'feature/issue30' into develop

* feature/issue30:
  Accept symbol 'foo//' as the name '/' with the prefix 'foo'. #30
  documentation fix in ScannerImpl
  ignore .idea meta files
README now documents use of pretty printer with an example
set version to 0.4.4 for release
Merge branch 'release/0.4.4'

* Provide a simple pretty-printer for edn data
  https://github.com/bpsm/edn-java/issues/13
  https://github.com/bpsm/edn-java/commit/428da6508b2601669ad12a7afaa90580824c7362

* LooseFormatter provides more readable, but still compact, edn printing
  https://github.com/bpsm/edn-java/pull/37

* recognize 'foo//' as a symbol
  https://github.com/bpsm/edn-java/issues/30