mirror of https://github.com/Flinner/dots.git
feat: large emacs edit, too lazy to divide
This commit is contained in:
parent
8bdcb6d803
commit
d97d7f0c65
|
@ -1,6 +1,12 @@
|
||||||
#+title: Flinner's Config
|
#+title: Flinner's Config
|
||||||
#+PROPERTY: header-args:emacs-lisp :tangle ./init.el :mkdirp yes
|
#+PROPERTY: header-args:emacs-lisp :tangle ./init.el :mkdirp yes
|
||||||
#+startup: content
|
#+startup: content
|
||||||
|
* README:
|
||||||
|
run the following
|
||||||
|
#+begin_src emacs-lisp :tangle no
|
||||||
|
(all-the-icons-install-fonts)
|
||||||
|
(fira-code-mode-set-font)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
* Packaging
|
* Packaging
|
||||||
Initialize Package sources
|
Initialize Package sources
|
||||||
|
@ -74,12 +80,14 @@ Emacs Backups trashing local dir!
|
||||||
#+end_src
|
#+end_src
|
||||||
Better Scrolling
|
Better Scrolling
|
||||||
#+begin_src elisp
|
#+begin_src elisp
|
||||||
(setq scroll-conservatively 10)
|
(setq scroll-conservatively 10)
|
||||||
(setq scroll-margin 3)
|
(setq scroll-margin 3)
|
||||||
|
(use-package smooth-scrolling
|
||||||
|
:init (smooth-scrolling-mode 1))
|
||||||
#+end_src
|
#+end_src
|
||||||
** Fonts
|
** Fonts
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(setq my/ui/monofont "FiraCode")
|
(setq my/ui/monofont "Fira Code")
|
||||||
(setq my/ui/varfont "Cantarell")
|
(setq my/ui/varfont "Cantarell")
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
@ -200,6 +208,8 @@ Eval First and Last at least block!
|
||||||
"/" '(counsel-projectile-rg :which-key "projects")
|
"/" '(counsel-projectile-rg :which-key "projects")
|
||||||
"," '(counsel-rg :which-key "rg")
|
"," '(counsel-rg :which-key "rg")
|
||||||
"u" '(universal-argument :which-key "universal arg")
|
"u" '(universal-argument :which-key "universal arg")
|
||||||
|
";" '(counsel-M-x :which-key "M-x")
|
||||||
|
":" '(eval-expression :which-key "eval expression")
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
**** Toggles (t)
|
**** Toggles (t)
|
||||||
|
@ -223,6 +233,7 @@ Eval First and Last at least block!
|
||||||
|
|
||||||
"sb" '(swiper :which-key "Choose Theme")
|
"sb" '(swiper :which-key "Choose Theme")
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
**** Files (f)
|
**** Files (f)
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
"f" '(:ignore t :which-key "Files")
|
"f" '(:ignore t :which-key "Files")
|
||||||
|
@ -365,15 +376,31 @@ Eval First and Last at least block!
|
||||||
|
|
||||||
*** Evil Escape
|
*** Evil Escape
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package evil-escape
|
;; (use-package evil-escape
|
||||||
:after evil
|
;; :after evil
|
||||||
:init
|
;; :init
|
||||||
(evil-escape-mode)
|
;; (setq 'evil-escape-excluded-major-modes '(magit-status-mode))
|
||||||
:config
|
;; (evil-escape-mode)
|
||||||
(setq evil-escape-key-sequence "jk")
|
;; :config
|
||||||
(setq evil-escape-delay 0.2)
|
;; (setq evil-escape-key-sequence "jk")
|
||||||
(setq evil-escape-unordered-key-sequence t)
|
;; (setq evil-escape-delay 0.2)
|
||||||
)
|
;; (setq evil-escape-unordered-key-sequence t))
|
||||||
|
(defun my-jk ()
|
||||||
|
(interactive)
|
||||||
|
(let* ((initial-key ?j)
|
||||||
|
(final-key ?k)
|
||||||
|
(timeout 0.5)
|
||||||
|
(event (read-event nil nil timeout)))
|
||||||
|
(if event
|
||||||
|
;; timeout met
|
||||||
|
(if (and (characterp event) (= event final-key))
|
||||||
|
(evil-normal-state)
|
||||||
|
(insert initial-key)
|
||||||
|
(push event unread-command-events))
|
||||||
|
;; timeout exceeded
|
||||||
|
(insert initial-key))))
|
||||||
|
|
||||||
|
(define-key evil-insert-state-map (kbd "j") 'my-jk)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* Completions
|
* Completions
|
||||||
|
@ -682,11 +709,11 @@ Lsp UI
|
||||||
(lsp-ui-doc-mode t)
|
(lsp-ui-doc-mode t)
|
||||||
;(lsp-ui-sideline-show-hover t)
|
;(lsp-ui-sideline-show-hover t)
|
||||||
; (lsp-ui-doc-enable nil)
|
; (lsp-ui-doc-enable nil)
|
||||||
:bind (:map lsp-ui-mode-map
|
;; :bind (:map lsp-ui-mode-map
|
||||||
("U" . lsp-ui-doc-focus-frame)
|
;; ("U" . lsp-ui-doc-focus-frame)
|
||||||
:map lsp-ui-doc-frame-mode-map
|
;; :map lsp-ui-doc-frame-mode-map
|
||||||
("Q" . lsp-ui-doc-unfocus-frame)
|
;; ("Q" . lsp-ui-doc-unfocus-frame)
|
||||||
))
|
)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
*** lsp treemacs
|
*** lsp treemacs
|
||||||
|
@ -702,14 +729,15 @@ Lsp UI
|
||||||
|
|
||||||
*** Origami Mode (Folding)
|
*** Origami Mode (Folding)
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package origami)
|
(use-package origami)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Git
|
** Git
|
||||||
*** Magit
|
*** Magit
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package magit
|
(use-package magit
|
||||||
:custom
|
:custom
|
||||||
(magit-display-buffer-function #'magit-display-buffer-same-window-except-diff-v1))
|
(magit-display-buffer-function #'magit-display-buffer-same-window-except-diff-v1))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
*** TODO Forge
|
*** TODO Forge
|
||||||
|
@ -717,71 +745,6 @@ Lsp UI
|
||||||
;(use-package forge)
|
;(use-package forge)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Language
|
|
||||||
*** Rust
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(use-package rustic
|
|
||||||
:ensure
|
|
||||||
:bind (:map rustic-mode-map
|
|
||||||
("C-c C-c l" . lsp-ui-flycheck-list)
|
|
||||||
("C-c C-c s" . lsp-rust-analyzer-status))
|
|
||||||
:config
|
|
||||||
;; uncomment for less flashiness
|
|
||||||
;; (setq lsp-eldoc-hook nil)
|
|
||||||
;; (setq lsp-enable-symbol-highlighting nil)
|
|
||||||
;; (setq lsp-signature-auto-activate nil)
|
|
||||||
|
|
||||||
;; comment to disable rustfmt on save
|
|
||||||
(setq rustic-format-on-save t)
|
|
||||||
(add-hook 'rustic-mode-hook 'my/dev/rustic-mode-hook))
|
|
||||||
|
|
||||||
(defun my/dev/rustic-mode-hook ()
|
|
||||||
;; so that run C-c C-c C-r works without having to confirm, but don't try to
|
|
||||||
;; save rust buffers that are not file visiting. Once
|
|
||||||
;; https://github.com/brotzeit/rustic/issues/253 has been resolved this should
|
|
||||||
;; no longer be necessary.
|
|
||||||
(when buffer-file-name
|
|
||||||
(setq-local buffer-save-without-query t)))
|
|
||||||
#+end_src
|
|
||||||
*** Elisp emacs-lisp
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
;; (add-hook 'emacs-lisp-mode-hook 'company-mode)
|
|
||||||
(add-hook 'emacs-lisp-mode-hook 'flycheck-mode)
|
|
||||||
#+end_src
|
|
||||||
*** V
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(use-package v-mode
|
|
||||||
:preface
|
|
||||||
(defun my/lsp/v ()
|
|
||||||
(interactive)
|
|
||||||
(lsp)
|
|
||||||
(flycheck-mode 1)
|
|
||||||
(company-mode 1))
|
|
||||||
:init
|
|
||||||
(delete '("\\.[ds]?va?h?\\'" . verilog-mode) auto-mode-alist)
|
|
||||||
;; :straight (v-mode
|
|
||||||
;; :type git
|
|
||||||
;; :host github
|
|
||||||
;; :repo "damon-kwok/v-mode"
|
|
||||||
;; :files ("tokens" "v-mode.el"))
|
|
||||||
(setq auto-mode-alist
|
|
||||||
(cons '("\\(\\.v\\|\\.vv\\|\\.vsh\\)$" . v-mode) auto-mode-alist))
|
|
||||||
:hook (v-mode . my/lsp/v)
|
|
||||||
:config
|
|
||||||
(flycheck-define-checker v-checker
|
|
||||||
"A v syntax checker using the v fmt."
|
|
||||||
:command ("v" "fmt" "-verify" (eval (buffer-file-name)))
|
|
||||||
:error-patterns
|
|
||||||
((error line-start (file-name) ":" line ":" column ": error: " (message) line-end))
|
|
||||||
:modes v-mode)
|
|
||||||
(add-to-list 'flycheck-checkers 'v-checker)
|
|
||||||
:bind-keymap
|
|
||||||
("M-z" . v-menu)
|
|
||||||
("<f6>" . v-menu)
|
|
||||||
("C-c C-f" . v-format-buffer)
|
|
||||||
:mode ("\\.v\\.vsh\\'" . 'v-mode))
|
|
||||||
|
|
||||||
#+end_src
|
|
||||||
** Treemacs
|
** Treemacs
|
||||||
use-package
|
use-package
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
|
@ -820,14 +783,84 @@ Get treemacs-lsp
|
||||||
;:config (treemacs-set-scope-type 'Perspectives))
|
;:config (treemacs-set-scope-type 'Perspectives))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
** Language
|
||||||
* Tmp
|
*** Rust
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
;; (use-package peasant-mode
|
(use-package rustic
|
||||||
;; :straight (peasant-mode
|
:ensure
|
||||||
;; :type git
|
:bind (:map rustic-mode-map
|
||||||
;; :host github
|
("C-c C-c l" . lsp-ui-flycheck-list)
|
||||||
;; :repo "flinner/peasant-mode")
|
("C-c C-c s" . lsp-rust-analyzer-status))
|
||||||
;; :config
|
:config
|
||||||
;; (peasant-mode))
|
;; uncomment for less flashiness
|
||||||
|
;; (setq lsp-eldoc-hook nil)
|
||||||
|
;; (setq lsp-enable-symbol-highlighting nil)
|
||||||
|
;; (setq lsp-signature-auto-activate nil)
|
||||||
|
|
||||||
|
;; comment to disable rustfmt on save
|
||||||
|
(setq rustic-format-on-save t)
|
||||||
|
(add-hook 'rustic-mode-hook 'my/dev/rustic-mode-hook))
|
||||||
|
|
||||||
|
(defun my/dev/rustic-mode-hook ()
|
||||||
|
;; so that run C-c C-c C-r works without having to confirm, but don't try to
|
||||||
|
;; save rust buffers that are not file visiting. Once
|
||||||
|
;; https://github.com/brotzeit/rustic/issues/253 has been resolved this should
|
||||||
|
;; no longer be necessary.
|
||||||
|
(when buffer-file-name
|
||||||
|
(setq-local buffer-save-without-query t)))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
*** Elisp emacs-lisp
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
;; (add-hook 'emacs-lisp-mode-hook 'company-mode)
|
||||||
|
(add-hook 'emacs-lisp-mode-hook 'flycheck-mode)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
*** V
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package v-mode
|
||||||
|
:preface
|
||||||
|
(defun my/lsp/v ()
|
||||||
|
(interactive)
|
||||||
|
(lsp)
|
||||||
|
(flycheck-mode 1)
|
||||||
|
(company-mode 1))
|
||||||
|
:init
|
||||||
|
(delete '("\\.[ds]?va?h?\\'" . verilog-mode) auto-mode-alist)
|
||||||
|
;; :straight (v-mode
|
||||||
|
;; :type git
|
||||||
|
;; :host github
|
||||||
|
;; :repo "damon-kwok/v-mode"
|
||||||
|
;; :files ("tokens" "v-mode.el"))
|
||||||
|
(setq auto-mode-alist
|
||||||
|
(cons '("\\(\\.v\\|\\.vv\\|\\.vsh\\)$" . v-mode) auto-mode-alist))
|
||||||
|
:hook (v-mode . my/lsp/v)
|
||||||
|
:config
|
||||||
|
(flycheck-define-checker v-checker
|
||||||
|
"A v syntax checker using the v fmt."
|
||||||
|
:command ("v" "fmt" "-verify" (eval (buffer-file-name)))
|
||||||
|
:error-patterns
|
||||||
|
((error line-start (file-name) ":" line ":" column ": error: " (message) line-end))
|
||||||
|
:modes v-mode)
|
||||||
|
(add-to-list 'flycheck-checkers 'v-checker)
|
||||||
|
:bind-keymap
|
||||||
|
("M-z" . v-menu)
|
||||||
|
("<f6>" . v-menu)
|
||||||
|
("C-c C-f" . v-format-buffer)
|
||||||
|
:mode ("\\.v\\.vsh\\'" . 'v-mode))
|
||||||
|
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
*** Haskell
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package lsp-haskell
|
||||||
|
:hook (haskell-mode . lsp)
|
||||||
|
)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
* Misc
|
||||||
|
** Restart Emacs
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package restart-emacs)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue