lib: add Text::justify

Signed-off-by: Jean Privat <jean@pryen.org>
grammar: allow '`' inside foreign code blocks

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
xml: Port SAX 2.0.

This is a port of SAX 2.0.1 (http://www.saxproject.org) in Nit. The
following is **not** included in this port:

* Support for SAX1.
* Exceptions.
* Factories (requires run-time loading).

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
xml: Add classes to help testing a SAX parser.

Will be used to test SAXophoNit (A SAX parser in Nit).

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
xml: Introduce SAXophoNit, a SAX processor in Nit.

For the moment, this implementation is mostly non-compliant, but it
works with most common XML documents.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
xml: Add some tests for SAXpohoNit.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
xml: Add an usage example.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
lib/collection: minor fix to doc in list.nit

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
lib: add Array::+

Signed-off-by: Jean Privat <jean@pryen.org>
tests: update test_new_native_alt1 becaus eline change in array.nit

Signed-off-by: Jean Privat <jean@pryen.org>
example: add some tasks of Rosetta code

Signed-off-by: Jean Privat <jean@pryen.org>
Merge: grammar: allow '`' inside foreign code blocks

This was an old bug causing the use of ``` ` ``` within a foreign code block to break the block. Example:

~~~~
fun foo `{
    // Some comment on entity `foo` would prevent the whole block to be recognize
`}
~~~~

Pull-Request: #847
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Jean Privat <jean@pryen.org>
Merge: xml: Introduce SAXophoNit, a SAX processor in Nit.

This is a work in progress for a SAX processor in Nit.

Here is a sumary of what is (and what is not) supported at this point:
- [X] Content
- [X] XML declaration (parse it)
- [X] Acceptation of any XML document that Doxygen generates
- [ ] `DOCTYPE` declaration (or ignore it)
- [ ] XML declaration (do something with the settings)
- [x] Namespaces in XML
- [x] SAX mandatory feature flags
- [ ] XML 1.1
- [ ] Ignorable white space
- [ ] User-defined entities
- [ ] Encodings
- [ ] URIs
- [x] Test suite

Pull-Request: #802
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Merge: example: rosetta code

Starting playing #842
It is zen...

Pull-Request: #844
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Merge: Opportunity

Addresses a few issues mentionned  in #811 :
- Return to the meetup creation page when the creation fails (auto-complete fields with old info)
- Use real buttons for the addition/deletion of an attendee to a Meetup
- Forbid creation of a Meetup without at least one answer

I also added feedback when an error is produced when creating the Meetup via a system similar to what @xymus does for Benitlux.

There were a few bugs hidden in the code, the update of the compiler with checks on useless null tests has revealed two of them.

Pull-Request: #850
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
lib: fix semantic on has_substring on extreme cases

And avoid illegal access outside the string.

Signed-off-by: Jean Privat <jean@pryen.org>
phase: make `disabled=` public

Signed-off-by: Jean Privat <jean@pryen.org>
auto_super_init: make code robust if `typing` is disabled

Signed-off-by: Jean Privat <jean@pryen.org>
nitlight: disable `cached` since transformed AST cause issues in highlight

Signed-off-by: Jean Privat <jean@pryen.org>
highlight: fix css for line and foldable

Signed-off-by: Jean Privat <jean@pryen.org>