nit.git
8 years agocontrib: add `upstream.apk` to packages that have an apk
Jean Privat [Wed, 16 Sep 2015 01:04:37 +0000 (21:04 -0400)]
contrib: add `upstream.apk` to packages that have an apk

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

8 years agonitcatalog: new package metadata `upstream.apk`
Jean Privat [Wed, 16 Sep 2015 01:03:47 +0000 (21:03 -0400)]
nitcatalog: new package metadata `upstream.apk`

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

8 years agocontrib: add `upstream.tryit` to packages that have a online service
Jean Privat [Wed, 16 Sep 2015 01:03:16 +0000 (21:03 -0400)]
contrib: add `upstream.tryit` to packages that have a online service

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

8 years agonitcatalog: new package metadata `upstream.tryit`
Jean Privat [Wed, 16 Sep 2015 01:01:43 +0000 (21:01 -0400)]
nitcatalog: new package metadata `upstream.tryit`

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

8 years agonitcatalog: refactor tags collection
Jean Privat [Wed, 16 Sep 2015 01:00:34 +0000 (21:00 -0400)]
nitcatalog: refactor tags collection

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

8 years agoMerge: lib: intro the matrix package
Jean Privat [Tue, 15 Sep 2015 19:18:44 +0000 (15:18 -0400)]
Merge: lib: intro the matrix package

This PR intro `Matrix` to represent a matrix of floats. The main module offers only general services and the `projection` module adds services useful for 3D manipulations.

The package is oriented towards matrices of floats and was designed alongside Gamnit. As such, is a bit specialized and may not be appropriate for all usage of matrices (such as integer matrices). So if you prefer, I can move these back to Gamnit. But since this module does not have any dependencies and `Matrix` can be useful for a wide array of context, I chose to leave it in lib.

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

8 years agoMerge: vim plugin: intro NitExecute to interpret the current file with `nit`
Jean Privat [Tue, 15 Sep 2015 19:18:41 +0000 (15:18 -0400)]
Merge: vim plugin: intro NitExecute to interpret the current file with `nit`

Adds the `:NitExecute` command (or `:NitE` as shortcut) to interpret the current file with `nit`.

This is very similar to the manual `:!nit %` but it saves modified buffers to a temp file to execute the content of the current buffer and not the last saved content.

This is completely up to you but I recommend mapping this to `ctrl-f` to fit between `ctrl-d -> Nitdoc` and `ctrl-g -> NitGitGrep`. Here are the required lines for `.vimrc`:

~~~
" Map the Nitdoc command to Ctrl-D
map <C-d> :Nitdoc<enter>

" Map the NitGitGrep function to Ctrl-G
map <C-g> :call NitGitGrep()<enter>

" Map the NitExecute function to Ctrl-F <------- The new one
map <C-f> :NitExecute<enter>
~~~

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

8 years agoMerge: nitcatalog: isolate package page into a subdirectory
Jean Privat [Tue, 15 Sep 2015 19:18:38 +0000 (15:18 -0400)]
Merge: nitcatalog: isolate package page into a subdirectory

HTML files are generated into a `/p/` subdirectory so they will not conflict with other generated files.

One other point is to have stable and final URL for packages in the catalog. eg http://nitlanguage.org/catalog/p/nitiwiki.html

Pull-Request: #1714
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>

8 years agolib/matrix: intro `Matrix::to_a & transposed`
Alexis Laferrière [Tue, 15 Sep 2015 17:17:17 +0000 (13:17 -0400)]
lib/matrix: intro `Matrix::to_a & transposed`

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

8 years agolib/matrix: add services for projection Matrix and 3D coord manipulation
Alexis Laferrière [Tue, 15 Sep 2015 14:40:12 +0000 (10:40 -0400)]
lib/matrix: add services for projection Matrix and 3D coord manipulation

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

8 years agolib/matrix: intro Matrix with general services
Alexis Laferrière [Sun, 19 Apr 2015 14:59:11 +0000 (10:59 -0400)]
lib/matrix: intro Matrix with general services

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

