exercism-modern icon indicating copy to clipboard operation
exercism-modern copied to clipboard

A modern interface to exercism

#+title: Exercism-modern #+author: Ellis Kenyő #+date: 2022-09-16 #+latex_class: chameleon

[[file:https://github.com/elken/exercism-modern/actions/workflows/ci.yml/badge.svg]]

A modern interface to [[https://exercism.org][Exercism]].

  • Installation ** Standard Clone the repo, add to your load-path ** Doom Emacs Append the following to the corresponding file:

*** =packages.el= #+begin_src emacs-lisp (package! exercism-modern :recipe (:files (:defaults "icons") :host github :repo "elken/exercism-modern")) #+end_src

*** =config.el= #+begin_src emacs-lisp (use-package! exercism-modern :commands (exercism-modern-jump exercism-modern-view-tracks)) #+end_src

  • Exercism setup Currently depends on following the setup mapped out [[https://exercism.org/docs/using/solving-exercises/working-locally][here]], after doing them you should be fine to use this.

NOTE the first time you view the tracks/a specific track there will be a one-time delay while the icons are downloaded. This will only occur once per the main tracks view and one per track

  • Commands ** =exercism-modern-jump= Open dired at the exercism workspace directory. ** =exercism-modern-view-tracks= [[file:.github/assets/tracks.png]]

Main entry point into Exercism; a listing of all the available programming languages that have courses.

Shows your current statistics for overall completion of a track.

Pressing =RET= on a track will open a listing of all the exercises available. ** =exercism-modern-track-view-exercises= [[file:.github/assets/exercises.png]]

Listing of all exercises available for a given track.

Any exercises not yet unlocked are greyed out.

| key | action | |-----+-----------------------------------| | =RET= | Download exercise(s) | | =m= | Mark an exercise to be downloaded | | =u= | Unmark an exercise | | =t= | Toggle all marks |

A more detailed listing of shortcuts available when navigating exercises is available [[https://github.com/politza/tablist][here]].

** =exercism-modern-submit= Once you're done with an exercise and you're happy the tests pass, invoke this to submit the solution files to exercism. When invoked with the universal argument =C-u= (=SPC u= for Doom Emacs users), prompt for a buffer to submit instead.