A wrapper for exercism CLI and runners.
Clone the repository
git clone https://github.com/ricardoricho/emacsism
Add 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.md
file from the URL, example:(emacsism-url-download-and-open "URL")
the function is interactive so with:M-x emacsism-url-download-and-open
it asks for the URL.emacsism-download-and-open
: Interactive function that ask for the track and exercise to download and openReadme.md
file.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.