4 releases

0.2.0 Sep 6, 2024
0.1.2 Aug 26, 2024
0.1.1 Aug 21, 2024
0.1.0 Aug 18, 2024

#228 in Programming languages

Custom license

170KB
4K SLoC

logo of PLX

Practice programming exos in a delightful Learning eXperience

Website - WHY ? - Git repository of PLX website

Introduction

PLX is a project developed to enhance the learning of programming languages, with a focus on a smooth and optimized learning experience. The goal of this project is to reduce the usual friction involved in completing coding exercises (such as manual compilation, running, testing, and result verification) by automating these steps.

PLX offers a terminal user interface (TUI) developed in Rust and supports multiple languages (currently C and C++). It enables automatic compilation as soon as a file is saved, automated checks to compare program outputs, and instant display of errors and output differences. The solution code can also be displayed. The project draws inspiration from Rustlings and aims to create a more efficient learning experience, particularly for programming courses at HEIG-VD.

Docs

We deploy documentations on our website.## Docs

Installation

Prerequisites

Once you have cargo installed, simply run

cargo install plx

Testing using our example folder

Once you have plx installed, you can try it on this repo's example folder

[!IMPORTANT] Set the $EDITOR environment variable if you wish for your editor to be opened when starting an exo

[!WARNING] The open editor feature is currently unstable, using a terminal based editor causes problems The following editors were tested and work fine: code, clion and codium

[!IMPORTANT] Only C and C++ exercises are valid for now, java and other languages support is comming soon™

git clone git@github.com:plx-pdg/plx.git
cd plx/examples/full
plx

On Linux and MacOS, you can easily change EDITOR just for PLX, here is an example for VSCode.

EDITOR=code plx

The useful shortcuts are defined under shortcut ?, j or k to move up and down, you can mostly type l, until you reach the exo, then the editor should open and then you can do the exo (or just fill the solution next to it see .sol.c file), save and see changes...

Building from source

  • Clone this repo
git clone git@github.com:plx-pdg/plx.git
  • Build using cargo
cargo build --release

This will install all necessary dependencies and build the program in release mode.

To run it

cargo run

Install from source

cargo install --path .

Running tests

cargo test

Showing Rust code documentation

You can easily see all our code comments in a nice web page.

cargo doc --open

Contributing

Please take a look at some of the issues here.

  • Fork this project
  • Create a branch
  • Develop your solution
  • Create a Pull Request

License

We are currently waiting for our school's approval before applying an open source license.

Dependencies

~12–26MB
~330K SLoC