diff --git a/modules/editor/lispyville/README.org b/modules/editor/lispyville/README.org new file mode 100644 index 000000000..84c5f9d95 --- /dev/null +++ b/modules/editor/lispyville/README.org @@ -0,0 +1,33 @@ +#+TITLE: :editor lispyville + +This modules adds [[https://github.com/noctuid/lispyville][lispyville]] key functionality in Lisp languages. + +This includes: + +- Common Lisp +- Emacs Lisp +- Scheme +- Racket +- [[http://docs.hylang.org/en/stable/][Hy]] +- [[http://lfe.io/][LFE]] +- Clojure + +The default key themes that are set are as follows: + +#+BEGIN_SRC emacs-lisp +(lispyville-set-key-theme + '((operators normal) + c-w + (prettify insert) + (atom-movement normal visual) + slurp/barf-lispy + (wrap normal insert) + additional + additional-insert + (additional-wrap normal insert) + (escape insert))) +#+END_SRC + +See noctuid's [[https://github.com/noctuid/lispyville/blob/master/README.org][README]] for more info on specific keybindings (starting [[https://github.com/noctuid/lispyville#operators-key-theme][here]]) of +each key theme. Think of ~lispyville-set-key-theme~ as adding +~parinfer-extensions~ via ~(setq parinfer-extensions '(blah blah blah))~. diff --git a/modules/editor/lispyville/config.el b/modules/editor/lispyville/config.el new file mode 100644 index 000000000..b88994438 --- /dev/null +++ b/modules/editor/lispyville/config.el @@ -0,0 +1,24 @@ +;;; editor/lispyville/config.el -*- lexical-binding: t; -*- + +(def-package! lispyville + :when (featurep! :feature evil) + :hook ((common-lisp-mode . lispyville-mode) + (emacs-lisp-mode . lispyville-mode) + (scheme-mode . lispyville-mode) + (racket-mode . lispyville-mode) + (hy-mode . lispyville-mode) + (lfe-mode . lispyville-mode) + (clojure-mode . lispyville-mode)) + :config + (add-hook 'lispyville-mode-hook #'turn-off-smartparens-mode) + (lispyville-set-key-theme + '((operators normal) + c-w + (prettify insert) + (atom-movement normal visual) + slurp/barf-lispy + (wrap normal insert) + additional + additional-insert + (additional-wrap normal insert) + (escape insert)))) diff --git a/modules/editor/lispyville/packages.el b/modules/editor/lispyville/packages.el new file mode 100644 index 000000000..de5773587 --- /dev/null +++ b/modules/editor/lispyville/packages.el @@ -0,0 +1,5 @@ +;; -*- no-byte-compile: t; -*- +;;; editor/lispyville/packages.el + +(when (featurep! :feature evil) + (package! lispyville))