From bdf469437b168eba31ab8645031ea8a5e23ff5a3 Mon Sep 17 00:00:00 2001 From: Ravi R Kiran Date: Mon, 11 May 2015 09:35:03 -0700 Subject: Add map to operate on number diff --git a/init.el b/init.el index 6325bb4..f38699a 100644 --- a/init.el +++ b/init.el @@ -131,6 +131,7 @@ (make-local-variable varname)) (set varname (append basic-var (symbol-value hack-varname)))))) +(require 'ravi-init-maps) (require 'ravi-init-ido) (require 'ravi-init-helm) (require 'ravi-init-marks) diff --git a/lisp/ravi-init-maps.el b/lisp/ravi-init-maps.el new file mode 100644 index 0000000..b6855c1 --- /dev/null +++ b/lisp/ravi-init-maps.el @@ -0,0 +1,59 @@ +;;; ravi-init-maps.el --- extra keys -*- lexical-binding: t; -*- + +;; Copyright (C) 2015 Ravi R Kiran + +;; Author: +;; Keywords: + +;; 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 . + +;;; Commentary: + +;; Extra keybindings + +(use-package hydra + :ensure t) + +(use-package operate-on-number + :bind (("M-g M-d" . hydra-operate-on-number/body)) + :config + (progn + (defhydra hydra-operate-on-number () + "Arithmetic operations: + - * / +Remainder: \\ +Exponent: ^ +Arithmetic shift:< > +Base conversion: b o x X # +Choices: " + ("+" apply-operation-to-number-at-point) + ("-" apply-operation-to-number-at-point) + ("*" apply-operation-to-number-at-point) + ("/" apply-operation-to-number-at-point) + ("\\" apply-operation-to-number-at-point) + ("^" apply-operation-to-number-at-point) + ("<" apply-operation-to-number-at-point) + (">" apply-operation-to-number-at-point) + ("b" apply-operation-to-number-at-point :exit t) + ("o" apply-operation-to-number-at-point :exit t) + ("x" apply-operation-to-number-at-point :exit t) + ("X" apply-operation-to-number-at-point :exit t) + ("#" apply-operation-to-number-at-point :exit t) + ;; ("%" apply-operation-to-number-at-point :exit t) ; need to file bug report + )) + :ensure t) + +;; To do: launcher map, toggle map + +(provide 'ravi-init-maps) +;;; ravi-init-maps.el ends here -- cgit v0.10.1