Merge branch 'master' of gitlab.com:chriscochrun/dotemacs
This commit is contained in:
commit
178638f314
53
README.org
53
README.org
|
@ -15,6 +15,7 @@
|
|||
- [[#better-ui][Better UI]]
|
||||
- [[#completion][Completion]]
|
||||
- [[#yasnippet][YASnippet]]
|
||||
- [[#projectile][Projectile]]
|
||||
- [[#navigation][Navigation]]
|
||||
- [[#window-management][Window Management]]
|
||||
- [[#help][Help]]
|
||||
|
@ -352,6 +353,7 @@ This evil-collection package includes a lot of other evil based things.
|
|||
"of" '(:ignore t :which-key "elfeed")
|
||||
"h" '(:ignore t :which-key "help")
|
||||
"n" '(:ignore t :which-key "notes")
|
||||
"l" '(:ignore t :which-key "lsp")
|
||||
"sp" '(:ignore t :which-key "passwords")
|
||||
"bs" '(consult-buffer :which-key "buffer search")
|
||||
"bd" '(kill-this-buffer :which-key "kill buffer")
|
||||
|
@ -627,17 +629,21 @@ Marginalia makes for some great decoration to our minibuffer completion items. W
|
|||
*** Company
|
||||
#+begin_src emacs-lisp
|
||||
(use-package company
|
||||
:defer 1
|
||||
:config
|
||||
(global-company-mode +1)
|
||||
(setq company-dabbrev-other-buffers t
|
||||
company-minimum-prefix-length 1)
|
||||
:custom
|
||||
(company-dabbrev-other-buffers t)
|
||||
(company-minimum-prefix-length 1)
|
||||
(company-idle-delay 0.2)
|
||||
:general
|
||||
(general-define-key
|
||||
:states 'normal
|
||||
:keymaps '(company-search-map)
|
||||
"TAB" 'company-complete-selection)
|
||||
)
|
||||
(general-def '(normal insert) company-active-map
|
||||
"TAB" 'company-complete-selection
|
||||
"RET" 'company-complete-selection)
|
||||
(general-def '(normal insert) lsp-mode-map
|
||||
"TAB" 'company-indent-or-complete-common))
|
||||
|
||||
;; (use-package company-box
|
||||
;; :hook (company-mode . company-box-mode))
|
||||
#+end_src
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
@ -654,6 +660,12 @@ YASnippet is a templating system. It's powerful.
|
|||
(yas-global-mode 1))
|
||||
#+end_src
|
||||
|
||||
** Projectile
|
||||
I'm going to use projectile to keep my projects inline.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package projectile)
|
||||
#+end_src
|
||||
|
||||
** Navigation
|
||||
*** Avy
|
||||
Avy provides a lot of functions to search through the current buffer. Most of the time I use evil or consult functions to find what I'm looking for, but avy provides a lot of small movements that are more useful for visible movements.
|
||||
|
@ -763,11 +775,22 @@ Since I use the Awesome WM I thought it'd be good to have lua around. It's also
|
|||
LSP is useful...
|
||||
#+begin_src emacs-lisp
|
||||
(use-package lsp-mode
|
||||
:commands (lsp lsp-deferred)
|
||||
:init
|
||||
(setq lsp-keymap-prefix "C-c l")
|
||||
:config
|
||||
(setq lsp-lens-enable t
|
||||
lsp-signature-auto-activate nil))
|
||||
lsp-signature-auto-activate nil
|
||||
read-process-output-max (* 1024 1024))
|
||||
(lsp-enable-which-key-integration t))
|
||||
|
||||
(use-package lsp-ui)
|
||||
(use-package lsp-ui
|
||||
:hook (lsp-mode . lsp-ui-mode)
|
||||
:custom
|
||||
(lsp-ui-doc-position 'bottom))
|
||||
|
||||
(use-package lsp-treemacs
|
||||
:after lsp)
|
||||
#+end_src
|
||||
|
||||
*** Fennel
|
||||
|
@ -874,9 +897,17 @@ I may get into flutter development over using felgo..... but i'm not happy about
|
|||
#+begin_src emacs-lisp
|
||||
(use-package dart-mode
|
||||
:mode ("\\.dart\\'" . dart-mode)
|
||||
:config (add-hook 'dart-mode 'lsp))
|
||||
:hook (dart-mode . lsp-deferred)
|
||||
:general
|
||||
(general-def 'normal dart-mode-map
|
||||
"C-c r" 'lsp-dart-dap-flutter-hot-reload
|
||||
"C-c R" 'lsp-dart-dap-flutter-hot-restart))
|
||||
|
||||
(use-package lsp-dart)
|
||||
(use-package flutter
|
||||
:after dart)
|
||||
(use-package hover
|
||||
:after dart)
|
||||
#+end_src
|
||||
|
||||
Let's also add the android-sdk tools to emacs' path.
|
||||
|
|
150
init.el
150
init.el
|
@ -2,9 +2,9 @@
|
|||
(defun chris/display-startup-time ()
|
||||
(message "Emacs loaded in %s with %d garbage collections."
|
||||
(format "%.2f seconds"
|
||||
(float-time
|
||||
(time-subtract after-init-time before-init-time)))
|
||||
gcs-done))
|
||||
(float-time
|
||||
(time-subtract after-init-time before-init-time)))
|
||||
gcs-done))
|
||||
(add-hook 'emacs-startup-hook #'chris/display-startup-time)
|
||||
|
||||
(setq inhibit-startup-message t)
|
||||
|
@ -48,7 +48,7 @@
|
|||
(with-selected-frame frame
|
||||
(chris/set-font-faces)
|
||||
(chris/set-transparency)))
|
||||
(chris/set-font-faces))
|
||||
(chris/set-font-faces))
|
||||
(chris/set-transparency))
|
||||
|
||||
(setq display-line-numbers-type 'relative)
|
||||
|
@ -65,7 +65,7 @@
|
|||
;; ...especially on linux
|
||||
(setq x-gtk-use-system-tooltips nil)
|
||||
|
||||
;; Favor vertical splits over horizontal ones. Screens are usually wide.
|
||||
;; Favor vertical splits over horizontal ones. Screens are usually wide.
|
||||
(setq split-width-threshold 160
|
||||
split-height-threshold nil)
|
||||
|
||||
|
@ -99,8 +99,8 @@
|
|||
(straight-use-package 'use-package)
|
||||
(setq use-package-verbose t)
|
||||
|
||||
(use-package command-log-mode
|
||||
:commands command-log-mode)
|
||||
(use-package command-log-mode
|
||||
:commands command-log-mode)
|
||||
|
||||
(use-package all-the-icons)
|
||||
|
||||
|
@ -217,6 +217,7 @@
|
|||
"of" '(:ignore t :which-key "elfeed")
|
||||
"h" '(:ignore t :which-key "help")
|
||||
"n" '(:ignore t :which-key "notes")
|
||||
"l" '(:ignore t :which-key "lsp")
|
||||
"sp" '(:ignore t :which-key "passwords")
|
||||
"bs" '(consult-buffer :which-key "buffer search")
|
||||
"bd" '(kill-this-buffer :which-key "kill buffer")
|
||||
|
@ -293,19 +294,19 @@
|
|||
|
||||
;; We need to fix selectrums minibuffer handling for Emacs 28
|
||||
(defun selectrum--set-window-height (window &optional height)
|
||||
"Set window height of WINDOW to HEIGHT pixel.
|
||||
"Set window height of WINDOW to HEIGHT pixel.
|
||||
If HEIGHT is not given WINDOW will be updated to fit its content
|
||||
vertically."
|
||||
(let* ((lines (length
|
||||
(split-string
|
||||
(overlay-get selectrum--candidates-overlay 'after-string)
|
||||
"\n" t)))
|
||||
(dheight (or height
|
||||
(* lines selectrum--line-height)))
|
||||
(wheight (window-pixel-height window))
|
||||
(window-resize-pixelwise t))
|
||||
(window-resize
|
||||
window (- dheight wheight) nil nil 'pixelwise)))
|
||||
(let* ((lines (length
|
||||
(split-string
|
||||
(overlay-get selectrum--candidates-overlay 'after-string)
|
||||
"\n" t)))
|
||||
(dheight (or height
|
||||
(* lines selectrum--line-height)))
|
||||
(wheight (window-pixel-height window))
|
||||
(window-resize-pixelwise t))
|
||||
(window-resize
|
||||
window (- dheight wheight) nil nil 'pixelwise)))
|
||||
|
||||
|
||||
:general
|
||||
|
@ -340,10 +341,10 @@ vertically."
|
|||
|
||||
(use-package marginalia
|
||||
:bind (:map minibuffer-local-map
|
||||
("C-M-a" . marginalia-cycle)
|
||||
;; :map embark-general-map
|
||||
;; ("A" . marginalia-cycle)
|
||||
)
|
||||
("C-M-a" . marginalia-cycle)
|
||||
;; :map embark-general-map
|
||||
;; ("A" . marginalia-cycle)
|
||||
)
|
||||
|
||||
;; The :init configuration is always executed (Not lazy!)
|
||||
:init
|
||||
|
@ -361,17 +362,21 @@ vertically."
|
|||
:after selectrum)
|
||||
|
||||
(use-package company
|
||||
:defer 1
|
||||
:config
|
||||
(global-company-mode +1)
|
||||
(setq company-dabbrev-other-buffers t
|
||||
company-minimum-prefix-length 1)
|
||||
:custom
|
||||
(company-dabbrev-other-buffers t)
|
||||
(company-minimum-prefix-length 1)
|
||||
(company-idle-delay 0.2)
|
||||
:general
|
||||
(general-define-key
|
||||
:states 'normal
|
||||
:keymaps '(company-search-map)
|
||||
"TAB" 'company-complete-selection)
|
||||
)
|
||||
(general-def '(normal insert) company-active-map
|
||||
"TAB" 'company-complete-selection
|
||||
"RET" 'company-complete-selection)
|
||||
(general-def '(normal insert) lsp-mode-map
|
||||
"TAB" 'company-indent-or-complete-common))
|
||||
|
||||
;; (use-package company-box
|
||||
;; :hook (company-mode . company-box-mode))
|
||||
|
||||
(use-package company-dict
|
||||
:after company)
|
||||
|
@ -381,6 +386,8 @@ vertically."
|
|||
(setq yas-snippet-dirs (list (expand-file-name "yasnippets/" user-emacs-directory)))
|
||||
(yas-global-mode 1))
|
||||
|
||||
(use-package projectile)
|
||||
|
||||
(use-package avy
|
||||
:after evil)
|
||||
|
||||
|
@ -454,18 +461,29 @@ vertically."
|
|||
:mode ("\\.lua\\'" . lua-mode))
|
||||
|
||||
(use-package lsp-mode
|
||||
:commands (lsp lsp-deferred)
|
||||
:init
|
||||
(setq lsp-keymap-prefix "C-c l")
|
||||
:config
|
||||
(setq lsp-lens-enable t
|
||||
lsp-signature-auto-activate nil))
|
||||
lsp-signature-auto-activate nil
|
||||
read-process-output-max (* 1024 1024))
|
||||
(lsp-enable-which-key-integration t))
|
||||
|
||||
(use-package lsp-ui)
|
||||
(use-package lsp-ui
|
||||
:hook (lsp-mode . lsp-ui-mode)
|
||||
:custom
|
||||
(lsp-ui-doc-position 'bottom))
|
||||
|
||||
(use-package lsp-treemacs
|
||||
:after lsp)
|
||||
|
||||
(use-package fennel-mode
|
||||
:mode ("\\.fnl\\'" . fennel-mode))
|
||||
|
||||
(use-package friar
|
||||
:straight (:host github :repo "warreq/friar" :branch "master"
|
||||
:files (:defaults "*.lua" "*.fnl"))
|
||||
:files (:defaults "*.lua" "*.fnl"))
|
||||
:after fennel-mode)
|
||||
|
||||
(use-package yaml-mode
|
||||
|
@ -516,9 +534,17 @@ vertically."
|
|||
|
||||
(use-package dart-mode
|
||||
:mode ("\\.dart\\'" . dart-mode)
|
||||
:config (add-hook 'dart-mode 'lsp))
|
||||
:hook (dart-mode . lsp-deferred)
|
||||
:general
|
||||
(general-def 'normal dart-mode-map
|
||||
"C-c r" 'lsp-dart-dap-flutter-hot-reload
|
||||
"C-c R" 'lsp-dart-dap-flutter-hot-restart))
|
||||
|
||||
(use-package lsp-dart)
|
||||
(use-package flutter
|
||||
:after dart)
|
||||
(use-package hover
|
||||
:after dart)
|
||||
|
||||
(add-to-list 'exec-path "/opt/android-sdk/cmdline-tools/latest/bin")
|
||||
|
||||
|
@ -793,17 +819,17 @@ vertically."
|
|||
:after org
|
||||
:init
|
||||
(setq org-super-agenda-groups '((:name "Today"
|
||||
:time-grid t
|
||||
:scheduled today)
|
||||
:time-grid t
|
||||
:scheduled today)
|
||||
(:name "Due Today"
|
||||
:deadline today)
|
||||
:deadline today)
|
||||
(:name "Important"
|
||||
:priority "A")
|
||||
:priority "A")
|
||||
(:name "Overdue"
|
||||
:time-grid t
|
||||
:scheduled today)
|
||||
:time-grid t
|
||||
:scheduled today)
|
||||
(:name "Due soon"
|
||||
:deadline future)))
|
||||
:deadline future)))
|
||||
:config
|
||||
(org-super-agenda-mode)
|
||||
(setq org-super-agenda-header-map nil))
|
||||
|
@ -1310,20 +1336,20 @@ If on a:
|
|||
(add-hook 'eshell-mode-hook '(display-line-numbers-mode -1))
|
||||
|
||||
(setq eshell-command-aliases-list
|
||||
'(("ls" "exa $1")
|
||||
("la" "exa -la $1")
|
||||
("q" "exit")
|
||||
("f" "find-file $1")
|
||||
("ff" "find-file $1")
|
||||
("d" "dired $1")
|
||||
("bd" "eshell-up $1")
|
||||
("rg" "rg --color=always $*")
|
||||
("ll" "ls -lah $*")
|
||||
("gg" "magit-status")
|
||||
("clear" "clear-scrollback")
|
||||
("!c" "eshell-previous-input 2")
|
||||
("yay" "paru $1")
|
||||
("yeet" "paru -Rns $1")))
|
||||
'(("ls" "exa $1")
|
||||
("la" "exa -la $1")
|
||||
("q" "exit")
|
||||
("f" "find-file $1")
|
||||
("ff" "find-file $1")
|
||||
("d" "dired $1")
|
||||
("bd" "eshell-up $1")
|
||||
("rg" "rg --color=always $*")
|
||||
("ll" "ls -lah $*")
|
||||
("gg" "magit-status")
|
||||
("clear" "clear-scrollback")
|
||||
("!c" "eshell-previous-input 2")
|
||||
("yay" "paru $1")
|
||||
("yeet" "paru -Rns $1")))
|
||||
|
||||
:general
|
||||
(chris/leader-keys
|
||||
|
@ -1338,8 +1364,8 @@ If on a:
|
|||
|
||||
(use-package pdf-tools
|
||||
:straight (:host github
|
||||
:repo "flatwhatson/pdf-tools"
|
||||
:branch "fix-macros")
|
||||
:repo "flatwhatson/pdf-tools"
|
||||
:branch "fix-macros")
|
||||
:defer 1
|
||||
:config
|
||||
(pdf-tools-install)
|
||||
|
@ -1498,11 +1524,11 @@ interfere with the default `bongo-playlist-buffer'."
|
|||
transmission-files-mode
|
||||
transmission-info-mode
|
||||
transmission-peers-mode)))
|
||||
:general
|
||||
(chris/leader-keys
|
||||
:states 'normal
|
||||
:keymaps 'override
|
||||
"ot" 'transmission))
|
||||
:general
|
||||
(chris/leader-keys
|
||||
:states 'normal
|
||||
:keymaps 'override
|
||||
"ot" 'transmission))
|
||||
|
||||
(use-package auth-source-pass
|
||||
:defer 1
|
||||
|
|
Loading…
Reference in a new issue