A wrapper for exercism CLI and runners.
Clone the repository
git clone https://github.com/ricardoricho/emacsismAdd to source-list
(add-to-list load-path "Path where clone is.")Require the package
(require 'emacsism)(use-package emacsism
:straight (emacsism :host github :repo ricardoricho/emacsism)
:bind-keymap (("C-c E" . emacsism-command-map))
:config
(emacsism-mode))Emacsism relies on the excersism-cli package to be installed.
When emacsism activated emacsism-mode it checks installation and if missing
runs an error. To install exercsims-cli got to
https://exercism.org/cli-walkthrough
Once installed and required emacsism provide this functions:
emacsism-url-download-and-open: Download and openReadme.mdfile from the URL, example:(emacsism-url-download-and-open "URL")the function is interactive so with:M-x emacsism-url-download-and-openit asks for the URL.emacsism-download-and-open: Interactive function that ask for the track and exercise to download and openReadme.mdfile.emacsism-find-exercise: Ask for the track and exercise that already been downloaded and open the README.md file of exercise.emacsism-test: Also an interactive function that, when called from a file inside the exercise directory, it will run the exercise tests.
When emacsism-container-command is present, as "podman" or "docker" or
similar but not nil. The tests will run ussing the “exercism track
runner”. For example, in a rust exercise, the runner is
exercism/rust-test-runner, and it will run the test, set the results in a
json file and open the parsed result in a new buffer.