Crate tmc_langs_framework

Source
Expand description

Contains functionality for dealing with projects.

Re-exports§

pub use nom;
pub use nom_language;

Structs§

Archive
Wrapper unifying the API of all the different compression formats supported by langs. Unfortunately the API is more complicated due to tar only supporting iterating through the files one by one, while zip only supports accessing by index.
ArchiveBuilder
EverythingIsStudentFilePolicy
Mock policy that ignores the config file and returns true for all files.
ExerciseDesc
A description of an exercise.
ExercisePackagingConfiguration
Represents configuration based on which submission may be packaged.
MetaSyntaxParser
Parses a given text file into an iterator of MetaStrings.
NothingIsStudentFilePolicy
Mock policy that ignores the config file and returns false for all files.
Output
PythonVer
Python version from TmcProjectYml.
RunResult
The result of running an exercise’s test suite against a submission.
StyleValidationError
A style validation error.
StyleValidationResult
The result of a style check.
TestDesc
A description of an exercise’s test case.
TestResult
The result of a single test case.
TmcCommand
Wrapper around subprocess::Exec
TmcProjectYml
Extra data from a .tmcproject.yml file.

Enums§

CommandError
An error caused by a failed attempt to execute an external command.
Compression
Supported compression methods.
ExitStatus
Exit status of a process.
Language
MetaString
Used to classify lines of code based on the annotations in the file.
PopenError
Error in Popen calls.
RunStatus
The overall status of a test run.
StyleValidationStrategy
Determines how style errors are handled.
TmcError

Traits§

LanguagePlugin
The trait that each language plug-in must implement.
StudentFilePolicy
Specifies which files are student files. A single StudentFilePolicy is only valid for a single project as it uses a config file to determine its output.