Start switching to VEMCO. Start switching to dirvish. Fisrt display-buffer-alist

This commit is contained in:
Joseph Ferano 2022-08-18 10:54:14 +07:00
parent 914cb43a89
commit 2f1fae779f

View File

@ -4,7 +4,6 @@
(setq backup-directory-alist `((".*" . "~/.emacs.d/saves")) (setq backup-directory-alist `((".*" . "~/.emacs.d/saves"))
delete-old-versions t) delete-old-versions t)
(setq auto-save-file-name-transforms `((".*" ,temporary-file-directory t))) (setq auto-save-file-name-transforms `((".*" ,temporary-file-directory t)))
(setq delete-by-moving-to-trash t)
(setq user-full-name "Joseph Ferano" (setq user-full-name "Joseph Ferano"
user-mail-address "joseph@ferano.io") user-mail-address "joseph@ferano.io")
@ -21,7 +20,6 @@
(add-hook 'text-mode-hook (lambda () (setq fill-column 90) (turn-on-auto-fill))) (add-hook 'text-mode-hook (lambda () (setq fill-column 90) (turn-on-auto-fill)))
(put 'narrow-to-region 'disabled nil) (put 'narrow-to-region 'disabled nil)
(put 'dired-find-alternate-file 'disabled nil)
(require 'server) (require 'server)
(if (not (server-running-p)) (server-start)) (if (not (server-running-p)) (server-start))
@ -135,8 +133,9 @@ all of the evil keybindings in buffers like magit, without compromises."
(feebleline-git-branch :face feebleline-git-face :pre " - "))) (feebleline-git-branch :face feebleline-git-face :pre " - ")))
'(flycheck-color-mode-line-face-to-color 'mode-line-buffer-id) '(flycheck-color-mode-line-face-to-color 'mode-line-buffer-id)
'(frame-background-mode 'dark) '(frame-background-mode 'dark)
'(org-agenda-files '("~/todo.org"))
'(package-selected-packages '(package-selected-packages
'(eglot-fsharp evil-textobj-tree-sitter tree-sitter-langs tree-sitter consult-eglot eglot lsp-ui nano-modeline mini-modeline simple-modeline dimmer pdf-tools dap-mode csharp-mode consult-lsp lsp-mode consult flycheck all-the-icons-completion kind-icon mini-modeline good-scroll shelldon pcomplete-extension corfu-doc esh-autosuggest fish-completion cape corfu highlight-quoted writeroom-mode mini-frame dirvish ranger evil-goggles magit multi-vterm evil-collection smartparens vterm all-the-icons-dired all-the-icons org-bullets select-themes fsharp-mode fish-mode find-file-in-project helpful ahk-mode rainbow-delimiters doom-themes marginalia selectrum-prescient prescient selectrum avy evil-commentary evil-embrace evil-snipe evil-surround undo-tree which-key dashboard)) '(org-kanban embark-consult embark olivetti vertico-posframe orderless vertico eglot-fsharp consult-eglot eglot nano-modeline mini-modeline pdf-tools consult all-the-icons-completion kind-icon mini-modeline shelldon pcomplete-extension corfu-doc esh-autosuggest fish-completion cape corfu highlight-quoted dirvish ranger magit multi-vterm evil-collection smartparens vterm all-the-icons org-bullets fsharp-mode fish-mode find-file-in-project helpful ahk-mode rainbow-delimiters doom-themes marginalia avy evil-commentary evil-surround undo-tree which-key dashboard))
'(window-divider-mode nil)) '(window-divider-mode nil))
(custom-set-faces (custom-set-faces
;; custom-set-faces was added by Custom. ;; custom-set-faces was added by Custom.
@ -156,6 +155,7 @@ all of the evil keybindings in buffers like magit, without compromises."
(load-theme 'doom-vibrant t) (load-theme 'doom-vibrant t)
;; (load-theme 'doom-flatwhite t) ;; (load-theme 'doom-flatwhite t)
(setq evil-want-keybinding nil) (setq evil-want-keybinding nil)
(setq evil-undo-system 'undo-tree) (setq evil-undo-system 'undo-tree)
(setq evil-want-C-u-scroll t) (setq evil-want-C-u-scroll t)
@ -176,24 +176,18 @@ all of the evil keybindings in buffers like magit, without compromises."
(setq save-place-file "~/.emacs.vanilla/places") (setq save-place-file "~/.emacs.vanilla/places")
(require 'dired) (require 'dired)
(if (eq system-type 'windows-nt) (require 'dirvish)
(setq ls-lisp-dirs-first t) (setq delete-by-moving-to-trash t)
(setq dired-listing-switches "-ahlgo -v --group-directories-first"))
(setq dired-dwim-target t) (setq dired-dwim-target t)
(setq dirvish-preview-dispatchers (cl-substitute 'pdf-preface 'pdf dirvish-preview-dispatchers))
;; (require 'dimmer) (dirvish-define-preview exa (file)
;; (setq dimmer-adjustment-mode :both) "Use `exa' to generate directory preview."
;; (dimmer-mode 1) :require ("exa") ; tell Dirvish to check if we have the executable
(when (file-directory-p file) ; we only interest in directories here
(defun joe/dired-open-with-wsl-open () `(shell . ("exa" "--color=always" "-al" ,file)))) ; use the command output as preview
"Open file under cursor with wsl-open which should launch it on the windows side." (setq dired-listing-switches "-l --almost-all --human-readable --time-style=long-iso --group-directories-first --no-group")
(interactive) (add-to-list 'dirvish-preview-dispatchers 'exa)
(shell-command (format "wsl-open %s" (dired-get-filename)))) (evil-define-key 'normal dirvish-mode-map (kbd "q") 'dirvish-quit)
(defun joe/dired-find-file-other-window ()
"In Dired, visit this file or directory in another window."
(interactive)
(find-file-other-window (dired-get-file-for-visit)))
(defun joe/dired-open-file () (defun joe/dired-open-file ()
"In dired, open the file named on this line." "In dired, open the file named on this line."
@ -207,29 +201,14 @@ all of the evil keybindings in buffers like magit, without compromises."
(bookmark-set) (bookmark-set)
(bookmark-save)) (bookmark-save))
(add-hook 'dired-mode-hook
(lambda ()
(rename-buffer (concat "Dired - " dired-directory))
(all-the-icons-dired-mode)
(evil-define-key 'normal dired-mode-map (kbd "-") (lambda () (interactive) (find-alternate-file "..")))
(evil-define-key 'normal dired-mode-map (kbd "o")
(lambda () (interactive) (joe/dired-open-file)))
(evil-define-key 'normal dired-mode-map (kbd "s")
(lambda () (interactive) (dired-sort-toggle-or-edit)))
(evil-define-key 'normal dired-mode-map (kbd "<return>")
(lambda () (interactive) (dired-find-alternate-file)))))
(defun lsp-related-stuff () (defun lsp-related-stuff ()
(evil-define-key 'normal 'global (kbd "M-s") 'consult-imenu) (evil-define-key 'normal 'global (kbd "M-s") 'consult-imenu)
(evil-define-key 'normal 'global (kbd "M-i") 'eldoc) (evil-define-key 'normal 'global (kbd "M-i") 'eldoc)
(evil-define-key 'normal 'global (kbd "M-e") 'flycheck-next-error) (evil-define-key 'normal 'global (kbd "M-e") 'flymake-goto-next-error)
(evil-define-key 'normal 'global (kbd "M-E") 'flycheck-previous-error)) (evil-define-key 'normal 'global (kbd "M-E") 'flymake-goto-prev-error))
(add-hook 'prog-mode-hook 'lsp-related-stuff) (add-hook 'prog-mode-hook 'lsp-related-stuff)
;; (require 'dired-jump)
(evil-define-key 'normal 'global (kbd "-") 'dired-jump)
(require 'dashboard) (require 'dashboard)
(dashboard-setup-startup-hook) (dashboard-setup-startup-hook)
(setq initial-buffer-choice (lambda () (get-buffer-create "*dashboard*"))) (setq initial-buffer-choice (lambda () (get-buffer-create "*dashboard*")))
@ -266,7 +245,7 @@ all of the evil keybindings in buffers like magit, without compromises."
(evil-define-key 'normal 'global (kbd "<leader>ho") 'helpful-symbol) (evil-define-key 'normal 'global (kbd "<leader>ho") 'helpful-symbol)
(evil-define-key 'normal 'global (kbd "<leader>hg") 'helpful-at-point) (evil-define-key 'normal 'global (kbd "<leader>hg") 'helpful-at-point)
(evil-define-key 'normal 'global (kbd "<leader>fb") 'bookmark-jump) (evil-define-key 'normal 'global (kbd "<leader>fb") 'bookmark-jump)
(evil-define-key 'normal 'global (kbd "<leader>fr") 'joe/recentf-open-files) (evil-define-key 'normal 'global (kbd "<leader>fr") 'consult-recent-file)
(evil-define-key 'normal 'global (kbd "<leader>ff") 'ffip) (evil-define-key 'normal 'global (kbd "<leader>ff") 'ffip)
(evil-define-key 'normal 'global (kbd "<leader>fi") 'joe/edit-init) (evil-define-key 'normal 'global (kbd "<leader>fi") 'joe/edit-init)
(evil-define-key 'normal 'global (kbd "<leader>bl") 'mode-line-other-buffer) (evil-define-key 'normal 'global (kbd "<leader>bl") 'mode-line-other-buffer)
@ -287,24 +266,10 @@ all of the evil keybindings in buffers like magit, without compromises."
(evil-define-key 'normal 'global (kbd "<leader>tv") 'vterm-other-window) (evil-define-key 'normal 'global (kbd "<leader>tv") 'vterm-other-window)
(evil-define-key 'normal 'global (kbd "<leader>Ba") 'joe/bookmark-set-and-save) (evil-define-key 'normal 'global (kbd "<leader>Ba") 'joe/bookmark-set-and-save)
(evil-define-key 'normal 'global (kbd "<leader>Bd") 'bookmark-delete) (evil-define-key 'normal 'global (kbd "<leader>Bd") 'bookmark-delete)
;; (evil-define-key 'insert vterm-mode-map (kbd "C-t") #'multi-vterm-dedicated-toggle) (evil-define-key 'normal 'global (kbd "<leader>cr") 'joe/compile-run)
;; (evil-define-key 'normal vterm-mode-map (kbd "C-t") #'multi-vterm-dedicated-toggle) (evil-define-key 'normal 'global (kbd "<leader>cc") 'joe/compile-comp)
(evil-define-key 'normal 'global (kbd "<leader>cc") 'joe/compile) (evil-define-key 'normal 'global (kbd "<leader>ct") 'consult-theme)
(defun joe/half-scroll-down ()
(interactive)
(good-scroll-move (/ (good-scroll--window-usable-height) 2)))
(defun joe/half-scroll-up ()
(interactive)
(good-scroll-move (- (/ (good-scroll--window-usable-height) 2))))
;; (setq good-scroll-avoid-vscroll-reset 1)
;; (evil-define-key 'normal 'global (kbd "C-e") 'good-scroll-up)
;; (evil-define-key 'normal 'global (kbd "C-y") 'good-scroll-down)
;; (evil-define-key 'normal 'global (kbd "C-d") 'joe/half-scroll-down)
;; (evil-define-key 'normal 'global (kbd "C-u") 'joe/half-scroll-up)
;; (evil-define-key 'normal 'global (kbd "C-f") 'good-scroll-up-full-screen)
;; (evil-define-key 'normal 'global (kbd "C-b") 'good-scroll-down-full-screen)
(evil-define-key 'normal 'global (kbd "C-h") 'evil-window-left) (evil-define-key 'normal 'global (kbd "C-h") 'evil-window-left)
(evil-define-key 'normal 'global (kbd "C-j") 'evil-window-down) (evil-define-key 'normal 'global (kbd "C-j") 'evil-window-down)
(evil-define-key 'normal 'global (kbd "C-k") 'evil-window-up) (evil-define-key 'normal 'global (kbd "C-k") 'evil-window-up)
@ -355,23 +320,39 @@ all of the evil keybindings in buffers like magit, without compromises."
(org-bullets-mode) (org-bullets-mode)
(org-indent-mode)) (org-indent-mode))
(add-hook 'org-mode-hook 'joe/org-mode-setup) (add-hook 'org-mode-hook 'joe/org-mode-setup)
(setq org-todo-keywords '((sequence "TODO" "IN-PROGRESS" "|" "DONE" "BACKLOG")))
(require 'selectrum) (require 'olivetti)
(require 'prescient) (setq olivetti-minimum-body-width 120)
(selectrum-mode +1)
(selectrum-prescient-mode +1) ;; (require 'selectrum)
(prescient-persist-mode +1) ;; (require 'prescient)
(marginalia-mode +1) ;; (selectrum-mode +1)
(advice-add #'marginalia-cycle :after ;; (selectrum-prescient-mode +1)
(lambda () (when (bound-and-true-p selectrum-mode) (selectrum-exhibit)))) ;; (prescient-persist-mode +1)
;; VEMCO
(require 'vertico)
(vertico-mode)
(vertico-multiform-mode)
(define-key vertico-map "\M-G" #'vertico-multiform-mode)
(require 'vertico-posframe)
(setq vertico-posframe-min-width 150)
(setq vertico-posframe-min-height 30)
(vertico-posframe-mode)
(require 'embark)
(require 'embark-consult)
(define-key vertico-map "\M-e" #'embark-act)
(require 'marginalia)
(marginalia-mode t)
(setq marginalia-annotators (setq marginalia-annotators
'(marginalia-annotators-heavy marginalia-annotators-light nil)) '(marginalia-annotators-heavy marginalia-annotators-light nil))
(require 'orderless)
(defun joe/recentf-open-files () (setq completion-styles '(orderless basic)
"Use `completing-read' to open a recent file." completion-category-overrides '((file (styles basic partial-completion))))
(interactive) (require 'savehist)
(let ((files (mapcar 'abbreviate-file-name recentf-list))) (savehist-mode)
(find-file (completing-read "Find recent file: " files nil t))))
(require 'recentf) (require 'recentf)
(setq recentf-max-saved-items 1000) (setq recentf-max-saved-items 1000)
@ -418,7 +399,7 @@ all of the evil keybindings in buffers like magit, without compromises."
name)) name))
recentf-list))) recentf-list)))
(advice-add 'dired-rename-file :after #'rjs/recentf-rename-notify) ;; (advice-add 'dired-rename-file :after #'rjs/recentf-rename-notify)
(require 'smartparens) (require 'smartparens)
(smartparens-global-mode +1) (smartparens-global-mode +1)
@ -455,14 +436,6 @@ all of the evil keybindings in buffers like magit, without compromises."
;; (set-face-foreground face "#333")) ;; (set-face-foreground face "#333"))
;; (set-face-background 'fringe (face-attribute 'default :background)) ;; (set-face-background 'fringe (face-attribute 'default :background))
(require 'mini-frame)
(mini-frame-mode)
(setq mini-frame-show-parameters '((top . 0.2) (width . 0.6) (height . 0.25) (left . 0.5)))
(setq mini-frame-color-shift-step 18)
(setq mini-frame-internal-border-color "dark")
(setq x-gtk-resize-child-frames nil)
(require 'corfu) (require 'corfu)
(global-corfu-mode) (global-corfu-mode)
(setq corfu-auto t) (setq corfu-auto t)
@ -518,7 +491,8 @@ all of the evil keybindings in buffers like magit, without compromises."
(require 'eglot-fsharp) (require 'eglot-fsharp)
(require 'consult-eglot) (require 'consult-eglot)
(defun joe/compile () (interactive) (compile "make run")) (defun joe/compile-run () (interactive) (compile "make run"))
(defun joe/compile-comp () (interactive) (compile "make"))
(require 'tree-sitter) (require 'tree-sitter)
(require 'tree-sitter-langs) (require 'tree-sitter-langs)
@ -531,7 +505,19 @@ all of the evil keybindings in buffers like magit, without compromises."
(define-key evil-normal-state-map (kbd "[f") (lambda () (define-key evil-normal-state-map (kbd "[f") (lambda ()
(interactive) (interactive)
(evil-textobj-tree-sitter-goto-textobj "function.outer" t))) (evil-textobj-tree-sitter-goto-textobj "function.outer" t)))
(setq display-buffer-alist
`((,(rx bos
(| (literal "*compilation")
(literal "*shell")
(literal "*eshell")
(literal "*Compile-Log")))
display-buffer-in-direction
(window . ;reference window
t) ;either `t' (selected window), `main', `root', or an arbitrary valid window
(direction .
below) ;`below' (window) or `bottom' (of frame)
(window-height . 0.33) ;absolute (10) or relative (0.3)
)))
;; (dap-register-debug-template "NetCoreDdg Launch (4)" ;; (dap-register-debug-template "NetCoreDdg Launch (4)"
;; (list :type "coreclr" ;; (list :type "coreclr"
;; :request "launch" ;; :request "launch"
@ -601,17 +587,10 @@ all of the evil keybindings in buffers like magit, without compromises."
;; projectile ;; projectile
;; Hydra (we can use it for some of the ideas I've had about repeating and arranging stuff) ;; Hydra (we can use it for some of the ideas I've had about repeating and arranging stuff)
;; CTRLF (figure out if it does anything interesting) ;; CTRLF (figure out if it does anything interesting)
;; Embark (provides ivy style "actions" on fuzzy searches for selectrum)
;; exec-path-from-shell ;; exec-path-from-shell
;; company-quickhelp
;; flycheck
;; evil-mc
;; markdown-preview-mode ;; markdown-preview-mode
;; markdown-mode ;; markdown-mode
;; company-mode
;; company
;; omnisharp
;; sly ;; sly
;; ))) ;; )))
;; '(send-mail-function (quote smtpmail-send-it))) ;; '(send-mail-function (quote smtpmail-send-it)))