GitHub - jtmoulia/elisp-koans: Emacs Lisp Koans -- learn elisp through test-driv...
source link: https://github.com/jtmoulia/elisp-koans
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
README.org
elisp-koans
What is elisp-koans?
elisp-koans
helps you learn Emacs Lisp (elisp) via test-driven development.
You’re provided with suites of tests describing components of the elisp
syntax and environment. Fixing the tests leads you on a tutorial of elisp.
These koans are for those learning to code in Emacs Lisp and customize Emacs. You should already be able to make your way around Emacs plus be able to call interactive functions, evaluate code in the buffer, and look up documentation.
Usage
Create a clone of this repository:
git clone https://github.com/jtmoulia/elisp-koans
First load elisp-koans.el by opening it in Emacs then running eval-buffer
.
Next open up koans/asserts.el and navigate to the first test:
(elisp-koans/deftest elisp-koans/asserts-true () "`t' is true. Replace the blank with `t' to assert it is true" (should ___))
Fix the test by replacing the blank (___
) with the appropriate value, in
this case t
as described in the docstring:
(should t)
Once the test is fixed evaluate the test and then run it by calling ert
and
selecting the test: elisp-koans/asserts-true
. ERT will run the test and
report the result.
You’re ready to move on to the remaining tests in koans/asserts.el
and
beyond. The variable elisp-koans-groups
lists the remaining suites of koans
which are ordered to provide a tour of Emacs Lisp.
To quickly load all of the tests call the interactive function
elisp-koans/load-groups
.
Credits
elisp-koans
is adapted from Google’s Common Lisp Koans, which was in turn
inspired by the family of TDD Koans, e.g. Ruby Koans and Python Koans.
License
The Common Lisp Koan’s were modified under the terms of the Apache License.
elisp-koans
uses the Apache License.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK