Framework for supporting different programming languages in TMC.
TMC-langs provides an interface that encapsulates everything needed to support a new language in TMC by providing functionality such as downloading exercises, running tests and submitting them. A CLI wrapper is provided so that it's fairly convenient to call from other languages like Ruby.
Documentation for the latest release is available at https://rage.github.io/tmc-langs-rust. Documentation is automatically built and deployed when creating a GitHub release.
Additional documentation for other aspects of TMC such as configuration file formats is included in the docs directory.
A "frontend" for tmc-langs. A binary CLI client for TMC-langs for IDEs. Intended to be used programmatically, for a CLI meant for manual use see tmc-cli-rust.
Bindings for using tmc-langs from Node.js.
The "backend". A library that provides a convenient API for implementing different frontends. A frontend (such as a CLI) should only depend on this library. The other libraries are considered internal.
A library for communicating with the TMC server.
A library for creating language plugins.
A library that provides a convenient API abstracting over all the different language plugins.
A utility library that contains various kinds of useful functionality for other projects.
A TMC plugin for C#.
TMC plugins for Maven and Ant projects.
A TMC plugin for Make.
A TMC plugin for projects with no tests.
A TMC plugin for Python 3.
A TMC plugin for R.
- Linux 64-bit (x86_64-unknown-linux-gnu)
- Linux 32-bit (i686-unknown-linux-gnu)
- Windows MSVC 64-bit (x86_64-pc-windows-msvc)
- Windows MSVC 32-bit (i686-pc-windows-msvc)
- MacOS x86 (x86_64-apple-darwin)
- MacOS M1 (aarch64-apple-darwin)
- ARM64 (aarch64-unknown-linux-gnu)
- Armv7 (armv7-unknown-linux-gnueabihf)
See CONTRIBUTING.
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.