Skip to content

imustafin/tree-sitter-eiffel

Repository files navigation

tree-sitter-eiffel

CI

A tree-sitter parser for the Eiffel programming language.

This project uses Semantic Versioning. Conventional Commits because tree-sitter-grammars template suggests that.

Also this project follows Keep a Changelog with the changelog located at CHANGELOG.md.

References

Local development

Install JavaScript dependencies:

npm install

Regenerate parser before running tests:

./node_modules/tree-sitter-cli/tree-sitter generate
./node_modules/tree-sitter-cli/tree-sitter test

Build binary files:

make all

Releasing

  1. Choose the release version (e.g. v0.0.1)
  2. Update version in files (no v char):
    1. Makefile
    2. package.json
    3. package-lock.json (version and packages."".version)
    4. Cargo.toml
    5. pyproject.toml
  3. Update the changelog
    1. Change [Unreleased] title to the version ([v0.0.1])
    2. Add release date in YYYY-MM-DD format
    3. Make a new [Unreleased] title with ### Added and ### Fixed
    4. At the end of file, add link for the release ([v0.0.1] .../compare/v0.0.0...v0.0.1)
    5. Update the [unreleased] link ([unreleased]: .../compare/v0.0.1...HEAD)
  4. Make a commit with release: type
  5. Add and push tag (v0.0.1)
  6. Push changelog updates to master
  7. Make a GitHub release
    1. Set the version
    2. Paste changelog of the release
      • Don't add the release title (already shown by GitHub)
      • Make headings (Added, Fixed) start from h1 (#)