8 years agoMerge: Bytes from hexdigest
Jean Privat [Tue, 15 Sep 2015 16:59:10 +0000 (12:59 -0400)]
Merge: Bytes from hexdigest

As @xymus requested in #1705, a new method is available in Text, `hexdigest_to_bytes` which transforms a regular hexdigest in its Bytes counterpart.

Ping @ppepos this could please your Pythonneous eyes

Pull-Request: #1716
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Jean Privat <jean@pryen.org>

8 years agoMerge: Clean UTF-8 string update
Jean Privat [Tue, 15 Sep 2015 16:57:16 +0000 (12:57 -0400)]
Merge: Clean UTF-8 string update

Since quite some time now we've had the cleaning function for Bytes that ensured that what was coming from the exterior was clean and could be transformed safely to a String.

This is now generalized to any NativeString, and the clean function will be called each time a NativeString is `to_s`'d

At the same time, `clean_utf8` is now better performing (for `Files::read_all`, Ir per call is roughly 40% less than before), which limits the impacts of the new strategy.

Furthermore, the string produced by `NativeString::clean_utf8` has its length calculated which saves time on later operations on the string.

It also limits the number of calls by avoiding allocations if not necessary (if the string is already clean, which should happen a lot more often than not).

As for performances,

Valgrind `./bin/nitc src/nitc.nit`:
Before: 14.040 GIr
After: 13.859 GIr

Time, best of 10 for `./bin/nitc src/nitc.nit -o bin/nitc`:
Before: 0m4.989s
After: 0m4.933s

Time, best of 10 for `./bin/nitc --semi-global src/nitc.nit -o bin/nitc`:
Before: 0m4.696s
After: 0m4.691s

Pretty much equivalent in real time, and a bit better in Valgrind, not bad considering every String is now cleaner than ever !

Pull-Request: #1705
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agolib: Update sha1 and base64 to use Bytes instead of String
Lucas Bajolet [Mon, 14 Sep 2015 15:13:24 +0000 (11:13 -0400)]
lib: Update sha1 and base64 to use Bytes instead of String

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

8 years agolib/core: Fixed bug in `BytesIterator::init with_buffer`
Lucas Bajolet [Tue, 15 Sep 2015 14:19:00 +0000 (10:19 -0400)]
lib/core: Fixed bug in `BytesIterator::init with_buffer`

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

8 years agolib/core: Added hexdigest_to_bytes method from String to Bytes
Lucas Bajolet [Tue, 15 Sep 2015 14:26:00 +0000 (10:26 -0400)]
lib/core: Added hexdigest_to_bytes method from String to Bytes

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

8 years agolib/core: Added validation method for hexdigest
Lucas Bajolet [Tue, 15 Sep 2015 14:25:25 +0000 (10:25 -0400)]
lib/core: Added validation method for hexdigest

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

8 years agomisc/vim: intro NitExecute to interpret the current file with `nit`
Alexis Laferrière [Tue, 15 Sep 2015 12:45:11 +0000 (08:45 -0400)]
misc/vim: intro NitExecute to interpret the current file with `nit`

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

8 years agoMerge: Prepare Android projects to be compiled in release mode for F-Droid
Jean Privat [Tue, 15 Sep 2015 13:27:16 +0000 (09:27 -0400)]
Merge: Prepare Android projects to be compiled in release mode for F-Droid

This PR prepares the Android projects to be compiled in release mode by Jenkins (or a cron) for F-Droid. It adds the `android-release` rule to all Android projects and it vectorizes the fonts in the logos to get the desired result when the font is not installed.

At this point, the release APK file is written over the debug one, this should not be such a big problem as we usually use both separately.

@privat To prepare to compile in release mode on the server you can follow the instructions at the end of http://nitlanguage.org/catalog/android.html , it's pretty much a single command to generate a keystore. We'll have to find a way to manage the key to the keystore... For the TSA server, we could use http://tsa.safecreative.org/ but it's limited to 5 timestamps per days so we would need to choose our requests.

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

