diff options
author | Tom Willemse | 2020-01-14 22:02:08 -0800 |
---|---|---|
committer | Tom Willemse | 2020-01-14 22:02:08 -0800 |
commit | e77c57b9984e15087cc718f54ab9a6ef70ec06f0 (patch) | |
tree | c642c5dc604ff4aec690851979f43c1978aa38db | |
parent | 08e73f9cac39d5e33d5137210bbea15c821560d9 (diff) | |
download | emacs-config-e77c57b9984e15087cc718f54ab9a6ef70ec06f0.tar.gz emacs-config-e77c57b9984e15087cc718f54ab9a6ef70ec06f0.zip |
Add ‘smartparens’ to ‘oni-sh’
-rw-r--r-- | oni-sh.el | 6 | ||||
-rw-r--r-- | oni-smartparens.el | 38 | ||||
-rw-r--r-- | test/integration/oni-smartparens.bats | 11 |
3 files changed, 52 insertions, 3 deletions
@@ -4,8 +4,8 @@ ;; Author: Tom Willemse <tom@ryuslash.org> ;; Keywords: local -;; Version: 2019.1125.232102 -;; Package-Requires: (reformatter oni-flycheck oni-fci) +;; Version: 2020.0114.220149 +;; Package-Requires: (reformatter oni-flycheck oni-fci oni-smartparens) ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by @@ -44,10 +44,10 @@ :group 'shfmt) (add-hook 'sh-mode-hook 'electric-indent-local-mode) -(add-hook 'sh-mode-hook 'electric-pair-local-mode) (add-hook 'sh-mode-hook 'fci-mode) (add-hook 'sh-mode-hook 'flycheck-mode) (add-hook 'sh-mode-hook 'shfmt-on-save-mode) +(add-hook 'sh-mode-hook 'smartparens-mode) ;;;###autoload (add-to-list 'auto-mode-alist '("PKGBUILD\\'" . sh-mode)) diff --git a/oni-smartparens.el b/oni-smartparens.el new file mode 100644 index 0000000..08ce275 --- /dev/null +++ b/oni-smartparens.el @@ -0,0 +1,38 @@ +;;; oni-smartparens.el --- Smartparens configuration -*- lexical-binding: t; -*- + +;; Copyright (C) 2020 Tom Willemse + +;; Author: Tom Willemse <tom@ryuslash.org> +;; Keywords: local +;; Version: 2020.0114.220117 +;; Package-Requires: (smartparens) + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see <https://www.gnu.org/licenses/>. + +;;; Commentary: + +;; Configuration for ‘smartparens-mode’. + +;;; Code: + +(require 'smartparens-config) + +(define-key smartparens-mode-map (kbd "C-<right>") 'sp-slurp-hybrid-sexp) +(define-key smartparens-mode-map (kbd "C-<left>") 'sp-forward-barf-sexp) +(define-key smartparens-mode-map (kbd "C-M-<right>") 'sp-backward-barf-sexp) + +;;;###autoload(with-eval-after-load 'smartparens (require 'oni-smartparens)) + +(provide 'oni-smartparens) +;;; oni-smartparens.el ends here diff --git a/test/integration/oni-smartparens.bats b/test/integration/oni-smartparens.bats new file mode 100644 index 0000000..019e0f0 --- /dev/null +++ b/test/integration/oni-smartparens.bats @@ -0,0 +1,11 @@ +#!/usr/bin/env bats + +@test "Loading smartparens loads oni-smartparens" { + run emacs -batch -l package -f package-initialize \ + -l smartparens \ + -eval "(prin1 (featurep 'oni-smartparens))" + + echo "$output" + + [ "$output" = "t" ] +} |