diff options
author | Tom Willemse | 2020-01-06 20:09:13 -0800 |
---|---|---|
committer | Tom Willemse | 2020-01-06 20:09:13 -0800 |
commit | 0115885ae590135aee236839401b3a981772dae0 (patch) | |
tree | 2c7e0ac11cbbae149d371cb16bcbc078f9fc63b7 | |
parent | 39bbfffbd888f28abdb770cfa08308860f4614c8 (diff) | |
download | emacs-config-0115885ae590135aee236839401b3a981772dae0.tar.gz emacs-config-0115885ae590135aee236839401b3a981772dae0.zip |
Automatically load scheme-mode for scsh files
When the interpreter contains scsh, load ‘scheme-mode’.
-rw-r--r-- | oni-scheme.el | 3 | ||||
-rw-r--r-- | test/oni-scheme.bats | 23 |
2 files changed, 25 insertions, 1 deletions
diff --git a/oni-scheme.el b/oni-scheme.el index 817bab9..a53934f 100644 --- a/oni-scheme.el +++ b/oni-scheme.el @@ -4,7 +4,7 @@ ;; Author: Tom Willemse <tom@ryuslash.org> ;; Keywords: local -;; Version: 2019.1210.231332 +;; Version: 2020.0106.200514 ;; Package-Requires: (oni-company oni-paredit oni-fci rainbow-delimiters) ;; This program is free software; you can redistribute it and/or modify @@ -37,6 +37,7 @@ (add-hook 'scheme-mode-hook 'rainbow-delimiters-mode) (add-hook 'scheme-mode-hook 'oni-scheme--auto-fill-mode) +;;;###autoload (add-to-list 'interpreter-mode-alist '("scsh" . scheme-mode)) ;;;###autoload(with-eval-after-load 'scheme (require 'oni-scheme)) diff --git a/test/oni-scheme.bats b/test/oni-scheme.bats new file mode 100644 index 0000000..acfa53d --- /dev/null +++ b/test/oni-scheme.bats @@ -0,0 +1,23 @@ +#!/usr/bin/env bats + +@test "Opening a scheme file loads oni-scheme" { + run emacs -batch -l package -f package-initialize \ + -visit test.scm \ + -eval "(prin1 (featurep 'oni-scheme))" + + [ "$output" = "t" ] +} + +@test "Opening a file with the SCSH interpreter loads scheme-mode" { + filename="$(mktemp)" + + echo "#!/usr/bin/scsh -s" > "$filename" + + run emacs -batch -l package -f package-initialize \ + -visit "$filename" \ + -eval "(prin1 major-mode)" + + rm "$filename" + + [ "$output" = "scheme-mode" ] +} |