8 years agocontrib & examples: add the android-release rule to all android projects
Alexis Laferrière [Mon, 14 Sep 2015 12:51:38 +0000 (08:51 -0400)]
contrib & examples: add the android-release rule to all android projects

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

8 years agocontrib/tinks: add the rules android and android-release
Alexis Laferrière [Mon, 14 Sep 2015 13:03:23 +0000 (09:03 -0400)]
contrib/tinks: add the rules android and android-release

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

8 years agoMerge: nitc: fix --typing-test-metrics by using correct tags in FFI
Jean Privat [Tue, 15 Sep 2015 07:37:01 +0000 (03:37 -0400)]
Merge: nitc: fix --typing-test-metrics by using correct tags in FFI

Just fix `--typing-test-metrics` that was broken.

A future PR (still wip) will ensure that the option will be no more broken

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

8 years agoMerge: gamnit: portable services to setup an OpenGL ES 2.0 display
Jean Privat [Tue, 15 Sep 2015 03:08:47 +0000 (23:08 -0400)]
Merge: gamnit: portable services to setup an OpenGL ES 2.0 display

Intro portable services to setup and use an OpenGL ES 2.0 display: `GamnitDisplay, setup, close, flip`. These services can be used standalone when importing `gamnit::display`, or integrated in `app.nit` by importing the whole `gamnit`.

This is an important step for Gamnit as it allows to develop portable games and will simplify building new graphic APIs gradually. However, some very useful services are still missing: textures loading, input events, full app life-cycle support (pause/resume), etc.

The display still depends on the same libraries as mnit (sdl, egl, native_app_glue, etc.), but it is much cleaner and changing the libs should be easier.

You may notice that the examples duplicate a lot of code between themselves and with `lib/glesv2/examples/opengles2_hello_triangle.nit`. All 3 examples are very useful to understand and debug the different abstraction levels, and even if they are pretty long, they are pretty much the shortest possible OpenGL ES 2.0 program I could write. I plan on keeping this duplication to keep these debugging tool, but I may move one of them (standalone) to a test folder as to not attract unwanted attention to it.

The first 3 commits are from #1708 but they are each required by either the examples or the Android support.

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

8 years agoMerge branch 'master' into gamnit
Alexis Laferrière [Tue, 15 Sep 2015 01:39:01 +0000 (21:39 -0400)]
Merge branch 'master' into gamnit

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

8 years agonitcatalog: isolate package page into a subdirectory
Jean Privat [Tue, 15 Sep 2015 01:05:25 +0000 (21:05 -0400)]
nitcatalog: isolate package page into a subdirectory

So they will not conflict with other generated files

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

8 years agonitc: fix --typing-test-metrics by using correct tags inf FFI
Jean Privat [Tue, 15 Sep 2015 00:01:33 +0000 (20:01 -0400)]
nitc: fix --typing-test-metrics by using correct tags inf FFI

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

8 years agoMerge: android: skip signing the APK if KEY_ALIAS env var is not set
Jean Privat [Mon, 14 Sep 2015 20:23:05 +0000 (16:23 -0400)]
Merge: android: skip signing the APK if KEY_ALIAS env var is not set

This allows to manually sign your release APK file.

As requested by @privat.

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

8 years agoMerge: glesv2: more services from OpenGL ES 2.0 to prepare for gamnit
Jean Privat [Mon, 14 Sep 2015 20:23:01 +0000 (16:23 -0400)]
Merge: glesv2: more services from OpenGL ES 2.0 to prepare for gamnit

This PR adds a few services to the low-level graphics modules to prepare for gamnit.

This is the 2nd PR to use a new style for the glesv2 module. The old code has not yet been fully updated, so the style may vary in the same module. The new style try to stay as close as possible to the names and signatures used by the OpenGL ES 2.0 C API and by webgl.

As usual with this module, for more documentation please refer to the official doc at https://www.khronos.org/opengles/sdk/docs/man/.

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

