Any ideas are welcome. Open an issue to ask a question or suggest an idea.
How to contribute:
- Read how to properly contribute to open source projects on GitHub.
- Use a topic branch to easily amend a pull request later, if necessary.
- Write good commit messages.
- Use the same coding conventions as the rest of the project, mostly NEP1.
- Open a pull request that relates to only one subject with a clear title and description in grammatically correct, complete sentences.
Any ideas on how to improve documentation are welcome!
Code in examples strives to be as close to NEP1 style guide as possible.
You can help by converting missing examples from original C library doing the following:
- Find a missing example in C, you can use a helper script for that:
nim r scripts/find_missing_examples.nim
. - Compile and run
nim r scripts/c2nim_example_converter.nim examplefile.c
on this C file, check out generatedexamplefile.nim
, it should be very close to the desired file. - Edit resulting Nim file, make sure it runs
nim r examplefile.nim
. - Put this file into a correct category in the
examples
directory (original
is for self-developed examples). - Run
nimble prepareTests
to include this example into a test suite. - Run
nimble testExamples
and make sure that your example passes the test. If it doesn't pass the test, create an issue or ask me any other way, I will help.
I cannot port a number of examples:
core_drop_files.c
- I can't test it on my machine (Wayland on Linux)core_input_multitouch.c
- probably requires a phone to test it?core_storage_values.c
- I can't compile the original C example, values are reset to 0,0 when I press Spacecore_basic_window_web.c
- we have emscripten example with more information
If something is broken or you see an opportunity to improve the wrapper, you can help with converter script. See HACKING.