nit.git
8 years agosrc/rta: import csv publicly.
Jean Privat [Sun, 29 Nov 2015 01:14:08 +0000 (20:14 -0500)]
src/rta: import csv publicly.

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

8 years agonitc/ffi: make private some top-level methods
Jean Privat [Sun, 29 Nov 2015 01:13:35 +0000 (20:13 -0500)]
nitc/ffi: make private some top-level methods

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

8 years agocore/text: Text::substrings is private
Jean Privat [Sun, 29 Nov 2015 01:12:56 +0000 (20:12 -0500)]
core/text: Text::substrings is private

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

8 years agocore: remove useless return types
Jean Privat [Sun, 29 Nov 2015 01:12:30 +0000 (20:12 -0500)]
core: remove useless return types

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

8 years agoMerge: Simple threadpool implementation
Jean Privat [Sat, 28 Nov 2015 17:14:51 +0000 (12:14 -0500)]
Merge: Simple threadpool implementation

A really basic implementation of a threadpool, using an array as queue for now.

Pull-Request: #1848
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

8 years agoSkipping threadpool_example
BlackMinou [Fri, 27 Nov 2015 20:57:45 +0000 (15:57 -0500)]
Skipping threadpool_example

Signed-off-by: BlackMinou <romain.chanoir@viacesi.fr>

8 years agosimple threadpool implementation
BlackMinou [Tue, 24 Nov 2015 16:01:15 +0000 (11:01 -0500)]
simple threadpool implementation

Signed-off-by: BlackMinou <romain.chanoir@viacesi.fr>

8 years agoMerge: Bytes update
Jean Privat [Sat, 28 Nov 2015 14:13:02 +0000 (09:13 -0500)]
Merge: Bytes update

Various updates to `Bytes`, added a new escaping method taking into account \u and \x escape sequences

Also added a add_char method to `Bytes` for convenience.

`to_bytes` in Text now has an optional length parameter for those who wish not to rely on `cstring_length` (or did not want to pay the cost) for the length in bytes.

Pull-Request: #1850
Reviewed-by: Jean Privat <jean@pryen.org>

8 years agolib/core: Added escaping method to Bytes for use in compiler
Lucas Bajolet [Fri, 27 Nov 2015 16:10:49 +0000 (11:10 -0500)]
lib/core: Added escaping method to Bytes for use in compiler

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

8 years agoMerge: Prefix grammar
Jean Privat [Fri, 27 Nov 2015 21:00:31 +0000 (16:00 -0500)]
Merge: Prefix grammar

