diff --git a/README.org b/README.org index ed18e48..af26905 100644 --- a/README.org +++ b/README.org @@ -1,7 +1,41 @@ -To use this repository execute the following commands in Emacs: +* Installing -#+begin_src emacs-lisp - (add-to-list 'package-archives '("oni" . "https://ryuslash.org/elpa/")) - (package-refresh-contents) - (package-install 'oni-package) -#+end_src + To use this repository execute the following commands in Emacs: + + #+begin_src emacs-lisp + (add-to-list 'package-archives '("oni" . "https://ryuslash.org/elpa/")) + (package-refresh-contents) + (package-install 'oni-package) + #+end_src + +* Adding new configurations + + When you add a new configuration file, also add at least a test that it + actually gets loaded: + + : tests/integration/oni-example-mode.bats + + #+begin_src bats + #!/usr/bin/env bats + + @test "Opening a .example file loads oni-example-mode" { + run emacs -batch -l package -f package-initialize \ + -visit test.example \ + -eval "(prin1 (featurep 'oni-example-mode))" + + echo "$output" + + [[ "$output" == "t" ]] + } + #+end_src + + And add the integration test in =.gitlab.yaml=: + + #+begin_src yaml + integration-test-oni-example-mode: + stage: integration-test + image: registry.gitlab.com/ryuslash/emacs-config + dependencies: + - package + script: make integration-test-oni-example-mode TEST_ARCHIVE=$(realpath bin/) + #+end_src