From d218da50830b7a531037aa74ba8d6139caeb1221 Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Tue, 10 Jul 2018 11:52:56 +0100 Subject: [PATCH] Fix mouse input issue in terminal mode caused by smart-shift Replace the smart-shift package with functions ripped from textmate.el --- core/siren-modules.el | 2 +- modules/text-editing/siren-shift-text.el | 30 ++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 modules/text-editing/siren-shift-text.el diff --git a/core/siren-modules.el b/core/siren-modules.el index 6c3cc26..0f6772f 100644 --- a/core/siren-modules.el +++ b/core/siren-modules.el @@ -78,7 +78,7 @@ (require 'siren-move-dup) (require 'siren-multiple-cursors) (require 'siren-randomize-region) -(require 'siren-smart-shift) +(require 'siren-shift-text) (require 'siren-smartparens) (require 'siren-sort-symbols) (require 'siren-sort-words) diff --git a/modules/text-editing/siren-shift-text.el b/modules/text-editing/siren-shift-text.el new file mode 100644 index 0000000..12ef979 --- /dev/null +++ b/modules/text-editing/siren-shift-text.el @@ -0,0 +1,30 @@ +;;; siren-shift-text.el --- jimeh's Emacs Siren: shift-text + +;;; Commentary: + +;; Configuration for shift-text + +;;; Code: + +(defun siren-shift-right (&optional arg) + "Shift the line or region to the ARG places to the right. +A place is considered `tab-width' character columns." + (interactive) + (let ((deactivate-mark nil) + (beg (or (and mark-active (region-beginning)) + (line-beginning-position))) + (end (or (and mark-active (region-end)) (line-end-position)))) + (indent-rigidly beg end (* (or arg 1) tab-width)))) + +(defun siren-shift-left (&optional arg) + "Shift the line or region to the ARG places to the left." + (interactive) + (siren-shift-right (* -1 (or arg 1)))) + +(global-set-key (kbd "C-c [") 'siren-shift-left) +(global-set-key (kbd "C-c ]") 'siren-shift-right) +(global-set-key (kbd "M-[") 'siren-shift-left) +(global-set-key (kbd "M-]") 'siren-shift-right) + +(provide 'siren-shift-text) +;;; siren-shift-text.el ends here