mirror of
https://github.com/jimeh/.emacs.d.git
synced 2026-02-19 13:46:41 +00:00
feat(core): use general.el for keybind definitions nearly everywhere
Primarily this replaces :bind with :general in all use-package calls.
This commit is contained in:
@@ -9,35 +9,43 @@
|
||||
(require 'siren-lisp)
|
||||
(require 'siren-string-inflection)
|
||||
|
||||
(defun siren-recompile-elc-on-save ()
|
||||
"Recompile your elc when saving an elisp file."
|
||||
(add-hook 'after-save-hook
|
||||
(lambda ()
|
||||
(when (and
|
||||
(string-prefix-p siren-dir (file-truename buffer-file-name))
|
||||
(file-exists-p (byte-compile-dest-file buffer-file-name)))
|
||||
(emacs-lisp-byte-compile)))
|
||||
nil t))
|
||||
(use-package emacs-lisp-mode
|
||||
:straight (:type built-in)
|
||||
:mode "Cask\\'"
|
||||
|
||||
(defun siren-conditional-emacs-lisp-checker ()
|
||||
"Don't check doc style in Emacs Lisp test files."
|
||||
(let ((file-name (buffer-file-name)))
|
||||
(when (and file-name (string-match-p ".*-tests?\\.el\\'" file-name))
|
||||
(setq-local flycheck-checkers '(emacs-lisp)))))
|
||||
:hook
|
||||
(emacs-lisp-mode . siren-emacs-lisp-mode-setup)
|
||||
|
||||
(defun siren-emacs-lisp-mode-setup ()
|
||||
"Sensible defaults for `emacs-lisp-mode'."
|
||||
;; (run-hooks 'siren-lisp-coding-hook)
|
||||
;; (eldoc-mode +1)
|
||||
;; (siren-recompile-elc-on-save)
|
||||
;; (rainbow-mode +1)
|
||||
;; (setq mode-name "EL")
|
||||
;; (siren-conditional-emacs-lisp-checker)
|
||||
)
|
||||
:general
|
||||
(:keymaps 'emacs-lisp-mode-map
|
||||
"C-c C-u" 'string-inflection-all-cycle)
|
||||
|
||||
(add-hook 'emacs-lisp-mode-hook #'siren-emacs-lisp-mode-setup)
|
||||
(add-to-list 'auto-mode-alist '("Cask\\'" . emacs-lisp-mode))
|
||||
(define-key emacs-lisp-mode-map (kbd "C-c C-u") 'string-inflection-all-cycle)
|
||||
:preface
|
||||
(defun siren-emacs-lisp-mode-setup ()
|
||||
"Sensible defaults for `emacs-lisp-mode'."
|
||||
;; (run-hooks 'siren-lisp-coding-hook)
|
||||
;; (eldoc-mode +1)
|
||||
;; (siren-recompile-elc-on-save)
|
||||
;; (rainbow-mode +1)
|
||||
;; (setq mode-name "EL")
|
||||
;; (siren-conditional-emacs-lisp-checker)
|
||||
)
|
||||
|
||||
(defun siren-recompile-elc-on-save ()
|
||||
"Recompile your elc when saving an elisp file."
|
||||
(add-hook 'after-save-hook
|
||||
(lambda ()
|
||||
(when (and
|
||||
(string-prefix-p siren-dir (file-truename buffer-file-name))
|
||||
(file-exists-p (byte-compile-dest-file buffer-file-name)))
|
||||
(emacs-lisp-byte-compile)))
|
||||
nil t))
|
||||
|
||||
(defun siren-conditional-emacs-lisp-checker ()
|
||||
"Don't check doc style in Emacs Lisp test files."
|
||||
(let ((file-name (buffer-file-name)))
|
||||
(when (and file-name (string-match-p ".*-tests?\\.el\\'" file-name))
|
||||
(setq-local flycheck-checkers '(emacs-lisp))))))
|
||||
|
||||
(provide 'siren-emacs-lisp)
|
||||
;;; siren-emacs-lisp.el ends here
|
||||
|
||||
@@ -10,8 +10,9 @@
|
||||
|
||||
(use-package flutter
|
||||
:after dart-mode
|
||||
:bind (:map dart-mode-map
|
||||
("C-M-x" . #'flutter-run-or-hot-reload)))
|
||||
:general
|
||||
(:keymaps 'dart-mode-map
|
||||
"C-M-x" 'flutter-run-or-hot-reload))
|
||||
|
||||
(provide 'siren-flutter)
|
||||
;;; siren-flutter.el ends here
|
||||
|
||||
@@ -19,9 +19,10 @@
|
||||
:mode "\\.go\\'"
|
||||
:interpreter "go"
|
||||
:commands go-mode
|
||||
:bind (:map go-mode-map
|
||||
("RET" . newline-and-indent)
|
||||
("C-h f" . godoc-at-point))
|
||||
:general
|
||||
(:keymaps 'go-mode-map
|
||||
"RET" 'newline-and-indent
|
||||
"C-h f" 'godoc-at-point)
|
||||
|
||||
:hook
|
||||
(go-mode . siren-go-mode-setup)
|
||||
@@ -118,15 +119,16 @@
|
||||
:hook
|
||||
(go-mode . siren-gotest-setup)
|
||||
|
||||
:bind (:map go-mode-map
|
||||
("C-c , a" . go-test-current-project)
|
||||
("C-c , v" . go-test-current-file)
|
||||
("C-c , s" . go-test-current-test)
|
||||
("C-c , c" . go-test-current-coverage)
|
||||
("C-c , b" . go-test-current-benchmark)
|
||||
("C-c , B" . go-test-current-project-benchmarks)
|
||||
("C-c , r" . go-run)
|
||||
("C-c , t" . ff-find-other-file))
|
||||
:general
|
||||
(:keymaps 'go-mode-map
|
||||
"C-c , a" 'go-test-current-project
|
||||
"C-c , v" 'go-test-current-file
|
||||
"C-c , s" 'go-test-current-test
|
||||
"C-c , c" 'go-test-current-coverage
|
||||
"C-c , b" 'go-test-current-benchmark
|
||||
"C-c , B" 'go-test-current-project-benchmarks
|
||||
"C-c , r" 'go-run
|
||||
"C-c , t" 'ff-find-other-file)
|
||||
|
||||
:custom
|
||||
(go-test-verbose t)
|
||||
@@ -156,9 +158,10 @@ For example, if the current buffer is `foo.go', the buffer for
|
||||
|
||||
(use-package dap-go
|
||||
:straight dap-mode
|
||||
:after (go-mode)
|
||||
:bind (:map dap-mode-map
|
||||
("C-c , d" . siren-dap-go-debug-current-test))
|
||||
:after go-mode
|
||||
:general
|
||||
(:keymaps 'dap-mode-map
|
||||
"C-c , d" 'siren-dap-go-debug-current-test)
|
||||
|
||||
:init
|
||||
(defun siren-dap-go-debug-current-test ()
|
||||
@@ -178,9 +181,10 @@ For example, if the current buffer is `foo.go', the buffer for
|
||||
(use-package go-gen-test
|
||||
:defer t
|
||||
:after (go-mode)
|
||||
:bind (:map go-mode-map
|
||||
("C-c , g" . go-gen-test-dwim)
|
||||
("C-c , G" . go-gen-test-exported)))
|
||||
:general
|
||||
(:keymaps 'go-mode-map
|
||||
"C-c , g" 'go-gen-test-dwim
|
||||
"C-c , G" 'go-gen-test-exported))
|
||||
|
||||
(use-package go-projectile
|
||||
:defer t
|
||||
|
||||
@@ -9,8 +9,9 @@
|
||||
(require 'siren-folding)
|
||||
|
||||
(use-package haskell-mode
|
||||
:bind (:map haskell-mode-map
|
||||
("RET" . newline-and-indent))
|
||||
:general
|
||||
(:keymaps 'haskell-mode-map
|
||||
"RET" 'newline-and-indent)
|
||||
|
||||
:hook
|
||||
(haskell-mode . siren-haskell-mode-setup)
|
||||
|
||||
@@ -15,9 +15,10 @@
|
||||
"\\.js\\'"
|
||||
"\\.pac\\'"
|
||||
|
||||
:bind (:map js-mode-map
|
||||
("C-j" . newline-and-indent)
|
||||
("C-c C-h" . siren-toggle-hiding))
|
||||
:general
|
||||
(:keymaps 'js-mode-map
|
||||
"C-j" 'newline-and-indent
|
||||
"C-c C-h" 'siren-toggle-hiding)
|
||||
|
||||
:hook
|
||||
(js-mode . siren-js-mode-setup)
|
||||
|
||||
@@ -13,9 +13,10 @@
|
||||
(use-package json-mode
|
||||
:mode "\\.json\\'"
|
||||
|
||||
:bind (:map json-mode-map
|
||||
("C-j" . newline-and-indent)
|
||||
("C-c C-h" . siren-folding-toggle))
|
||||
:general
|
||||
(:keymaps 'json-mode-map
|
||||
"C-j" 'newline-and-indent
|
||||
"C-c C-h" 'siren-folding-toggle)
|
||||
|
||||
:hook
|
||||
(json-mode . siren-json-mode-setup)
|
||||
|
||||
@@ -7,10 +7,11 @@
|
||||
;;; Code:
|
||||
|
||||
(use-package jsonnet-mode
|
||||
:bind (:map jsonnet-mode-map
|
||||
("C-c C-c" . jsonnet-eval-buffer)
|
||||
("C-c C-f" . jsonnet-reformat-buffer)
|
||||
("C-c C-j" . jsonnet-jump))
|
||||
:general
|
||||
(:keymaps 'jsonnet-mode-map
|
||||
"C-c C-c" 'jsonnet-eval-buffer
|
||||
"C-c C-f" 'jsonnet-reformat-buffer
|
||||
"C-c C-j" 'jsonnet-jump)
|
||||
|
||||
:hook
|
||||
(jsonnet-mode . siren-jsonnet-mode-setup)
|
||||
|
||||
@@ -14,9 +14,9 @@
|
||||
:hook
|
||||
(makefile-mode . siren-makefile-mode-setup)
|
||||
|
||||
:bind
|
||||
(:map makefile-mode-map
|
||||
("C-c C-m" . makefile-executor-execute-project-target))
|
||||
:general
|
||||
(:keymaps 'makefile-mode-map
|
||||
"C-c C-m" 'makefile-executor-execute-project-target)
|
||||
|
||||
:init
|
||||
(add-to-list 'siren-indent-sensitive-modes 'makefile-mode)
|
||||
|
||||
@@ -22,13 +22,13 @@
|
||||
"\\.mdown"
|
||||
"\\.markdown"
|
||||
|
||||
:bind
|
||||
(:map markdown-mode-map
|
||||
("C-c p" . markdown-preview)
|
||||
("M-p" . md-move-lines-up)
|
||||
("M-n" . md-move-lines-down)
|
||||
("M-P" . markdown-previous-link)
|
||||
("M-N" . markdown-next-link))
|
||||
:general
|
||||
(:keymaps 'markdown-mode-map
|
||||
"C-c p" 'markdown-preview
|
||||
"M-p" 'md-move-lines-up
|
||||
"M-n" 'md-move-lines-down
|
||||
"M-P" 'markdown-previous-link
|
||||
"M-N" 'markdown-next-link)
|
||||
|
||||
:hook
|
||||
(markdown-mode . siren-markdown-mode-setup)
|
||||
|
||||
@@ -38,14 +38,15 @@
|
||||
"\\.thor\\'"
|
||||
"\\.rb\\'"
|
||||
|
||||
:bind (:map ruby-mode-map
|
||||
("C-j" . newline-and-indent)
|
||||
("RET" . newline-and-indent)
|
||||
("M-'" . ruby-toggle-string-quotes)
|
||||
("C-c C-l" . goto-line)
|
||||
("C-M-f" . sp-ruby-forward-sexp)
|
||||
("C-M-b" . sp-ruby-backward-sexp)
|
||||
("C-c C-u" . string-inflection-ruby-style-cycle))
|
||||
:general
|
||||
(:keymaps 'ruby-mode-map
|
||||
"C-j" 'newline-and-indent
|
||||
"RET" 'newline-and-indent
|
||||
"M-'" 'ruby-toggle-string-quotes
|
||||
"C-c C-l" 'goto-line
|
||||
"C-M-f" 'sp-ruby-forward-sexp
|
||||
"C-M-b" 'sp-ruby-backward-sexp
|
||||
"C-c C-u" 'string-inflection-ruby-style-cycle)
|
||||
|
||||
:hook
|
||||
(ruby-mode . siren-ruby-mode-setup)
|
||||
@@ -152,20 +153,22 @@
|
||||
(use-package rubocop
|
||||
:defer t
|
||||
:after ruby-mode
|
||||
:bind (:map ruby-mode-map
|
||||
("C-c . f" . rubocop-check-current-file)
|
||||
("C-c . p" . rubocop-check-project)
|
||||
("C-c . d" . rubocop-check-directory)
|
||||
("C-c . F" . rubocop-autocorrect-current-file)
|
||||
("C-c . P" . rubocop-autocorrect-project)
|
||||
("C-c . D" . rubocop-autocorrect-directory)))
|
||||
:general
|
||||
(:keymaps 'ruby-mode-map
|
||||
"C-c . f" 'rubocop-check-current-file
|
||||
"C-c . p" 'rubocop-check-project
|
||||
"C-c . d" 'rubocop-check-directory
|
||||
"C-c . F" 'rubocop-autocorrect-current-file
|
||||
"C-c . P" 'rubocop-autocorrect-project
|
||||
"C-c . D" 'rubocop-autocorrect-directory))
|
||||
|
||||
(use-package rubocopfmt
|
||||
:hook
|
||||
(ruby-mode . rubocopfmt-mode)
|
||||
|
||||
:bind (:map ruby-mode-map
|
||||
("C-c C-f" . rubocopfmt))
|
||||
:general
|
||||
(:keymaps 'ruby-mode-map
|
||||
"C-c C-f" 'rubocopfmt)
|
||||
|
||||
:custom
|
||||
(rubocopfmt-include-unsafe-cops t)
|
||||
@@ -194,8 +197,9 @@
|
||||
(use-package ruby-tools
|
||||
:defer t
|
||||
:diminish ruby-tools-mode
|
||||
:bind (:map ruby-tools-mode-map
|
||||
("C-'" . toggle-quotes))
|
||||
:general
|
||||
(:keymaps 'ruby-tools-mode-map
|
||||
"C-'" 'toggle-quotes)
|
||||
:hook
|
||||
(ruby-mode . ruby-tools-mode)
|
||||
|
||||
@@ -209,8 +213,9 @@
|
||||
|
||||
(use-package yari
|
||||
:defer t
|
||||
:init
|
||||
(define-key 'help-command (kbd "R") 'yari))
|
||||
:general
|
||||
(:keymaps 'help-command
|
||||
"R" 'yari))
|
||||
|
||||
(provide 'siren-ruby)
|
||||
;;; siren-ruby.el ends here
|
||||
|
||||
@@ -13,8 +13,9 @@
|
||||
:mode "\\.rs\\'"
|
||||
:interpreter "rust"
|
||||
:commands rust-mode
|
||||
:bind (:map rust-mode-map
|
||||
("RET" . newline-and-indent))
|
||||
:general
|
||||
(:keymaps 'rust-mode-map
|
||||
"RET" 'newline-and-indent)
|
||||
|
||||
:hook
|
||||
(rust-mode . siren-rust-mode-setup)
|
||||
|
||||
@@ -19,9 +19,9 @@
|
||||
("\\.tmuxsh\\'" . sh-mode)
|
||||
("\\.tmuxtheme\\'" . sh-mode)
|
||||
|
||||
:bind
|
||||
(:map sh-mode-map
|
||||
("RET" . newline-and-indent))
|
||||
:general
|
||||
(:keymaps 'sh-mode-map
|
||||
"RET" 'newline-and-indent)
|
||||
|
||||
:hook
|
||||
(sh-mode . siren-sh-mode-setup)
|
||||
|
||||
@@ -18,9 +18,10 @@
|
||||
:hook
|
||||
(typescript-mode . siren-typescript-mode-setup)
|
||||
|
||||
:bind (:map typescript-mode-map
|
||||
("C-j" . newline-and-indent)
|
||||
("C-c C-h" . siren-folding-toggle))
|
||||
:general
|
||||
(:keymaps 'typescript-mode-map
|
||||
"C-j" 'newline-and-indent
|
||||
"C-c C-h" 'siren-folding-toggle)
|
||||
|
||||
:init
|
||||
(defun siren-typescript-mode-setup ()
|
||||
|
||||
@@ -15,9 +15,10 @@
|
||||
"\\.html.erb\\'"
|
||||
"\\.tpl\\'"
|
||||
|
||||
:bind (:map web-mode-map
|
||||
("C-j" . newline-and-indent)
|
||||
("C-c C-h" . siren-folding-toggle))
|
||||
:general
|
||||
(:keymaps 'web-mode-map
|
||||
"C-j" 'newline-and-indent
|
||||
"C-c C-h" 'siren-folding-toggle)
|
||||
|
||||
:hook
|
||||
(web-mode . siren-web-mode-setup)
|
||||
|
||||
@@ -11,8 +11,9 @@
|
||||
|
||||
(use-package yaml-mode
|
||||
:mode "\\.yml\\'" "\\.yaml\\'"
|
||||
:bind (:map yaml-mode-map
|
||||
("RET" . newline-and-indent))
|
||||
:general
|
||||
(:keyamps 'yaml-mode-map
|
||||
"RET" 'newline-and-indent)
|
||||
|
||||
:hook
|
||||
(yaml-mode . siren-yaml-mode-setup)
|
||||
|
||||
Reference in New Issue
Block a user