https://github.com/spacebat/my-exercism.el
Emacs minor mode to support working through Exercism.io tracks
https://github.com/spacebat/my-exercism.el
emacs-mode exercism
Last synced: 5 months ago
JSON representation
Emacs minor mode to support working through Exercism.io tracks
- Host: GitHub
- URL: https://github.com/spacebat/my-exercism.el
- Owner: spacebat
- License: gpl-3.0
- Created: 2018-10-01T00:40:50.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-10-01T04:57:35.000Z (over 7 years ago)
- Last Synced: 2025-04-05T20:41:36.728Z (about 1 year ago)
- Topics: emacs-mode, exercism
- Language: Emacs Lisp
- Size: 18.6 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.org
- License: LICENSE
Awesome Lists containing this project
README
#+TITLE: exercism.el
* Synopsis
Following through [[http://exercism.io][Exercism.io]] tracks is a great way of learning different programming languages, but there is a fair bit of houskeeping that needs to be done, downloading exercises, running tests, submitting solutions and iterating through improvements.
This project provides an Emacs minor mode to remove some of the effort involved.
* Status
This project should be considered to be in an alpha state. It works in a limited but sufficient capacity for the author on Emacs 27.0.50.
Patches welcome.
* Installation
#+BEGIN_SRC elisp
(add-to-list 'load-path "path/to/exercism.el")
(require 'exercism)
#+END_SRC
You might want to add a =.dir-locals.el= file to the root of your Exercism workspace:
#+BEGIN_SRC elisp
((nil . ((eval . (exercism-mode 1)))))
#+END_SRC
* Usage
While =exercism-mode= is enabled, the following keybindings are set by default:
| Key | Command | Description |
|-------+-----------------------------+----------------------------------------------|
| C-c S | exercism-submit | Submit the current buffer's file to exercism |
| C-c O | exercism-open | Open the current exercise in a web browser |
| C-c C | exercism-show-configuration | Show the exercism CLI configuration |