Skip to content

ricardoricho/emacsism

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Emacsism

Emacs + Excersim

A wrapper for exercism CLI and runners.

Installation

Manual installation

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)

Using straight

(use-package emacsism
  :straight (emacsism :host github :repo ricardoricho/emacsism)
  :bind-keymap (("C-c E" . emacsism-command-map))
  :config
  (emacsism-mode))

Usage

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 open Readme.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 open Readme.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.

Runners.

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.

About

Emacs wrapper for exercism cli

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published