8 years agoMerge: Fix Music loading bug for friendz
Jean Privat [Mon, 14 Sep 2015 20:22:55 +0000 (16:22 -0400)]
Merge: Fix Music loading bug for friendz

Added "music.ogg" to the res folder, android is aparently not able to load a .ogg from the assets.
I will investigate on the problem for a next PR

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

8 years agotests: OS X ignores test using EGL
Alexis Laferrière [Mon, 14 Sep 2015 15:24:39 +0000 (11:24 -0400)]
tests: OS X ignores test using EGL

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

8 years agolib/glesv2: intro glVertexAttribPointer
Alexis Laferrière [Sat, 12 Sep 2015 15:49:21 +0000 (11:49 -0400)]
lib/glesv2: intro glVertexAttribPointer

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

8 years agolib/glesv2: intro glVertexAttrib*f and glUniform*i
Alexis Laferrière [Sat, 12 Sep 2015 15:49:03 +0000 (11:49 -0400)]
lib/glesv2: intro glVertexAttrib*f and glUniform*i

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

8 years agolib/glesv2: move some services out of `VertexArray` as per the new style
Alexis Laferrière [Sat, 12 Sep 2015 14:30:25 +0000 (10:30 -0400)]
lib/glesv2: move some services out of `VertexArray` as per the new style

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

8 years agolib/glesv2: update GLTextureTarget to the new contructor-less style
Alexis Laferrière [Sat, 12 Sep 2015 14:17:03 +0000 (10:17 -0400)]
lib/glesv2: update GLTextureTarget to the new contructor-less style

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

8 years agolib/glesv2: intro glTexImage2D
Alexis Laferrière [Sat, 12 Sep 2015 14:14:20 +0000 (10:14 -0400)]
lib/glesv2: intro glTexImage2D

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

8 years agolib/glesv2: intro glFramebufferTexture2D
Alexis Laferrière [Sat, 12 Sep 2015 14:01:00 +0000 (10:01 -0400)]
lib/glesv2: intro glFramebufferTexture2D

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

8 years agolib/glesv2: intro glPixelStorei
Alexis Laferrière [Sat, 12 Sep 2015 13:59:26 +0000 (09:59 -0400)]
lib/glesv2: intro glPixelStorei

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

8 years agolib/glesv2: intro glRenderbufferStorage
Alexis Laferrière [Sat, 12 Sep 2015 13:41:15 +0000 (09:41 -0400)]
lib/glesv2: intro glRenderbufferStorage

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

8 years agolib/glesv2: intro glBindBuffer
Alexis Laferrière [Sat, 12 Sep 2015 13:33:30 +0000 (09:33 -0400)]
lib/glesv2: intro glBindBuffer

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

8 years agolib/glesv2: intro glGenerateMipmap
Alexis Laferrière [Sat, 12 Sep 2015 13:27:27 +0000 (09:27 -0400)]
lib/glesv2: intro glGenerateMipmap

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

8 years agolib/glesv2: intro glIsTexture and glBindTexture
Alexis Laferrière [Sat, 12 Sep 2015 13:25:04 +0000 (09:25 -0400)]
lib/glesv2: intro glIsTexture and glBindTexture

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

8 years agolib/glesv2: wrap glFramebufferRenderbuffer and GLAttachment
Alexis Laferrière [Sat, 12 Sep 2015 12:53:50 +0000 (08:53 -0400)]
lib/glesv2: wrap glFramebufferRenderbuffer and GLAttachment

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

8 years agolib/glesv2: add a Nity wrapper to the NativeGLfloatArray
Alexis Laferrière [Sat, 12 Sep 2015 12:49:54 +0000 (08:49 -0400)]
lib/glesv2: add a Nity wrapper to the NativeGLfloatArray

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

8 years agosrc/android: skip signing the APK if KEY_ALIAS env var is not set
Alexis Laferrière [Mon, 14 Sep 2015 17:44:57 +0000 (13:44 -0400)]
src/android: skip signing the APK if KEY_ALIAS env var is not set

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

