mirror of
https://github.com/dankamongmen/notcurses.git
synced 2024-10-31 15:20:13 +00:00
26 lines
1.3 KiB
Markdown
26 lines
1.3 KiB
Markdown
|
# Contributing to Notcurses
|
||
|
|
||
|
Your quality contributions are cheerfully appreciated, however small. Example
|
||
|
code and documentation are especially welcome.
|
||
|
|
||
|
Changes ought reflect the style of the surrounding matter, whether code or
|
||
|
documentation. The styles used in the C core, the C++ wrappers, and the Rust
|
||
|
wrappers are quite distinct; use the appropriate style for the language.
|
||
|
|
||
|
New features should have unit tests. It is appreciated if bugfixes have
|
||
|
unit tests, as well. Wrappers in a new language absolutely must have at
|
||
|
least some superficial tests (it is not necessary to deeply test the
|
||
|
underlying functionality in each language). Adding a wrapper implies that
|
||
|
you're prepare to maintain that wrapper; if you can't maintain it, the wrapper
|
||
|
will likely be removed.
|
||
|
|
||
|
Escape sequences available from terminfo must not be hard-coded. Routines must
|
||
|
check to ensure the relevant escape sequence is valid for the current TERM
|
||
|
definition, and not emit it if invalid. Routines emitting characters beyond
|
||
|
the 128 elements of ASCII should check for UTF8 availability, and fall back to
|
||
|
an ASCII equivalent if not present (or return an error).
|
||
|
|
||
|
Run `make test` with your changes, and ensure all tests pass. Run
|
||
|
`notcurses-demo` as well, if you changes are to the core library or the
|
||
|
demo code.
|