|
|
@ -753,6 +753,30 @@ https://stackoverflow.com/questions/22735895/configuring-a-yasnippet-for-two-sce |
|
|
|
(load (concat dot-etc-dir "/elfeed-feeds"))) |
|
|
|
(load (concat dot-etc-dir "/elfeed-feeds"))) |
|
|
|
#+END_SRC |
|
|
|
#+END_SRC |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*** Git |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#+BEGIN_SRC emacs-lisp |
|
|
|
|
|
|
|
(use-package diff-hl |
|
|
|
|
|
|
|
:demand |
|
|
|
|
|
|
|
:hook (prog-mode . turn-on-diff-hl-mode) |
|
|
|
|
|
|
|
:hook (prog-mode . (lambda () (when (vc-registered buffer-file-name) (diff-hl-flydiff-mode) (dot/toggle-fringe 1))))) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(use-package transient |
|
|
|
|
|
|
|
:config (setq transient-history-file (concat dot-cache-dir "/transient/history.el"))) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(use-package magit |
|
|
|
|
|
|
|
:after (diff-hl transient) |
|
|
|
|
|
|
|
:hook (git-commit-setup . git-commit-turn-on-auto-fill) |
|
|
|
|
|
|
|
:hook (git-commit-setup . git-commit-turn-on-flyspell) |
|
|
|
|
|
|
|
:hook (magit-pre-refresh . diff-hl-magit-pre-refresh) |
|
|
|
|
|
|
|
:hook (magit-post-refresh . diff-hl-magit-post-refresh) |
|
|
|
|
|
|
|
:config |
|
|
|
|
|
|
|
(setq git-commit-summary-max-length 70) |
|
|
|
|
|
|
|
(setq magit-diff-paint-whitespace-lines 'both) |
|
|
|
|
|
|
|
(setq magit-repository-directories '(("~/dotfiles" . 0) |
|
|
|
|
|
|
|
("~/code" . 3)))) |
|
|
|
|
|
|
|
#+END_SRC |
|
|
|
|
|
|
|
|
|
|
|
* General |
|
|
|
* General |
|
|
|
|
|
|
|
|
|
|
|
#+BEGIN_SRC emacs-lisp |
|
|
|
#+BEGIN_SRC emacs-lisp |
|
|
@ -1139,10 +1163,11 @@ Functions that only use built-in Emacs functionality. |
|
|
|
(find-alternate-file (concat "/sudo:root@localhost:" buffer-file-name)) |
|
|
|
(find-alternate-file (concat "/sudo:root@localhost:" buffer-file-name)) |
|
|
|
(princ "Current buffer isn't a file"))) |
|
|
|
(princ "Current buffer isn't a file"))) |
|
|
|
|
|
|
|
|
|
|
|
(defun dot/toggle-fringe () |
|
|
|
(defun dot/toggle-fringe (&optional arg) |
|
|
|
"Toggle left-only fringe." |
|
|
|
"Toggle left-only fringe." |
|
|
|
(interactive) |
|
|
|
(interactive) |
|
|
|
(if (eq fringe-mode 0) |
|
|
|
(if (or (and (eq fringe-mode 0) (eq arg nil)) |
|
|
|
|
|
|
|
(eq arg 1)) |
|
|
|
(set-fringe-mode '(nil . 0)) |
|
|
|
(set-fringe-mode '(nil . 0)) |
|
|
|
(set-fringe-mode 0))) |
|
|
|
(set-fringe-mode 0))) |
|
|
|
|
|
|
|
|
|
|
@ -1252,17 +1277,25 @@ Functions that use package functionality. |
|
|
|
"\\).*") |
|
|
|
"\\).*") |
|
|
|
name)))) |
|
|
|
name)))) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(defun dot/centaur-tabs-is-buffer-unimportant (buffer) |
|
|
|
|
|
|
|
"Return t if BUFFER is unimportant and can be killed without caution." |
|
|
|
|
|
|
|
(let ((name (format "%s" buffer))) |
|
|
|
|
|
|
|
(cond |
|
|
|
|
|
|
|
((centaur-tabs-hide-tab name) t) |
|
|
|
|
|
|
|
((string-match-p "^magit\\(-[a-z]+\\)*: .*" name) t) |
|
|
|
|
|
|
|
(t nil)))) |
|
|
|
|
|
|
|
|
|
|
|
(defun dot/centaur-tabs-buffer-cleanup () |
|
|
|
(defun dot/centaur-tabs-buffer-cleanup () |
|
|
|
"Clean up all the hidden buffers." |
|
|
|
"Clean up all the hidden buffers." |
|
|
|
(interactive) |
|
|
|
(interactive) |
|
|
|
(dolist (buffer (buffer-list)) |
|
|
|
(dolist (buffer (buffer-list)) |
|
|
|
(when (centaur-tabs-hide-tab buffer) |
|
|
|
(when (dot/centaur-tabs-is-buffer-unimportant buffer) |
|
|
|
(kill-buffer buffer)))) |
|
|
|
(kill-buffer buffer)))) |
|
|
|
|
|
|
|
|
|
|
|
(defun dot/centaur-tabs-kill-buffer-or-window () |
|
|
|
(defun dot/centaur-tabs-kill-buffer-or-window () |
|
|
|
"Delete window of the current buffer, also kill if the buffer is hidden." |
|
|
|
"Delete window of the current buffer, also kill if the buffer is hidden." |
|
|
|
(interactive) |
|
|
|
(interactive) |
|
|
|
(if (centaur-tabs-hide-tab (buffer-name)) |
|
|
|
(if (dot/centaur-tabs-is-buffer-unimportant (buffer-name)) |
|
|
|
(kill-buffer-and-window) |
|
|
|
(kill-buffer-and-window) |
|
|
|
(delete-window)))) |
|
|
|
(delete-window)))) |
|
|
|
#+END_SRC |
|
|
|
#+END_SRC |
|
|
@ -1651,6 +1684,11 @@ Set keybinds to functionality of installed packages. |
|
|
|
;(define-key evil-motion-state-map (kbd "C-w") 'kill-this-buffer) ; @Todo test this with nil |
|
|
|
;(define-key evil-motion-state-map (kbd "C-w") 'kill-this-buffer) ; @Todo test this with nil |
|
|
|
;https://github.com/noctuid/evil-guide#global-keybindings-and-evil-states |
|
|
|
;https://github.com/noctuid/evil-guide#global-keybindings-and-evil-states |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;; with-editor |
|
|
|
|
|
|
|
(with-eval-after-load 'with-editor |
|
|
|
|
|
|
|
(define-key with-editor-mode-map (kbd "M-c") 'with-editor-finish) |
|
|
|
|
|
|
|
(define-key with-editor-mode-map (kbd "M-k") 'with-editor-cancel)) |
|
|
|
|
|
|
|
|
|
|
|
(with-eval-after-load 'evil-states |
|
|
|
(with-eval-after-load 'evil-states |
|
|
|
|
|
|
|
|
|
|
|
;; Global evil keymap |
|
|
|
;; Global evil keymap |
|
|
@ -1720,6 +1758,12 @@ Set keybinds to functionality of installed packages. |
|
|
|
"y" #'elfeed-show-yank |
|
|
|
"y" #'elfeed-show-yank |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;; Magit |
|
|
|
|
|
|
|
(general-def '(normal visual) magit-mode-map |
|
|
|
|
|
|
|
"{" #'magit-section-backward-sibling |
|
|
|
|
|
|
|
"}" #'magit-section-forward-sibling |
|
|
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
;; Minibuffer |
|
|
|
;; Minibuffer |
|
|
|
(general-def 'normal minibuffer-local-map |
|
|
|
(general-def 'normal minibuffer-local-map |
|
|
|
"TAB" #'selectrum-insert-current-candidate |
|
|
|
"TAB" #'selectrum-insert-current-candidate |
|
|
@ -1825,6 +1869,31 @@ General.el ~leader key binds. |
|
|
|
"f u" '(dot/sudo-find-file :which-key "Sudo find file") |
|
|
|
"f u" '(dot/sudo-find-file :which-key "Sudo find file") |
|
|
|
"f U" '(dot/sudo-this-file :which-key "Sudo this file") |
|
|
|
"f U" '(dot/sudo-this-file :which-key "Sudo this file") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;; Git |
|
|
|
|
|
|
|
"g" '(:ignore t :which-key "git") |
|
|
|
|
|
|
|
"g b" '(magit-branch-checkout :which-key "Magit switch branch") |
|
|
|
|
|
|
|
"g B" '(magit-blame-addition :which-key "Magit blame") |
|
|
|
|
|
|
|
"g c" '(:ignore t :which-key "create") |
|
|
|
|
|
|
|
"g c c" '(magit-commit-create :which-key "Commit") |
|
|
|
|
|
|
|
"g c b" '(magit-branch-and-checkout :which-key "Branch") |
|
|
|
|
|
|
|
"g c r" '(magit-init :which-key "Initialize repo") |
|
|
|
|
|
|
|
"g C" '(magit-clone :which-key "Magit clone") |
|
|
|
|
|
|
|
"g f" '(:ignore t :which-key "file") |
|
|
|
|
|
|
|
"g f c" '(magit-find-git-config-file :which-key "Find gitconfig file") |
|
|
|
|
|
|
|
"g f D" '(magit-file-delete :which-key "Delete file") |
|
|
|
|
|
|
|
"g f f" '(magit-find-file :which-key "Find file") |
|
|
|
|
|
|
|
"g f R" '(magit-file-rename :which-key "Rename file") |
|
|
|
|
|
|
|
"g F" '(magit-fetch :which-key "Magit fetch") |
|
|
|
|
|
|
|
"g g" '(magit-status :which-key "Magit status") |
|
|
|
|
|
|
|
"g G" '(magit-status-here :which-key "Magit status here") |
|
|
|
|
|
|
|
"g l" '(:ignore t :which-key "list") |
|
|
|
|
|
|
|
"g l r" '(magit-list-repositories :which-key "List repositories") |
|
|
|
|
|
|
|
"g l s" '(magit-list-submodules :which-key "List submodules") |
|
|
|
|
|
|
|
"g L" '(magit-log :which-key "Magit log") |
|
|
|
|
|
|
|
"g s" '(magit-show-commit :which-key "Magit show commit") |
|
|
|
|
|
|
|
"g S" '(magit-stage-file :which-key "Stage file") |
|
|
|
|
|
|
|
"g U" '(magit-unstage-file :which-key "Unstage file") |
|
|
|
|
|
|
|
|
|
|
|
;; Help |
|
|
|
;; Help |
|
|
|
"h" '(:keymap help-map :which-key "help") |
|
|
|
"h" '(:keymap help-map :which-key "help") |
|
|
|
"h o" '(:ignore t :which-key "describe-symbol-at-point") |
|
|
|
"h o" '(:ignore t :which-key "describe-symbol-at-point") |
|
|
|