8 years agotests: Update with new clean_utf8
Lucas Bajolet [Fri, 11 Sep 2015 17:52:52 +0000 (13:52 -0400)]
tests: Update with new clean_utf8

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

8 years agolib/gamnit: add a portable version of the triangle example
Alexis Laferrière [Sun, 13 Sep 2015 15:18:22 +0000 (11:18 -0400)]
lib/gamnit: add a portable version of the triangle example

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

8 years agolib/gamnit: intro App integration and Android support
Alexis Laferrière [Mon, 14 Sep 2015 00:51:55 +0000 (20:51 -0400)]
lib/gamnit: intro App integration and Android support

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

8 years agolib/gamnit: intro the standalone triangle example for desktop only
Alexis Laferrière [Sat, 18 Apr 2015 16:03:29 +0000 (12:03 -0400)]
lib/gamnit: intro the standalone triangle example for desktop only

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

8 years agoexamples/calculator: remove font from icon
Alexis Laferrière [Mon, 14 Sep 2015 12:51:23 +0000 (08:51 -0400)]
examples/calculator: remove font from icon

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

8 years agocontrib/tinks: remove font from icon
Alexis Laferrière [Mon, 14 Sep 2015 12:50:47 +0000 (08:50 -0400)]
contrib/tinks: remove font from icon

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

8 years agolib/gamnit: intro GNU/Linux support
Alexis Laferrière [Sun, 19 Apr 2015 14:03:25 +0000 (10:03 -0400)]
lib/gamnit: intro GNU/Linux support

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

8 years agolib/gamnit: intro the abstract display
Alexis Laferrière [Tue, 14 Apr 2015 22:26:11 +0000 (18:26 -0400)]
lib/gamnit: intro the abstract display

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

8 years agolib/linux: move simulating the lifecycle of an app from mnit to app.nit
Alexis Laferrière [Sun, 13 Sep 2015 19:09:03 +0000 (15:09 -0400)]
lib/linux: move simulating the lifecycle of an app from mnit to app.nit

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

8 years agolib/glesv2: move some services out of `VertexArray` as per the new style
Alexis Laferrière [Sat, 12 Sep 2015 14:30:25 +0000 (10:30 -0400)]
lib/glesv2: move some services out of `VertexArray` as per the new style

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

8 years agolib/glesv2: fix read_pixels having hardcoded args
Alexis Laferrière [Sat, 12 Sep 2015 12:48:34 +0000 (08:48 -0400)]
lib/glesv2: fix read_pixels having hardcoded args

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

8 years agolib/glesv2: fix misplaced mipmap filters and update style
Alexis Laferrière [Tue, 17 Feb 2015 20:51:05 +0000 (15:51 -0500)]
lib/glesv2: fix misplaced mipmap filters and update style

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

8 years agolib/c: contructors `from` for native arrays accept `SequenceRead`
Alexis Laferrière [Sat, 12 Sep 2015 14:00:22 +0000 (10:00 -0400)]
lib/c: contructors `from` for native arrays accept `SequenceRead`

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

8 years agolib/android: add ANativeWindow::set_buffers_geometry
Alexis Laferrière [Sun, 19 Apr 2015 13:34:46 +0000 (09:34 -0400)]
lib/android: add ANativeWindow::set_buffers_geometry

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

8 years agolib/egl: intro egl_default_display
Alexis Laferrière [Sun, 19 Apr 2015 13:34:27 +0000 (09:34 -0400)]
lib/egl: intro egl_default_display

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

8 years agolib/core: Removed a few abusive uses of `to_s_with_length` on Array and NativeArray
Lucas Bajolet [Fri, 11 Sep 2015 15:36:56 +0000 (11:36 -0400)]
lib/core: Removed a few abusive uses of `to_s_with_length` on Array and NativeArray

Since they're working with Nit-produced Strings, there's no need to clean once more

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

8 years agolib/core: Have Bytes::to_s and stream use the new and improved to_s_with_length
Lucas Bajolet [Fri, 11 Sep 2015 15:36:03 +0000 (11:36 -0400)]
lib/core: Have Bytes::to_s and stream use the new and improved to_s_with_length

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

