https://github.com/binhonglee/wings
A simple cross language struct and enum file generator.
https://github.com/binhonglee/wings
enum golang hacktoberfest hacktoberfest2020 kotlin nim-lang python struct typescript
Last synced: 9 months ago
JSON representation
A simple cross language struct and enum file generator.
- Host: GitHub
- URL: https://github.com/binhonglee/wings
- Owner: binhonglee
- License: mit
- Created: 2019-08-03T22:01:34.000Z (over 6 years ago)
- Default Branch: devel
- Last Pushed: 2025-04-01T17:56:45.000Z (10 months ago)
- Last Synced: 2025-04-01T18:50:11.640Z (10 months ago)
- Topics: enum, golang, hacktoberfest, hacktoberfest2020, kotlin, nim-lang, python, struct, typescript
- Language: Nim
- Homepage: https://wings.sh/
- Size: 9.16 MB
- Stars: 18
- Watchers: 3
- Forks: 4
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# wings
A customizable cross language struct and enum file generator.
[](https://github.com/binhonglee/wings/actions?query=workflow%3ACI+branch%3Adevel)
[](https://app.circleci.com/pipelines/github/binhonglee/wings?branch=devel)
[](https://codecov.io/gh/binhonglee/wings)
[](https://www.codefactor.io/repository/github/binhonglee/wings)
[](https://github.com/binhonglee/wings/blob/devel/.mergify.yml)
[](https://gitter.im/wings-sh/community)
[](https://wings.sh)



## Requirements
- [Nim](https://nim-lang.org/)
- [MkDocs](https://www.mkdocs.org/) (Documentation)
\*_Note: There are also other packages needed for deployment due to cross compilation (like `gcc-multilib`, `gcc-arm-linux-gnueabihf`, `mingw-w64`, `libevent-dev` etc...)._
## Development Tools (scripts)
- Run mkdocs development server for realtime feedback on changes made `docs` folder _(requires `mkdocs`)_
- `nim src/main/scripts/docs.nims`
- Build release binaries for distribution
- `nim src/main/scripts/release.nims` (This will only build the version compatible to your environment by default. You can do `nim src/main/scripts/release.nims --all` to try cross-compiling for other environments.)
- Generate / Update the `lang` folder [(`src/main/wingspkg/lang`)](https://github.com/binhonglee/wings/tree/devel/src/main/wingspkg/lang) based on the files in the [`examples/input/templates`](https://github.com/binhonglee/wings/tree/devel/examples/input/templates) folder
- `nim c -r -d:ssl src/main/staticlang/main.nim`
- Run tests
- `./scripts/test.sh` (This isn't a proper test for everything. Recommend reading the script, < 20 lines, before running it.)
For some more comprehensive set up / testing procedure, [`.github/workflows/main.yml`](https://github.com/binhonglee/wings/blob/devel/.github/workflows/main.yml) file might be a good place to start looking into.
## Supported languages
- [go](http://golang.org/)
- [Kotlin](https://kotlinlang.org)
- [Nim](https://nim-lang.org/)
- [Python](https://www.python.org/)
- [TypeScript](https://www.typescriptlang.org)
- [Utility package](https://github.com/binhonglee/wings/tree/devel/src/tsUtil)
## Further Documentations
- [Usage explanation and examples](https://wings.sh).
- [Code documentation](https://wings.sh/api).