Use smart-shift package for indenting and undenting

This commit is contained in:
2019-12-10 15:22:42 +00:00
parent 8afb1282b7
commit 702d2989dd
2 changed files with 24 additions and 2 deletions

View File

@@ -83,7 +83,7 @@
(require 'siren-move-dup)
(require 'siren-multiple-cursors)
(require 'siren-randomize-region)
(require 'siren-shift-text)
(require 'siren-smart-shift)
(require 'siren-smartparens)
(require 'siren-sort-symbols)
(require 'siren-sort-words)

View File

@@ -11,7 +11,29 @@
("C-c [" . smart-shift-left)
("C-c ]" . smart-shift-right)
("M-{" . smart-shift-left)
("M-}" . smart-shift-right))
("M-}" . smart-shift-right)
:config
;; Override default keymap adding support additional keybindings once
;; smart-shift is activated.
(defun smart-shift-override-local-map ()
"Override local key map for continuous indentation."
(setq overriding-local-map
(let ((map (copy-keymap smart-shift-mode-map)))
(define-key map (kbd "[") 'smart-shift-left)
(define-key map (kbd "]") 'smart-shift-right)
(define-key map (kbd "C-b") 'smart-shift-left)
(define-key map (kbd "C-f") 'smart-shift-right)
(define-key map (kbd "C-p") 'smart-shift-up)
(define-key map (kbd "C-b") 'smart-shift-down)
(define-key map (kbd "<left>") 'smart-shift-left)
(define-key map (kbd "<right>") 'smart-shift-right)
(define-key map (kbd "<up>") 'smart-shift-up)
(define-key map (kbd "<down>") 'smart-shift-down)
(define-key map [t] 'smart-shift-pass-through) ;done with shifting
map))
(message (propertize "Still in smart-shift key chord..."
'face 'error))))
(provide 'siren-smart-shift)
;;; siren-smart-shift.el ends here