8 years agolib/core/flat: Added clean_utf8 method to NativeString
Lucas Bajolet [Fri, 11 Sep 2015 15:34:56 +0000 (11:34 -0400)]
lib/core/flat: Added clean_utf8 method to NativeString

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

8 years agoMerge: misc/vim: update the vim plugin to use core instead of standard
Jean Privat [Thu, 10 Sep 2015 18:55:07 +0000 (14:55 -0400)]
Merge: misc/vim: update the vim plugin to use core instead of standard

The plugin was not updated with the new name for the `core` library, but it's never too late.

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

8 years agoMerge: jwrapper: prevent nitls to parse the generated files
Jean Privat [Thu, 10 Sep 2015 18:54:54 +0000 (14:54 -0400)]
Merge: jwrapper: prevent nitls to parse the generated files

Prevent nitls to parse the generated files by adding an empty `packages.ini` file to the examples folder. This slowed down calls to `make` as nitls is used to detect the dependancies of Nit programs and it took a while to parse the huge generated files.

Pull-Request: #1702
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

8 years agoMerge: nitiwiki: external highlighter
Jean Privat [Thu, 10 Sep 2015 18:53:56 +0000 (14:53 -0400)]
Merge: nitiwiki: external highlighter

This is a cleaned up version of what is currently doing the code highlighting and the table in the deployed http://nitlanguage.org

The basic idea here is to delegate the job to some other program. The program has to be configured in the config.ini under the key `wiki.highlighter`

This approach, while not pure nit, makes it quite easy to use whatever highlighter program the user prefer with whatever options (instead of hard-coding a specific external program in the nit source code).

An advanced way is to delegate to a shell script that checks arguments then dispatches to a real program.

ping maintainer: @Morriar

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

8 years agoMerge: nitcatalog: content and options
Jean Privat [Thu, 10 Sep 2015 18:53:52 +0000 (14:53 -0400)]
Merge: nitcatalog: content and options

Two improvements:

