termux-packages/docs/FORMAT.md

2.0 KiB

Formatting Guidelines

All files should adhere to these formatting guidelines.

Shell Script Formatting

  • All build.sh files should be set to 644 permission.

  • All scripts should use tabs rather than spaces.

  • All parantheses of shell functions should not be preceded with a space.

  • Avoid trailing spaces and tabs.

  • Avoid usage of non UTF-8 encoding.

  • Comments should be compact. Do not tab them if not necessary.

Shell Script Coding Practices

  • Do not define global scope variables if not necessary.

  • Do not export variables if not necessary.

  • Custom variables in build.sh scripts should be defined inside functions. If you need a "global scope" variable at build time, just define it in termux_step_pre_configure(). If you still need to define variable outside of function, make sure that it does not use command or process substitution.

  • Dollar parentheses $() rather than backticks `` should be employed in command substitution.

  • Usage of sudo or su in build scripts is disallowed.

  • Utility install is preferred over cp as the file installation program.

  • Do not hardcode version numbers. Instead, use the $TERMUX_PKG_VERSION and $TERMUX_PKG_REVISION variables.

  • Do not hardcode Termux prefix directory. Instead, use the $TERMUX_PREFIX variable.

  • Do not hardcode Termux home directory. Instead, use the $TERMUX_ANDROID_HOME variable.

Markdown Formatting

  • All filenames should be under code formatting, unless they are links.

  • All titles should be indented with hashes rather than equal signs.

  • All unnumbered lists should be indented with hyphens.

  • All Markdown should be edited on alternate line.

  • All Markdown should use tabs rather than spaces.

  • All .md should be set to 644 permission.

  • All special characters should be escaped.

  • All names of .md should be capitalised.

  • All code blocks should be enclosed in backticks, with language specified.

  • Lines shouldn't be longer than 80 characters.