Skip to content

Latest commit

 

History

History
112 lines (96 loc) · 3.62 KB

ISSUES.org

File metadata and controls

112 lines (96 loc) · 3.62 KB

Add: 【SPC ,】 major mode keybindings

I was thinking it would be nice if these hooked into major mode repls as well

  • SPC , c xah-run-current-file
  • SPC , d eval-defun
  • SPC , e eval-buffer
  • SPC , f eval-region
  • SPC , m eval-last-sexp
  • SPC , r eval-expression

[#B] Fix: conflicting paredit ; binding

Paredit binds this to comment out expressions in lisp modes

(add-hook 'paredit-mode-hook (lambda () (define-key paredit-mode-map ";" nil)))

Add: customiziable cursor color/shape

cursor-type

t               use the cursor specified for the frame
nil             don’t display a cursor
box             display a filled box cursor
hollow          display a hollow box cursor
bar             display a vertical bar cursor with default width
(bar . WIDTH)   display a vertical bar cursor with width WIDTH
hbar            display a horizontal bar cursor with default height
(hbar . HEIGHT) display a horizontal bar cursor with height HEIGHT
ANYTHING ELSE   display a hollow box cursor

Figure out how to handle all supported keyboard layouts

use xah-fly--define-keys and dvorak key names

Integrate with set cursor according to state

spacemacs-evil-cursors is a variable defined in ‘config.el’.
Its value is shown below.

Documentation:
Colors assigned to evil states with cursor definitions.
To add your own, use ‘spacemacs/add-evil-curosr’.

Value:
(("normal" "DarkGoldenrod2" box)
 ("insert" "chartreuse3"
  (bar . 2))
 ("emacs" "SkyBlue2" box)
 ("hybrid" "SkyBlue2"
  (bar . 2))
 ("replace" "chocolate"
  (hbar . 2))
 ("evilified" "LightGoldenrod3" box)
 ("visual" "gray"
  (hbar . 2))
 ("motion" "plum3" box)
 ("lisp" "HotPink1" box)
 ("iedit" "firebrick1" box)
 ("iedit-insert" "firebrick1"
  (bar . 2)))

would require integrating xfk as evil states

eg…

;; This code is from evil insert state definition, any change upstream
;; should be reflected here
;; see https://github.com/emacs-evil/evil/blob/56e92f7cb4e04e665670460093b41f58446b7a2b/evil-states.el#L108
(evil-define-state hybrid
  "Hybrid state for hybrid mode."
  :tag " <H> "
  :cursor (bar . 2)
  :message "-- HYBRID --"
  :entry-hook (evil-start-track-last-insertion)
  :exit-hook (evil-cleanup-insert-state evil-stop-track-last-insertion)
  :input-method t
  (cond
   ((evil-hybrid-state-p)
    (add-hook 'post-command-hook #'evil-maybe-remove-spaces)
    (add-hook 'pre-command-hook #'evil-insert-repeat-hook)
    (setq evil-maybe-remove-spaces t)
    (unless (eq evil-want-fine-undo t)
      (evil-start-undo-step)))
   (t
    (remove-hook 'post-command-hook #'evil-maybe-remove-spaces)
    (remove-hook 'pre-command-hook #'evil-insert-repeat-hook)
    (evil-maybe-remove-spaces t)
    (setq evil-insert-repeat-info evil-repeat-info)
    (evil-set-marker ?^ nil t)
    (unless (eq evil-want-fine-undo t)
      (evil-end-undo-step))
    (when evil-move-cursor-back
      (when (or (evil-normal-state-p evil-next-state)
                (evil-motion-state-p evil-next-state))
        (evil-move-cursor-back))))))
* DONE Add: helm/ivy conditional binding of M-x function
  CLOSED: [2019-06-30 Sun 14:11]
For now, I just ensure M-x is bound to =execute-extended-command= which Ivy
handles on its own to make =counsel-M-x=.

This does not work for helm, so the post-init functions for helm and ivy take
care of ensuring it is set correctly for those layers.