Skip to content

Latest commit

 

History

History
97 lines (58 loc) · 4.9 KB

CONTRIBUTING.md

File metadata and controls

97 lines (58 loc) · 4.9 KB

How to Contribute

This project accepts contributions in various languages. Not only development but also documentation and translation are important contributions.


English

Setup (en)

Eask is required to build the package. You need to install it using node.js and npm, or download a prebuilt executable. See Eask Introduction and Install Eask for more details.

You can run the tests using the following command:

make test

Guideline (en)

All contributions to PHP Mode are welcome. But please try to do the following when submitting enhancements or bug fixes:

  1. Open php-mode-test.el and run all the tests to make sure they pass as expected. You can also check this by running make test from the terminal.
  2. Please commit with a concise and clear message that effectively achieves a simple purpose.
  3. Submit a pull request here on GitHub.

If you are fixing a bug related to a GitHub issue, then first of all, thank you for helping to improve PHP Mode. Second, there is a tests/ directory that contains PHP scripts for issues (though not all). Please consider adding a test script to that directory that documents the expected behavior and provides code that allows others to see if that behavior works properly. Then create a unit test within `php-mode-test.el' using ERT. Try to follow the format of the existing tests.

Regression test for Face (en)

In this project, the regression test of Font Lock is realized by creating a foo.php.face file to be paired with the foo.php file. Add the : faces t option to the with-php-mode-test argument to activate this test.

Please refer to How to generate face file for how to generate .face file required for this test.


Simplified Chinese

I am seeking a contribution on Chinese. We also lack a README written in Simplified Chinese.

Guideline (zh-Hans)

Please contribute.


Traditional Chinese

I am seeking a contribution on Chinese. We also lack a README written in Traditional Chinese.

Guideline (zh-Hant)

Please contribute.


Japanese

Setup (ja)

パッケージをビルドするにはEaskが必要です。node.jsとnpmからインストールするか、ビルド済み実行ファイルをダウンロードする必要があります。Easkの詳細はEask IntroductionInstall Easkをお読みください。

以下のコマンドでテストを実行できます。

make test

Guideline (ja)

Emacs PHP Modeはどなたからの貢献も歓迎です。改善やバグ修正を行う前に以下の手順を行ってください。

  1. php-mode-test.elを開いてすべてのテストを実行し、期待通りにテストを通過することを確認します。端末からmake testで確認することもできます。
  2. 簡潔でシンプルな目的を達成するための、明示的なメッセージでコミットしてください。
  3. GitHubからプルリクエストを送信してください。

GitHubのissueに関連するバグを修正する場合: PHPモードの改善に協力いただきありがとうございます! tests/ディレクトリには(すべてではありませんが)issueに関連のあるPHPスクリプトが配置されています。そこに予期される挙動と他のひとが動作を適切に確認できるテストコードを追加することを検討してください。そしてphp-mode-test.elに既存のテストと同じようにERTを使ったテストコードを追加してください。

Regression test for Face (ja)

このプロジェクトでは foo.php ファイルに対応した foo.php.face ファイルを作成することでFont Lockの回帰テストを実現しています。このテストを有効化するにはwith-php-mode-testの引数に:faces tオプションを追加してください。

このテストに必要な.faceファイルの生成方法はHow to generate face fileを参考にしてください。