Skip to content
This repository has been archived by the owner on Dec 11, 2023. It is now read-only.

Latest commit

 

History

History
58 lines (36 loc) · 3.11 KB

CONTRIBUTING.md

File metadata and controls

58 lines (36 loc) · 3.11 KB

Contributing

If you are not familiar yet with Sublime Text package development, please head over to the Sublime Text documentation first. There you will find information on how syntax definitions are implemented and why scopes are named as they are.

Guidelines

Commit Titles

If there is an issue filed for what you contribute, please refer to it in the commit title like in this example:

Closes #123: This solves a problem.

For more info, see the GitHub documentation on Autolinked references and URLs.

Code Style Conventions

This repository uses EditorConfig to enforce consistent code style. If you have not already done so, then please install the EditorConfig package for Sublime Text which will ensure that project-specific settings will be enforced over custom settings while editing the repository contents.

PureBasic IDE Settings

In "Preferences » Editor » Save Settings to:" there are four options on how compiler settings are saved and loaded. Check that your IDE is not configured to save compiler settings at the end of source files. With that setting the PureBasi IDE would modify files tracked by Git even though you did not actually change the source code. The other options to store compiler settings in dedicated files or not at all are acceptable. The possibly created compiler settings files are ignored in the repository based on their file extension and will not be committed.

Completions

Completions for procedures of libraries shipped with PureBasic should be implemented as dedicated completion files per library. This eases maintenance. The one big completions file is a leftover from the predecessor project of language support in Atom.

Tests

As most as possible should be covered by syntax tests. You can read about them in the Sublime Text documentation.

If you add or modify PureBasic test code please verify its successful compilation in the PureBasic IDE. Code which should not compile on purpose is exempt from this. An example are syntax tests for invalid scopes.

We would like to have this verification automated in the CI pipeline but this currently is not possible.