Recently Written · git

ediff-spacemacs

Bindings fo ediff in a spacemacs layer.

git clone https://github.com/equwal/ediff-spacemacs

Log | Files | Refs


commit 235056b647c5ebff3c42181f69da634642472bbb
Spenser Truex <web@spensertruex.com>
2019-11-13 22:34:33 -0800

Ediff bindings layer.

 README.org     | 30 ++++++++++++++++++++++++++++
 keybindings.el | 27 +++++++++++++++++++++++++
 packages.el    | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 119 insertions(+)
diff --git a/README.org b/README.org
new file mode 100644
index 0000000..ba04123
--- /dev/null
+++ b/README.org
@@ -0,0 +1,30 @@
+#+TITLE: ediff-bindings layer
+
+# The maximum height of the logo should be 200 pixels.
+[[img/ediff-bindings.png]]
+
+# TOC links should be GitHub style anchors.
+* Table of Contents                                        :TOC_4_gh:noexport:
+- [[#description][Description]]
+- [[#install][Install]]
+- [[#key-bindings][Key bindings]]
+
+* Description
+Provide bindings for Ediff, the Emacs diff-er.
+
+* Install
+To use this configuration layer, add it to your =~/.spacemacs=. You will need to
+add =ediff-bindings= to the existing =dotspacemacs-configuration-layers= list in
+this file.
+
+* Key bindings
+  The prefix is ~SPC e d~ for the mnemonic SPACE-E-DIFF (spaceydiff?). They are
+  meant to be listed in More Important First Order (MIFO). The long names are used where possible (since some have two names).
+| Key Binding | Description    |
+|-------------+----------------|
+| ~SP~ | Does thing01   |
+# Use GitHub URLs if you wish to link a Spacemacs documentation file or its heading.
+# Examples:
+# [[https://github.com/syl20bnr/spacemacs/blob/master/doc/VIMUSERS.org#sessions]]
+# [[https://github.com/syl20bnr/spacemacs/blob/master/layers/%2Bfun/emoji/README.org][Link to Emoji layer README.org]]
+# If space-doc-mode is enabled, Spacemacs will open a local copy of the linked file.
diff --git a/keybindings.el b/keybindings.el
new file mode 100644
index 0000000..f9303a9
--- /dev/null
+++ b/keybindings.el
@@ -0,0 +1,27 @@
+(spacemacs/declare-prefix "ed" "ediff")
+(spacemacs/set-leader-keys
+  "edb3"  'ediff-buffers3
+  "edb"   'ediff-backup
+  "edd3"  'ediff-directories3
+  "edd"   'ediff-directories
+  "eddr"  'ediff-directory-revisions
+  "edf3"  'ediff-files3
+  "edf"   'ediff-files
+  "edh"   'ediff-documentation
+  "edmb3" 'ediff-merge-buffers-with-ancestor
+  "edmb"  'ediff-merge-buffers
+  "edmd3" 'ediff-merge-directories-with-ancestor
+  "edmd"  'ediff-merge-directories
+  "edmf3" 'ediff-merge-files-with-ancestor
+  "edmf"  'ediff-merge-files
+  "edmr3" 'ediff-merge-revisions-with-ancestor
+  "edmr"  'ediff-merge-revisions
+  "edpb"  'ediff-patch-buffer
+  "edpf"  'ediff-patch-file
+  "edr"   'ediff-revision
+  "edrl"  'ediff-regions-linewise
+  "edrw"  'ediff-regions-wordwise
+  "eds"   'ediff-show-registry
+  "ed "   'spacemacs/ediff-dotfile-and-template
+  "edwl"  'ediff-windows-linewise
+  "edww"  'ediff-windows-wordwise)
diff --git a/packages.el b/packages.el
new file mode 100644
index 0000000..16bf762
--- /dev/null
+++ b/packages.el
@@ -0,0 +1,62 @@
+;;; packages.el --- ediff-bindings layer packages file for Spacemacs.
+;;
+;; Copyright (c) 2012-2017 Sylvain Benner & Contributors
+;;
+;; Author: Spenser Truex <web@spensertruex.com>
+;; URL: https://github.com/syl20bnr/spacemacs
+;;
+;; This file is not part of GNU Emacs.
+;;
+;;; License: GPLv3
+
+;;; Commentary:
+
+;; See the Spacemacs documentation and FAQs for instructions on how to implement
+;; a new layer:
+;;
+;;   SPC h SPC layers RET
+;;
+;;
+;; Briefly, each package to be installed or configured by this layer should be
+;; added to `ediff-bindings-packages'. Then, for each package PACKAGE:
+;;
+;; - If PACKAGE is not referenced by any other Spacemacs layer, define a
+;;   function `ediff-bindings/init-PACKAGE' to load and initialize the package.
+
+;; - Otherwise, PACKAGE is already referenced by another Spacemacs layer, so
+;;   define the functions `ediff-bindings/pre-init-PACKAGE' and/or
+;;   `ediff-bindings/post-init-PACKAGE' to customize the package as it is loaded.
+
+;;; Code:
+
+(defconst ediff-bindings-packages
+  '()
+  "The list of Lisp packages required by the ediff-bindings layer.
+
+Each entry is either:
+
+1. A symbol, which is interpreted as a package to be installed, or
+
+2. A list of the form (PACKAGE KEYS...), where PACKAGE is the
+    name of the package to be installed or loaded, and KEYS are
+    any number of keyword-value-pairs.
+
+    The following keys are accepted:
+
+    - :excluded (t or nil): Prevent the package from being loaded
+      if value is non-nil
+
+    - :location: Specify a custom installation location.
+      The following values are legal:
+
+      - The symbol `elpa' (default) means PACKAGE will be
+        installed using the Emacs package manager.
+
+      - The symbol `local' directs Spacemacs to load the file at
+        `./local/PACKAGE/PACKAGE.el'
+
+      - A list beginning with the symbol `recipe' is a melpa
+        recipe.  See: https://github.com/milkypostman/melpa#recipe-format")
+
+
+;;; packages.el ends here