* content list (example: see end of page <http://nitlanguage.org/catalog/android.html>, section *content*)
* command-line options

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

8 years agoMerge: Ballz improvements
Jean Privat [Thu, 10 Sep 2015 18:39:19 +0000 (14:39 -0400)]
Merge: Ballz improvements

Better concern division into modules, now works on Linux !
forces.nit module is not really used yet but will be.

PS : mnit_simple and mnit_ballz aren't launching on android at the moment, I'll fix this in a further PR

Edit: Fixed Android part

Pull-Request: #1587
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agomisc/vim: update the vim plugin to use core instead of standard
Alexis Laferrière [Thu, 10 Sep 2015 18:24:45 +0000 (14:24 -0400)]
misc/vim: update the vim plugin to use core instead of standard

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

8 years agotests: make nitiwiki.args idempotent
Jean Privat [Thu, 10 Sep 2015 17:55:45 +0000 (13:55 -0400)]
tests: make nitiwiki.args idempotent

A second execution of the test fail because arg2 modify things read by arg1.
Solution: clean after arg2

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

8 years agonitiwiki: extends the example with an external highlighter
Jean Privat [Thu, 10 Sep 2015 02:45:55 +0000 (22:45 -0400)]
nitiwiki: extends the example with an external highlighter

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

8 years agonitiwiki: new module `markdown_highlight` to plug in an external highlighter
Jean Privat [Thu, 10 Sep 2015 02:40:42 +0000 (22:40 -0400)]
nitiwiki: new module `markdown_highlight` to plug in an external highlighter

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

8 years agocontrib/jwrapper: prevent nitls to parse the generated files
Alexis Laferrière [Thu, 10 Sep 2015 17:44:48 +0000 (13:44 -0400)]
contrib/jwrapper: prevent nitls to parse the generated files

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

8 years agonitcatalog: do not crash if the dependency poset is empty (--no-parse)
Jean Privat [Wed, 9 Sep 2015 15:59:24 +0000 (11:59 -0400)]
nitcatalog: do not crash if the dependency poset is empty (--no-parse)

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

8 years agonitcatalog: add command-line options
Jean Privat [Wed, 9 Sep 2015 15:58:29 +0000 (11:58 -0400)]
nitcatalog: add command-line options

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

8 years agonitcatalog: add a *content* section with the modules and groups
Jean Privat [Wed, 9 Sep 2015 15:46:22 +0000 (11:46 -0400)]
nitcatalog: add a *content* section with the modules and groups

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

8 years agonitiwiki: change some visibility to allow extensions
Jean Privat [Thu, 10 Sep 2015 02:38:45 +0000 (22:38 -0400)]
nitiwiki: change some visibility to allow extensions

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

8 years agomarkdown: escape the meta information of code block in html
Jean Privat [Thu, 10 Sep 2015 13:25:08 +0000 (09:25 -0400)]
markdown: escape the meta information of code block in html

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

8 years agoMerge: Rename Project to Package
Jean Privat [Thu, 10 Sep 2015 12:27:50 +0000 (08:27 -0400)]
Merge: Rename Project to Package

Before `project.ini` are generalized (and regenerated in `c_src`) we should decide if the renaming worth it.

* a package, in OS and for some programming languages, is a coherent and distributed piece of software.
* a package, in software engineering (UML, Java), is a group of elements. It is used as namespace, and can be nested.
* a project, in IDE (eclipse, XCode) and toolchain (maven) is the organization of source of a software and how to build, test, document, etc.
* a project, in software engineering, is an attempt to produce a piece of software (and often the associated resources and artifacts like source code and people)

Thoughts?

Pull-Request: #1669
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Etienne M. Gagnon <egagnon@j-meg.com>

8 years agolib/markdown: promote `BlockFence::meta` to `BlockCode` to simplify clients
Jean Privat [Thu, 10 Sep 2015 01:29:30 +0000 (21:29 -0400)]
lib/markdown: promote `BlockFence::meta` to `BlockCode` to simplify clients

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

8 years agolib/markdown: factorize clones `code_from_block` into `BlockCode::raw_content`
Jean Privat [Thu, 10 Sep 2015 01:25:09 +0000 (21:25 -0400)]
lib/markdown: factorize clones `code_from_block` into `BlockCode::raw_content`

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

8 years agocontrib/friendz: adds music to the res folder
BlackMinou [Thu, 10 Sep 2015 10:02:15 +0000 (12:02 +0200)]
contrib/friendz: adds music to the res folder

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

8 years agoAndroid:audio: little fix when loading sound or music
BlackMinou [Thu, 10 Sep 2015 09:28:51 +0000 (11:28 +0200)]
Android:audio: little fix when loading sound or music

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

8 years agoMerge: Fix Opportunity behavior with unicode characters
Jean Privat [Thu, 10 Sep 2015 00:25:20 +0000 (20:25 -0400)]
Merge: Fix Opportunity behavior with unicode characters

Fix #1695. It is already deployed on http://xymus.net/opportunity/ (Take a look at http://xymus.net/opportunity/?meetup_id=B962ECD89E0AE40FF888569AE8D816B36F128E10)

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

8 years agoMerge: UTF-8 Regex
Jean Privat [Thu, 10 Sep 2015 00:25:10 +0000 (20:25 -0400)]
Merge: UTF-8 Regex

This PR closes #1684

Instead of making `byte_to_char_index` public, it has been removed as it had no real reason to live.

Names are corrected and should correctly reflect their use.
Some examples of regular expressions with UTF-8 have been included.

Note however that the C-library underneath does not have UTF-8 semantics, as such, when using repetition operators on UTF-8 strings, capture the problematic characters with parentheses as in the example, or else the result will be erroneous.

Additionally, performances should be a bit better since less allocations and copy_to should be done.

Pull-Request: #1692
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agomanpages: nitls talks about packages, not projects
Jean Privat [Wed, 9 Sep 2015 19:16:53 +0000 (15:16 -0400)]
manpages: nitls talks about packages, not projects

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

8 years agocontrib: value for nitserial's `-d` is now `package`
Jean Privat [Fri, 28 Aug 2015 13:21:11 +0000 (09:21 -0400)]
contrib: value for nitserial's `-d` is now `package`

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

8 years agotests: update sav with `package` instead of `project`
Jean Privat [Fri, 28 Aug 2015 13:19:58 +0000 (09:19 -0400)]
tests: update sav with `package` instead of `project`

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

8 years agocode: rename `project[s].ini` files as `package[s].ini`
Jean Privat [Fri, 28 Aug 2015 04:30:24 +0000 (00:30 -0400)]
code: rename `project[s].ini` files as `package[s].ini`

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

8 years agosrc: mass rename project->package
Jean Privat [Fri, 28 Aug 2015 03:49:33 +0000 (23:49 -0400)]
src: mass rename project->package

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

8 years agolib/nitcorn: update path to nitc to compile the examples
Alexis Laferrière [Wed, 9 Sep 2015 17:59:37 +0000 (13:59 -0400)]
lib/nitcorn: update path to nitc to compile the examples

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

8 years agocontrib/opportunity: do not force capitalize names
Alexis Laferrière [Wed, 9 Sep 2015 17:51:46 +0000 (13:51 -0400)]
contrib/opportunity: do not force capitalize names

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

8 years agolib/text: fix to|from_percent_encoding with unicode characters
Alexis Laferrière [Wed, 9 Sep 2015 17:50:15 +0000 (13:50 -0400)]
lib/text: fix to|from_percent_encoding with unicode characters

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

8 years agotests: Updated tests for Regex with more UTF-8 regexps
Lucas Bajolet [Wed, 9 Sep 2015 17:45:10 +0000 (13:45 -0400)]
tests: Updated tests for Regex with more UTF-8 regexps

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

8 years agolib/core: Sub-regular expressions API change from Array[Match] to Array[nullable...
Lucas Bajolet [Wed, 9 Sep 2015 15:42:55 +0000 (11:42 -0400)]
lib/core: Sub-regular expressions API change from Array[Match] to Array[nullable Match]

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

8 years agosrc/interpreter: fast_cstring was broken in interpreter
Lucas Bajolet [Tue, 8 Sep 2015 21:13:33 +0000 (17:13 -0400)]
src/interpreter: fast_cstring was broken in interpreter

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

8 years agoMerge: Better nitcc
Jean Privat [Wed, 9 Sep 2015 15:04:17 +0000 (11:04 -0400)]
Merge: Better nitcc

Some improvements and bugfixes for nitcc.

* Improve code size in C and in Nit
* Produce valid Nit code even in case of R/R, S/R or S/R/R conflicts. Close #1693

Before: compiling objc_test_parser on an old laptop
* 880.58 usertime
* 3GB memory
* produced executable: 50MB (31MB stripped)

after: same grammar, better nitcc
* 337.80usertime
* 788MB memory
* produced executable: 28MB (8,8MB stripped)

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

8 years agoMerge: String Stats
Jean Privat [Wed, 9 Sep 2015 15:04:12 +0000 (11:04 -0400)]
Merge: String Stats

Introducing a statistics module for Text variants usage which keeps trace of the accesses and allocations of Texts in a program.

It works in a similar way to `array_debug` or `hash_debug`, and prints statistics after the execution of a module.

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

8 years agolib/json: regenerate with new nitcc
Jean Privat [Wed, 9 Sep 2015 12:44:55 +0000 (08:44 -0400)]
lib/json: regenerate with new nitcc

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

8 years agonitcc: collect items with conflict (now that there is always a resolution attempt)
Jean Privat [Wed, 9 Sep 2015 12:44:36 +0000 (08:44 -0400)]
nitcc: collect items with conflict (now that there is always a resolution attempt)

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

8 years agonitcc: factorize code of alternative reduction
Jean Privat [Wed, 9 Sep 2015 10:06:55 +0000 (06:06 -0400)]
nitcc: factorize code of alternative reduction

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