Update of the grammar to support the enhancement of literal strings and chars via prefixes (see issue #1734)

Pull-Request: #1851
Reviewed-by: Jean Privat <jean@pryen.org>

8 years agolib/core: Added copy method `to_bytes_with_copy` in Text
Lucas Bajolet [Fri, 27 Nov 2015 16:07:10 +0000 (11:07 -0500)]
lib/core: Added copy method `to_bytes_with_copy` in Text

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

8 years agolib/core: Added `add_char` method to `Bytes`
Lucas Bajolet [Fri, 27 Nov 2015 16:06:29 +0000 (11:06 -0500)]
lib/core: Added `add_char` method to `Bytes`

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

8 years agolib/markdown: Fixed spacing issue in which a `then` was mistaken for a suffix
Lucas Bajolet [Fri, 27 Nov 2015 16:54:14 +0000 (11:54 -0500)]
lib/markdown: Fixed spacing issue in which a `then` was mistaken for a suffix

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

8 years agoparser: Regenerated tables for previous commit
Lucas Bajolet [Fri, 27 Nov 2015 16:15:58 +0000 (11:15 -0500)]
parser: Regenerated tables for previous commit

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

8 years agoparser: Updated grammar to support prefixed and suffixed `String` and `Char`
Lucas Bajolet [Fri, 27 Nov 2015 16:15:39 +0000 (11:15 -0500)]
parser: Updated grammar to support prefixed and suffixed `String` and `Char`

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

8 years agoMerge: nitrpg: update the userscript to the new github layout and fix todos
Jean Privat [Thu, 26 Nov 2015 18:52:33 +0000 (13:52 -0500)]
Merge: nitrpg: update the userscript to the new github layout and fix todos

Basically a rewrite, but it works on my computer

Pull-Request: #1849
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

8 years agoMerge: svg_to_icons: add an option to generate icons with different names
Jean Privat [Thu, 26 Nov 2015 18:52:31 +0000 (13:52 -0500)]
Merge: svg_to_icons: add an option to generate icons with different names

Pull-Request: #1847
Reviewed-by: Jean Privat <jean@pryen.org>

8 years agoMerge: Improve the doc of `CurlHTTPRequest`
Jean Privat [Thu, 26 Nov 2015 18:52:29 +0000 (13:52 -0500)]
Merge: Improve the doc of `CurlHTTPRequest`

This is still far from an ideal doc but its better than nothing.

This doc will be useful for #1845.

Pull-Request: #1846
Reviewed-by: Jean Privat <jean@pryen.org>

8 years agolib/neo4j: fix conflict on `data` in custom implementations of post requests
Alexis Laferrière [Wed, 25 Nov 2015 20:22:25 +0000 (15:22 -0500)]
lib/neo4j: fix conflict on `data` in custom implementations of post requests

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

8 years agonitrpg: update the userscript to the new github layout and fix todos
Jean Privat [Wed, 25 Nov 2015 19:48:31 +0000 (14:48 -0500)]
nitrpg: update the userscript to the new github layout and fix todos

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

8 years agoMerge: model: fix `try_get_primitive_method`
Jean Privat [Wed, 25 Nov 2015 19:22:51 +0000 (14:22 -0500)]
Merge: model: fix `try_get_primitive_method`

The implementation was an old code that did not use modern facilities,
moreover it was broken anyway.

Reported-by: Lucas Bajolet <r4pass@hotmail.com>

Pull-Request: #1844
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Romain Chanoir <romain.chanoir@viacesi.fr>

8 years agolib/curl: better doc for `CurlHTTPRequest`
Alexis Laferrière [Wed, 25 Nov 2015 18:58:50 +0000 (13:58 -0500)]
lib/curl: better doc for `CurlHTTPRequest`

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

8 years agolib/curl: `CurlHTTPRequest::datas` to `data`
Alexis Laferrière [Wed, 25 Nov 2015 18:29:30 +0000 (13:29 -0500)]
lib/curl: `CurlHTTPRequest::datas` to `data`

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

8 years agomodel: fix `try_get_primitive_method`
Jean Privat [Wed, 25 Nov 2015 16:50:04 +0000 (11:50 -0500)]
model: fix `try_get_primitive_method`

The implementation was an old code that did not use modern facilities,
moreover it was broken anyway.

Reported-by: Lucas Bajolet <r4pass@hotmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

8 years agocontrib/inkscape_tools: add option to generate icons with different names
Alexis Laferrière [Sun, 22 Nov 2015 22:52:25 +0000 (17:52 -0500)]
contrib/inkscape_tools: add option to generate icons with different names

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

8 years agoMerge: Tests: cleanup old_style_init in some tests
Jean Privat [Mon, 23 Nov 2015 20:57:53 +0000 (15:57 -0500)]
Merge: Tests: cleanup old_style_init in some tests

In preparation of a future PR on constructors (cf. #1800), this is a simple cleanup (and bugfix) of some tests.

Pull-Request: #1842
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Romain Chanoir <romain.chanoir@viacesi.fr>

8 years agotests: update init in (de)serialization
Jean Privat [Mon, 23 Nov 2015 18:37:43 +0000 (13:37 -0500)]
tests: update init in (de)serialization

also fix bug where `n` was not correctly set (new constructors powa!)

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

8 years agotests: remove some old_style_init
Jean Privat [Mon, 23 Nov 2015 16:30:44 +0000 (11:30 -0500)]
tests: remove some old_style_init

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

8 years agotests: remove deprecated test base_attr_def
Jean Privat [Mon, 23 Nov 2015 16:30:06 +0000 (11:30 -0500)]
tests: remove deprecated test base_attr_def

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

8 years agoMerge: Jwrapper: Fix bug with nested classes
Jean Privat [Mon, 23 Nov 2015 14:27:03 +0000 (09:27 -0500)]
Merge: Jwrapper: Fix bug with nested classes

Fixes the nested classes bug in jwrapper.

Splits JNI full name and java full name.
Generated comments use JNI full name.

Pull-Request: #1841
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agoRename JavaClass package_name to full_java_name
Frédéric Vachon [Sun, 22 Nov 2015 02:42:47 +0000 (21:42 -0500)]
Rename JavaClass package_name to full_java_name

Signed-off-by: Frédéric Vachon <fredvac@gmail.com>

8 years agoUse JNI full name in generated comments
Frédéric Vachon [Wed, 18 Nov 2015 21:44:40 +0000 (16:44 -0500)]
Use JNI full name in generated comments

Signed-off-by: Frédéric Vachon <fredvac@gmail.com>

8 years agoMerge: Performance fix for comparison in FlatString
Jean Privat [Fri, 20 Nov 2015 13:41:46 +0000 (08:41 -0500)]
Merge: Performance fix for comparison in FlatString

As reported in #1838, a lot of unnecessary unboxings were done when comparing bytes in FlatString, this should be fixed by short-cutting the access to the bytes of a FlatString via `_items`.

Also while I was at it, the operation is now optimized when working on any `FlatText`

Pull-Request: #1840
Reviewed-by: Jean Privat <jean@pryen.org>

8 years agotests: Update sav for stats test
Lucas Bajolet [Thu, 19 Nov 2015 19:01:24 +0000 (14:01 -0500)]
tests: Update sav for stats test

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

8 years agolib/core: Allow comparison operators to work on any subclass of FlatText
Lucas Bajolet [Tue, 17 Nov 2015 21:05:43 +0000 (16:05 -0500)]
lib/core: Allow comparison operators to work on any subclass of FlatText

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

8 years agolib/core: Perfize < for FlatString which caused a lot of unneccessary boxings
Lucas Bajolet [Tue, 17 Nov 2015 21:05:14 +0000 (16:05 -0500)]
lib/core: Perfize < for FlatString which caused a lot of unneccessary boxings

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

8 years agoSplits JNI and Java full name
Frédéric Vachon [Wed, 18 Nov 2015 21:38:36 +0000 (16:38 -0500)]
Splits JNI and Java full name

Signed-off-by: Frédéric Vachon <fredvac@gmail.com>

8 years agoMerge: android: use the Android Java API to load pixel data instead of libpng
Jean Privat [Wed, 18 Nov 2015 18:42:07 +0000 (13:42 -0500)]
Merge: android: use the Android Java API to load pixel data instead of libpng

Use the Android Java API to load and decompress image files, and remove the old use of a local copy of libpng. This new system is much more simple, produces smaller APK files (~30% smaller) and supports more image formats, including jpeg. It relies on the Java FFI to access the API and the C FFI to move pixels around.

Pull-Request: #1835
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

8 years agolib/c: rename memmove to move
Alexis Laferrière [Wed, 18 Nov 2015 15:59:20 +0000 (10:59 -0500)]
lib/c: rename memmove to move

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

8 years agoMerge: Clean up constructors in core/text
Jean Privat [Wed, 18 Nov 2015 14:03:10 +0000 (09:03 -0500)]
Merge: Clean up constructors in core/text

Remove useless named init when automatic-constructor are sufficient, and remove old_style_init when named init are sufficient.

This lib cleanup is part of an ongoing cleanup of constructors, see #1800

Pull-Request: #1839
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

8 years agoMerge: tests: add test_sort_perf.nit
Jean Privat [Wed, 18 Nov 2015 14:03:06 +0000 (09:03 -0500)]
Merge: tests: add test_sort_perf.nit

This test illustrate a current issue with string comparisons.
On my machine, a valgrind of it gives 80+% on BOX_Byte.

Pull-Request: #1838
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

8 years agoMerge: libevent & nitcorn: close connections on error and implement callbacks in Nit
Jean Privat [Wed, 18 Nov 2015 14:03:01 +0000 (09:03 -0500)]
Merge: libevent & nitcorn: close connections on error and implement callbacks in Nit

This PR moves the implementation of libevent callbacks from C to Nit to enable specialization and refinements of the callbacks, it should help for #1803. Also the event callback closes the connection on the Nit side on errors so servers do not attempt to write on broken connections, it should fix the current crash on http://xymus.net/ with Tnitter clients.

Also update the only user of `read_callback_native` for the new API. And seize this opportunity to rename the module, replace class refinement with specialization, clean up the doc and optimize a bit how it handle strings.

Pull-Request: #1836
Reviewed-by: Jean Privat <jean@pryen.org>

8 years agocore/ropes: remove old_style_init, use only named init (not ideal but better)
Jean Privat [Tue, 17 Nov 2015 18:51:01 +0000 (13:51 -0500)]
core/ropes: remove old_style_init, use only named init (not ideal but better)

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

8 years agocore/flat: remove named init `with_pos` and use auto-constructor
Jean Privat [Tue, 17 Nov 2015 18:50:12 +0000 (13:50 -0500)]
core/flat: remove named init `with_pos` and use auto-constructor

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

8 years agolib/mnit: pad loaded images to the closest power of 2 on Android
Alexis Laferrière [Tue, 17 Nov 2015 18:29:04 +0000 (13:29 -0500)]
lib/mnit: pad loaded images to the closest power of 2 on Android

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

8 years agolib/mnit: Android images always have an alpha channel once decoded
Alexis Laferrière [Tue, 17 Nov 2015 18:28:20 +0000 (13:28 -0500)]
lib/mnit: Android images always have an alpha channel once decoded

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

8 years agolib/android: revert Android's multiplication of color values with alpha
Alexis Laferrière [Tue, 17 Nov 2015 18:27:07 +0000 (13:27 -0500)]
lib/android: revert Android's multiplication of color values with alpha

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

8 years agotests: add test_sort_perf.nit
Jean Privat [Tue, 17 Nov 2015 17:35:56 +0000 (12:35 -0500)]
tests: add test_sort_perf.nit

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

8 years agolib/nitcorn: http_request_buffer feed the request to read_http_request
Alexis Laferrière [Tue, 17 Nov 2015 14:26:38 +0000 (09:26 -0500)]
lib/nitcorn: http_request_buffer feed the request to read_http_request

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

8 years agolib/nitcorn: update doc and style of http_request_buffer
Alexis Laferrière [Tue, 17 Nov 2015 14:25:08 +0000 (09:25 -0500)]
lib/nitcorn: update doc and style of http_request_buffer

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

8 years agolib/nitcorn: http_request_buffer subclass Connection instead of refining it
Alexis Laferrière [Tue, 17 Nov 2015 14:22:36 +0000 (09:22 -0500)]
lib/nitcorn: http_request_buffer subclass Connection instead of refining it

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

8 years agolib/nitcorn: slightly optimize http_request_buffer
Alexis Laferrière [Tue, 17 Nov 2015 14:20:51 +0000 (09:20 -0500)]
lib/nitcorn: slightly optimize http_request_buffer

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

8 years agolib/nitcorn: rename http_request_parser to http_request_buffer
Alexis Laferrière [Tue, 17 Nov 2015 14:27:22 +0000 (09:27 -0500)]
lib/nitcorn: rename http_request_parser to http_request_buffer

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

8 years agolib/libevent: move error callback to Nit and close connection on error
Alexis Laferrière [Tue, 17 Nov 2015 14:50:41 +0000 (09:50 -0500)]
lib/libevent: move error callback to Nit and close connection on error

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

8 years agolib/libevent: move read and write callbacks implementation from C to Nit
Alexis Laferrière [Tue, 17 Nov 2015 02:25:24 +0000 (21:25 -0500)]
lib/libevent: move read and write callbacks implementation from C to Nit

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

8 years agolib/libevent: wrap more services from the C API to access from Nit
Alexis Laferrière [Tue, 17 Nov 2015 14:37:08 +0000 (09:37 -0500)]
lib/libevent: wrap more services from the C API to access from Nit

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

8 years agolib/libevent: remove duplicated check on `closed`
Alexis Laferrière [Tue, 17 Nov 2015 14:36:03 +0000 (09:36 -0500)]
lib/libevent: remove duplicated check on `closed`

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

8 years agolib/libevent: do not write on closed connections
Alexis Laferrière [Tue, 17 Nov 2015 02:24:55 +0000 (21:24 -0500)]
lib/libevent: do not write on closed connections

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

8 years agoshare: remove the local copy of libpng
Alexis Laferrière [Wed, 16 Sep 2015 11:51:27 +0000 (07:51 -0400)]
share: remove the local copy of libpng

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

8 years agosrc/android: do not link with libpng
Alexis Laferrière [Wed, 16 Sep 2015 11:50:19 +0000 (07:50 -0400)]
src/android: do not link with libpng

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

8 years agolib/mnit: replace the use of libpng by load_image
Alexis Laferrière [Sun, 15 Nov 2015 19:35:16 +0000 (14:35 -0500)]
lib/mnit: replace the use of libpng by load_image

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

8 years agolib/android: intro a service to unpack pixel data from image files
Alexis Laferrière [Tue, 15 Sep 2015 19:51:58 +0000 (15:51 -0400)]
lib/android: intro a service to unpack pixel data from image files

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

8 years agolib/android: add more services to NativeBitmap
Alexis Laferrière [Mon, 16 Nov 2015 22:18:47 +0000 (17:18 -0500)]
lib/android: add more services to NativeBitmap

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

8 years agolib/android: `AssetManager::bitmap` only has to return a local reference
Alexis Laferrière [Mon, 16 Nov 2015 22:18:43 +0000 (17:18 -0500)]
lib/android: `AssetManager::bitmap` only has to return a local reference

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

8 years agolib/java: add core services to work with native buffer in Java and JNI
Alexis Laferrière [Sun, 15 Nov 2015 22:08:14 +0000 (17:08 -0500)]
lib/java: add core services to work with native buffer in Java and JNI

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

8 years agocontrib/jwrapper: add command to wrap Bitmap and nio.Buffer to the examples for reference
Alexis Laferrière [Tue, 15 Sep 2015 19:52:02 +0000 (15:52 -0400)]
contrib/jwrapper: add command to wrap Bitmap and nio.Buffer to the examples for reference

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

8 years agolib/c: add memmove to `CByteArray` and its native counterpart
Alexis Laferrière [Wed, 16 Sep 2015 13:53:00 +0000 (09:53 -0400)]
lib/c: add memmove to `CByteArray` and its native counterpart

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

8 years agohotfix: contrib/tnitter/net.xymus.tnitter.txt: terminate description
Jean Privat [Fri, 13 Nov 2015 18:21:56 +0000 (13:21 -0500)]
hotfix: contrib/tnitter/net.xymus.tnitter.txt: terminate description

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

8 years agoMerge: Tnitter: read the latest tnits on the go with the new Tnitter portable app!
Jean Privat [Fri, 13 Nov 2015 13:29:29 +0000 (08:29 -0500)]
Merge: Tnitter: read the latest tnits on the go with the new Tnitter portable app!

Intro a portable client for Tnitter listing the more recent 16 tnits. It is more of a test and example on using `AsyncHttpRequest` to do both simple request to a REST server and implement push notifications using an open request. By design, this client does not support posting Tnits, this feature would require much more code and it may be simplified by future services in the lib.

To support the client the server has a few new REST interfaces. One to list the tnits and the other for push notifications.

This PR also fixes a few bugs on the Tnitter server: losing the session on posting and empty post being accepted by the server.

-----

Note for the reviewers: You may be better to read commits individually. There are 2 bigs commits, one extracts the database logic from the model module and the other introduces code generated by Jwrapper for the native layer of that Android ui implementation.

Pull-Request: #1834
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Romain Chanoir <romain.chanoir@viacesi.fr>

8 years agocontrib/tnitter: intro .gitignore
Alexis Laferrière [Fri, 13 Nov 2015 12:52:53 +0000 (07:52 -0500)]
contrib/tnitter: intro .gitignore

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

8 years agotnitter: add the clean rule to Makefile
Alexis Laferrière [Thu, 12 Nov 2015 19:37:10 +0000 (14:37 -0500)]
tnitter: add the clean rule to Makefile

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

8 years agocontrib/tnitter: add apk link to metadata
Alexis Laferrière [Thu, 12 Nov 2015 19:36:52 +0000 (14:36 -0500)]
contrib/tnitter: add apk link to metadata

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

8 years agoMerge: Add trails to nitiwiki
Jean Privat [Thu, 12 Nov 2015 01:43:47 +0000 (20:43 -0500)]
Merge: Add trails to nitiwiki

Wikilinks, with the directive `trail`, will register the target page as an element of a trail.
Each `trail` are chained together and will display navigational link `prev` for the previous page of the trail, `next` for the next page of the trail and `up` to go to the pages that has used the `trail` wikilink.

For instance, if the page `doc.md` has the following content:

~~~md
To use nitiwiki, first [[trail: install|install it]],
then [[trail: simple_wiki|create a first wiki]].

You can also do advanced things like:

* [[trail: github|editing pages with github]]
* [[trail: templating| adapting the templates]]
~~~

A trail will be made and will consist of the sequence of pages `install`, `simple_wiki`, `github` and `templating`.
On each one of these pages, there will be links for the previous, the next page and the `doc.md` pae.

If a page includes trail wikilinks and is also the target for trail wikilinks, then the two trails are merged and pages will be visitable in a depth-first order.
This nesting of trails can be used to have sections and sub-sections.

Demo is up: http://info.uqam.ca/~privat/nitlanguage/manual/

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

8 years agoMerge: lib/core: add Text::prefix and Text::suffix
Jean Privat [Thu, 12 Nov 2015 01:43:44 +0000 (20:43 -0500)]
Merge: lib/core: add Text::prefix and Text::suffix

I wanted a way to detect and possibly remove a prefix from a string but there was no straight-forward way.

So I propose one:

~~~
var str = "hello world"
var p = str.prefix("hello")
assert p != null and p.text_after == " world"
assert str.prefix("fail") == null
~~~

Same with `suffix`

Pull-Request: #1829
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

8 years agoMerge: Handle gracefuly multi-varargs
Jean Privat [Thu, 12 Nov 2015 01:43:38 +0000 (20:43 -0500)]
Merge: Handle gracefuly multi-varargs

This solve a very borderline issue when a signature contains more than one vararg parameter.
They are still refused in the common case but can occurs when multiple initializers are combined into a single constructor.

The implemented semantic is the following:

* vararg parameters remains varag
* if more than one vararg parameter exists in a signature, then the signature does not accepts additional arguments, it means that each vararg is associated to a single argument (a discarded alternative was to only keep the first/last parameter as the main vararg one)
* the associated argument can be either a single value, of a reverse vararg with an ellipsis.

~~~nit
class A
   fun x(i: Int...) is autoinit do end
   fun y(j: Int...) is autoinit do end
end
var a
a = new A(10, 20) # OK: i=[10], j=[20]
a = new A(10, 11, 20) # Refused
a = new A([10, 11]..., 20) # OK: i=[10, 11], j=[20]
a = new A([10, 11]..., [20, 21, 22]...) # OK: i=[10, 11], j=[20, 21, 22]
a = new A([10, 11], [20, 21, 22]) # Refused but a hint is given that `...` may be missing
~~~

Pull-Request: #1825
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

8 years agonitiwiki: update examples with trails
Jean Privat [Wed, 11 Nov 2015 20:29:03 +0000 (15:29 -0500)]
nitiwiki: update examples with trails

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

8 years agonitiwiki: update README
Jean Privat [Wed, 11 Nov 2015 20:26:41 +0000 (15:26 -0500)]
nitiwiki: update README

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

8 years agonitiwiki: update tests
Jean Privat [Wed, 11 Nov 2015 18:42:31 +0000 (13:42 -0500)]
nitiwiki: update tests

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

8 years agonitiwiki: render trail navigation on the macro-placeholder %`TRAIL%`
Jean Privat [Wed, 11 Nov 2015 16:17:34 +0000 (11:17 -0500)]
nitiwiki: render trail navigation on the macro-placeholder %`TRAIL%`

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

8 years agonitiwiki: add `trail:` command to collect trails
Jean Privat [Wed, 11 Nov 2015 16:16:19 +0000 (11:16 -0500)]
nitiwiki: add `trail:` command to collect trails

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

8 years agonitiwiki: add a simple command extraction on wikilinks.
Jean Privat [Wed, 11 Nov 2015 16:15:01 +0000 (11:15 -0500)]
nitiwiki: add a simple command extraction on wikilinks.

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

8 years agocontrib/tnitter: add fdroid metadata
Alexis Laferrière [Wed, 11 Nov 2015 20:10:27 +0000 (15:10 -0500)]
contrib/tnitter: add fdroid metadata

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

8 years agolib/nitcorn: update xymus.net with latest Tnitter services
Alexis Laferrière [Wed, 11 Nov 2015 14:56:26 +0000 (09:56 -0500)]
lib/nitcorn: update xymus.net with latest Tnitter services

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

8 years agocontrib/tnitter: refactor to set the server interface at compilation
Alexis Laferrière [Tue, 10 Nov 2015 17:37:44 +0000 (12:37 -0500)]
contrib/tnitter: refactor to set the server interface at compilation

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

8 years agocontrib/tnitter: add icon
Alexis Laferrière [Tue, 10 Nov 2015 17:44:49 +0000 (12:44 -0500)]
contrib/tnitter: add icon

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

8 years agocontrib/tnitter: intro simple app
Alexis Laferrière [Tue, 10 Nov 2015 13:41:54 +0000 (08:41 -0500)]
contrib/tnitter: intro simple app

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

8 years agocontrib/tnitter: intro push notification service to the server
Alexis Laferrière [Tue, 10 Nov 2015 13:48:08 +0000 (08:48 -0500)]
contrib/tnitter: intro push notification service to the server

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

8 years agocontrib/tnitter: add REST interface
Alexis Laferrière [Tue, 10 Nov 2015 13:20:58 +0000 (08:20 -0500)]
contrib/tnitter: add REST interface

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

8 years agocontrib/tnitter: do not allow posting empty tnits
Alexis Laferrière [Wed, 11 Nov 2015 15:58:47 +0000 (10:58 -0500)]
contrib/tnitter: do not allow posting empty tnits

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

8 years agocontrib/tnitter: replace `latest_posts` by a 2 args `list_posts`
Alexis Laferrière [Tue, 10 Nov 2015 13:18:20 +0000 (08:18 -0500)]
contrib/tnitter: replace `latest_posts` by a 2 args `list_posts`

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

8 years agocontrib/tnitter: fix logout on post
Alexis Laferrière [Tue, 10 Nov 2015 13:17:40 +0000 (08:17 -0500)]
contrib/tnitter: fix logout on post

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

8 years agocontrib/tnitter: revamp how the DB is handled
Alexis Laferrière [Tue, 10 Nov 2015 03:41:38 +0000 (22:41 -0500)]
contrib/tnitter: revamp how the DB is handled

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

8 years agocontrib/tnitter: extract `DB` from `model` into `database`
Alexis Laferrière [Tue, 10 Nov 2015 03:39:44 +0000 (22:39 -0500)]
contrib/tnitter: extract `DB` from `model` into `database`

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

8 years agolib/android: use the standard "medium" size for labels
Alexis Laferrière [Wed, 11 Nov 2015 19:49:59 +0000 (14:49 -0500)]
lib/android: use the standard "medium" size for labels

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

8 years agolib/app/ui & platforms: intro ListLayout
Alexis Laferrière [Tue, 10 Nov 2015 03:16:47 +0000 (22:16 -0500)]
lib/app/ui & platforms: intro ListLayout

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

8 years agolib/serialization: fix deserialization of Error
Alexis Laferrière [Tue, 10 Nov 2015 22:20:47 +0000 (17:20 -0500)]
lib/serialization: fix deserialization of Error

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

8 years agonitiwiki: add `WikiEntry::a_from` to factorize the creation of links to pages.
Jean Privat [Wed, 11 Nov 2015 16:14:07 +0000 (11:14 -0500)]
nitiwiki: add `WikiEntry::a_from` to factorize the creation of links to pages.

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

8 years agostring_search: add `Text::prefix` and `Text::suffix`
Jean Privat [Wed, 11 Nov 2015 04:20:23 +0000 (23:20 -0500)]
string_search: add `Text::prefix` and `Text::suffix`

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

8 years agostring_search: add `Match::text_before` and `Match::text_after`
Jean Privat [Wed, 11 Nov 2015 04:19:54 +0000 (23:19 -0500)]
string_search: add `Match::text_before` and `Match::text_after`

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

8 years agostring_search: add nitunits to `Match`
Jean Privat [Wed, 11 Nov 2015 04:19:21 +0000 (23:19 -0500)]
string_search: add nitunits to `Match`

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