Skip to content

ricardoricho/emacsism

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 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.

Troubleshooting

In Python track, in most of the exercises, the filename doesn’t match the exercise name. For example, the in the filename in Guidos Lasagna is lasagna.pw. With `M-x emacsism-set-exercise-filename` by choosing the source file, the value of emacism-exercise-filename will be lasagna.

About

Emacs wrapper for exercism cli

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors