Moved emacs configs to config directory because of emacs 29

This commit is contained in:
Joseph Ferano 2022-12-07 23:40:50 +04:00
parent 582dd92fff
commit 9c150b8d33
3 changed files with 139 additions and 111 deletions

View File

@ -167,9 +167,8 @@ Use Dashboard.el. First load `all-the-icons` for nicer rendering
#+begin_src emacs-lisp #+begin_src emacs-lisp
;; (straight-use-package 'all-the-icons) ;; (straight-use-package 'all-the-icons)
(straight-use-package 'dashboard) (straight-use-package '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*")))
(setq dashboard-items '((recents . 8) (setq dashboard-items '((recents . 8)
(bookmarks . 8))) (bookmarks . 8)))
(setq dashboard-startup-banner 'logo) (setq dashboard-startup-banner 'logo)
@ -259,6 +258,15 @@ Setup other stuff
(straight-use-package 'doom-modeline) (straight-use-package 'doom-modeline)
(doom-modeline-mode) (doom-modeline-mode)
(doom-modeline-def-modeline 'main
'(modals bar workspace-name bar window-number matches buffer-info remote-host buffer-position word-count selection-info)
'(parrot objed-state misc-info persp-name battery grip irc mu4e gnus github debug repl lsp bar input-method indent-info buffer-encoding bar major-mode process))
;; Set default mode-line
(add-hook 'doom-modeline-mode-hook
(lambda ()
(doom-modeline-set-modeline 'main 'default)))
;; (straight-use-package 'centaur-tabs) ;; (straight-use-package 'centaur-tabs)
;; (setq centaur-tabs-set-bar 'under) ;; (setq centaur-tabs-set-bar 'under)
@ -277,8 +285,9 @@ Setup other stuff
(setq-default indent-tabs-mode nil) (setq-default indent-tabs-mode nil)
(setq-default tab-width 4) (setq-default tab-width 4)
(setq-default line-spacing 5) (setq-default line-spacing 5)
(setq indent-line-function 'insert-tab) (setq indent-line-function #'indent-relative)
(set-default 'truncate-lines nil)
(set-default 'truncate-lines t)
(set-default 'truncate-partial-width-windows nil) (set-default 'truncate-partial-width-windows nil)
;; (add-hook 'before-save-hook 'whitespace-cleanup) ;; (add-hook 'before-save-hook 'whitespace-cleanup)
@ -339,7 +348,7 @@ Emacs is an great operating system, if only it had a good text editor...
(setq evil-want-C-u-scroll t) (setq evil-want-C-u-scroll t)
(setq evil-want-Y-yank-to-eol t) (setq evil-want-Y-yank-to-eol t)
(setq evil-disable-insert-state-bindings t) (setq evil-disable-insert-state-bindings t)
(setq evil-echo-state nil)
(straight-use-package 'evil) (straight-use-package 'evil)
(straight-use-package 'evil-collection) (straight-use-package 'evil-collection)
@ -353,6 +362,53 @@ Emacs is an great operating system, if only it had a good text editor...
(evil-define-key 'normal 'global (kbd "q") 'avy-goto-word-0) (evil-define-key 'normal 'global (kbd "q") 'avy-goto-word-0)
(add-hook 'emacs-startup-hook
(lambda ()
(evil-define-key 'normal 'global
(kbd "<leader>w") 'save-buffer
(kbd "<leader>q") 'kill-buffer-and-window
(kbd "<leader>k") 'kill-this-buffer
(kbd "<leader>h") 'help-command
(kbd "<leader>hf") 'helpful-callable
(kbd "<leader>hv") 'helpful-variable
(kbd "<leader>hk") 'helpful-key
(kbd "<leader>ho") 'helpful-symbol
(kbd "<leader>hg") 'helpful-at-point
(kbd "<leader>fb") 'bookmark-jump
(kbd "<leader>fr") 'consult-recent-file
(kbd "<leader>ff") 'project-find-file
(kbd "<leader>fi") 'joe/edit-init
(kbd "<leader>bl") 'mode-line-other-buffer
(kbd "<leader>ba") 'consult-buffer
(kbd "<leader>bb") 'consult-project-buffer
(kbd "<leader>bi") 'ibuffer
(kbd "<leader>bm") 'joe/toggle-buffer-mode
(kbd "<leader>br") 'joe/revert-buffer-no-confirm
(kbd "<leader>gg") 'magit-status
(kbd "<leader>gc") 'magit-clone
(kbd "<leader>ss") 'joe/vterm-here
(kbd "<leader>sv") 'vterm
(kbd "<leader>tv") 'vterm-other-window
(kbd "<leader>Ba") 'joe/bookmark-set-and-save
(kbd "<leader>Bd") 'bookmark-delete
(kbd "<leader>mr") 'joe/compile-run
(kbd "<leader>mc") 'joe/compile-comp
(kbd "<leader>ct") 'consult-theme
(kbd "<leader>cl") 'consult-line
(kbd "<leader>ci") 'consult-imenu
(kbd "<leader>cy") 'consult-yank-from-kill-ring
(kbd "<leader>cg") 'consult-ripgrep
(kbd "<leader>cF") 'consult-find
(kbd "<leader>co") 'consult-outline
;; (kbd "<leader>ee") 'flymake-mode
(kbd "C-h") 'evil-window-left
(kbd "C-j") 'evil-window-down
(kbd "C-k") 'evil-window-up
(kbd "C-l") 'evil-window-right
(kbd "<leader>tn") 'tab-new
(kbd "<leader>tc") 'tab-close
(kbd "<leader>tr") 'tab-rename)))
(evil-define-key 'normal 'global (kbd "M-1") '(lambda () (interactive) (tab-bar-select-tab 1))) (evil-define-key 'normal 'global (kbd "M-1") '(lambda () (interactive) (tab-bar-select-tab 1)))
(evil-define-key 'normal 'global (kbd "M-2") '(lambda () (interactive) (tab-bar-select-tab 2))) (evil-define-key 'normal 'global (kbd "M-2") '(lambda () (interactive) (tab-bar-select-tab 2)))
(evil-define-key 'normal 'global (kbd "M-3") '(lambda () (interactive) (tab-bar-select-tab 3))) (evil-define-key 'normal 'global (kbd "M-3") '(lambda () (interactive) (tab-bar-select-tab 3)))
@ -366,6 +422,7 @@ Emacs is an great operating system, if only it had a good text editor...
;; (define-key evil-consult-map "b" 'evil-window-bottom-right) ;; (define-key evil-consult-map "b" 'evil-window-bottom-right)
;; (define-key evil-consult-map "c" 'evil-window-delete) ;; (define-key evil-consult-map "c" 'evil-window-delete)
;; (define-key evil-normal-state-map "," 'evil-consult-map) ;; (define-key evil-normal-state-map "," 'evil-consult-map)
(defun joe/evil-select-line () (defun joe/evil-select-line ()
(interactive) (interactive)
@ -403,51 +460,6 @@ Emacs is an great operating system, if only it had a good text editor...
(setq evil-goggles-pulse t) (setq evil-goggles-pulse t)
(setq evil-goggles-async-duration 0.55) (setq evil-goggles-async-duration 0.55)
(add-hook 'emacs-startup-hook (lambda ()
(evil-define-key 'normal 'global
(kbd "<leader>w") 'save-buffer
(kbd "<leader>q") 'kill-buffer-and-window
(kbd "<leader>k") 'kill-this-buffer
(kbd "<leader>h") 'help-command
(kbd "<leader>hf") 'helpful-callable
(kbd "<leader>hv") 'helpful-variable
(kbd "<leader>hk") 'helpful-key
(kbd "<leader>ho") 'helpful-symbol
(kbd "<leader>hg") 'helpful-at-point
(kbd "<leader>fb") 'bookmark-jump
(kbd "<leader>fr") 'consult-recent-file
(kbd "<leader>ff") 'project-find-file
(kbd "<leader>fi") 'joe/edit-init
(kbd "<leader>bl") 'mode-line-other-buffer
(kbd "<leader>ba") 'consult-buffer
(kbd "<leader>bb") 'consult-project-buffer
(kbd "<leader>bi") 'ibuffer
(kbd "<leader>bm") 'joe/toggle-buffer-mode
(kbd "<leader>br") 'joe/revert-buffer-no-confirm
(kbd "<leader>gg") 'magit-status
(kbd "<leader>gc") 'magit-clone
(kbd "<leader>ss") 'joe/vterm-here
(kbd "<leader>sv") 'vterm
(kbd "<leader>tv") 'vterm-other-window
(kbd "<leader>Ba") 'joe/bookmark-set-and-save
(kbd "<leader>Bd") 'bookmark-delete
(kbd "<leader>mr") 'joe/compile-run
(kbd "<leader>mc") 'joe/compile-comp
(kbd "<leader>ct") 'consult-theme
(kbd "<leader>cl") 'consult-line
(kbd "<leader>ci") 'consult-imenu
(kbd "<leader>cy") 'consult-yank-from-kill-ring
(kbd "<leader>cg") 'consult-ripgrep
(kbd "<leader>cF") 'consult-find
(kbd "<leader>co") 'consult-outline
(kbd "C-h") 'evil-window-left
(kbd "C-j") 'evil-window-down
(kbd "C-k") 'evil-window-up
(kbd "C-l") 'evil-window-right
(kbd "<leader>tn") 'tab-new
(kbd "<leader>tc") 'tab-close
(kbd "<leader>tr") 'tab-rename)))
#+end_src #+end_src
** Buffers ** Buffers
#+begin_src emacs-lisp #+begin_src emacs-lisp
@ -611,25 +623,25 @@ Vertico Embark Marginalia Consult Orderless
vertico-directory))) vertico-directory)))
(vertico-mode) (vertico-mode)
(straight-use-package 'vertico-posframe) ;; (straight-use-package 'vertico-posframe)
(define-key vertico-map (kbd "C-w") #'vertico-directory-delete-word) (define-key vertico-map (kbd "C-w") #'vertico-directory-delete-word)
(define-key vertico-map (kbd "C-r") #'vertico-repeat-) ;; (define-key vertico-map (kbd "C-r") #'vertico-repeat-)
(vertico-posframe-mode t) ;; (vertico-posframe-mode t)
(vertico-indexed-mode) (vertico-indexed-mode)
(setq vertico-posframe-parameters ;; (setq vertico-posframe-parameters
'((left-fringe . 100) ;; '((left-fringe . 100)
(right-fringe . 100))) ;; (right-fringe . 100)))
(setq vertico-posframe-border-width 5) ;; (setq vertico-posframe-border-width 5)
(setq vertico-posframe-min-height 20) ;; (setq vertico-posframe-min-height 20)
(defun posframe-poshandler-slightly-below-top (info) ;; (defun posframe-poshandler-slightly-below-top (info)
(cons (/ (- (plist-get info :parent-frame-width) ;; (cons (/ (- (plist-get info :parent-frame-width)
(plist-get info :posframe-width)) ;; (plist-get info :posframe-width))
2) ;; 2)
150)) ;; 150))
(setq vertico-posframe-poshandler #'posframe-poshandler-slightly-below-top) ;; (setq vertico-posframe-poshandler #'posframe-poshandler-slightly-below-top)
(setq vertico-count 17 (setq vertico-count 17
vertico-resize nil vertico-resize nil
@ -946,43 +958,64 @@ startup. Reason we have to call this is so the vterm fucntion can call `vterm--i
;; (straight-use-package 'yasnippet) ;; (straight-use-package 'yasnippet)
(straight-use-package 'markdown-mode) (straight-use-package 'markdown-mode)
;; (straight-use-package 'posframe) ;; (straight-use-package 'posframe)
;; (straight-use-package '(lsp-bridge
;; :type git
;; :host github
;; :repo "manateelazycat/lsp-bridge"
;; :files (:defaults "*.py" "core/*" "langserver/*")));; (straight-use-package 'lsp-mode)
(straight-use-package 'lsp-mode)
(straight-use-package 'lsp-ui)
;; (straight-use-package (cl-defmethod lsp-clients-extract-signature-on-hover (contents (_server-id (eql rust-analyzer)))
;; '(acm-terminal :type git :host github :repo "twlz0ne/acm-terminal")) (-let* (((&hash "value") contents)
;; (straight-use-package (groups (--partition-by (s-blank? it) (s-lines (s-trim value))))
;; '(popon :type git :repo "https://codeberg.org/akib/emacs-popon.git")) (sig_group (if (s-equals? "```rust" (car (-third-item groups)))
(-third-item groups)
(car groups)))
;; (straight-use-package 'lsp-mode) (sig (--> sig_group
;; (straight-use-package 'lsp-ui) (--drop-while (s-equals? "```rust" it) it)
(evil-global-set-key 'normal (kbd "M-e") #'flymake-goto-next-error) (--take-while (not (s-equals? "```" it)) it)
(evil-global-set-key 'normal (kbd "M-S-e") #'flymake-goto-prev-error) (--map (s-trim it) it)
(s-join " " it))))
(lsp--render-element (concat "```rust\n" sig "\n```"))))
;; (setq lsp-ui-peek-always-show t) ;; (setq lsp-ui-peek-always-show t)
;; (setq lsp-ui-sideline-show-hover t) ;; (setq lsp-ui-sideline-show-hover t)
;; (setq lsp-ui-doc-enable t) ;; (setq lsp-ui-doc-enable t)
;; (setq lsp-rust-analyzer-server-display-inlay-hints t) (setq lsp-headerline-breadcrumb-enable nil)
;; (setq lsp-rust-analyzer-display-lifetime-elision-hints-enable "skip_trivial") (setq lsp-rust-analyzer-server-display-inlay-hints t)
;; (setq lsp-rust-analyzer-display-chaining-hints t) (setq lsp-rust-analyzer-display-lifetime-elision-hints-enable "skip_trivial")
;; (setq lsp-rust-analyzer-display-lifetime-elision-hints-use-parameter-names nil) (setq lsp-rust-analyzer-display-chaining-hints t)
;; (setq lsp-rust-analyzer-display-closure-return-type-hints t) (setq lsp-rust-analyzer-display-lifetime-elision-hints-use-parameter-names nil)
;; (setq lsp-rust-analyzer-display-parameter-hints t) (setq lsp-rust-analyzer-display-closure-return-type-hints t)
;; (setq lsp-rust-analyzer-display-reborrow-hints t) (setq lsp-rust-analyzer-display-parameter-hints t)
;; (setq lsp-rust-analyzer-cargo-watch-command "clippy") (setq lsp-rust-analyzer-display-reborrow-hints t)
;; (setq lsp-eldoc-render-all t) (setq lsp-rust-analyzer-cargo-watch-command "clippy")
;; (setq lsp-eldoc-enable-hover nil) (setq lsp-eldoc-render-all nil)
(setq lsp-eldoc-enable-hover t)
(setq lsp-headerline-breadcrumb-icons-enable t)
(setq lsp-headerline-breadcrumb-segments '(path-up-to-project file symbols))
;; (setq lsp-idle-delay 0.2) ;; (setq lsp-idle-delay 0.2)
;; (straight-use-package 'eglot) ;; (defun joe/toggle-linting ()
;; (interactive)
;; (if (bound-and-true-p flycheck-mode)
;; ()
;; (message "flymake-mode is off")))
(straight-use-package 'flycheck)
;; (evil-global-set-key 'normal (kbd "M-e") #'flymake-goto-next-error)
;; (evil-global-set-key 'normal (kbd "M-S-e") #'flymake-goto-prev-error)
;; (evil-global-set-key 'normal (kbd "M-e") )
;; (evil-global-set-key 'normal (kbd "M-S-e") )
;; (evil-define-key 'normal 'global (kbd "<leader>ee") 'joe/toggle-linting)
(evil-define-key 'normal 'global (kbd "<leader>el") #'flycheck-list-errors)
(evil-define-key 'normal 'global (kbd "<leader>en") #'flycheck-next-error)
(evil-define-key 'normal 'global (kbd "<leader>ep") #'flycheck-previous-error)
(evil-define-key 'normal 'global (kbd "<leader>le") 'flycheck-mode)
(evil-define-key 'normal 'global (kbd "<leader>lh") 'lsp-headerline-breadcrumb-mode)
(evil-define-key 'normal 'global (kbd "<leader>li") 'lsp-rust-analyzer-inlay-hints-mode)
;; (setq doom-modeline-checker-simple-format nil)
;; Define your custom doom-modeline
;; (setq eldoc-echo-area-use-multiline-p t) ;; (setq eldoc-echo-area-use-multiline-p t)
;; (setq eldoc-echo-area-prefer-doc-buffer t) ;; (setq eldoc-echo-area-prefer-doc-buffer t)
;; (setq eldoc-idle-delay 0.1) (setq eldoc-idle-delay 0.1)
;; (setq lsp-eldoc-render-all nil) ;; (setq lsp-eldoc-render-all nil)
;; (setq lsp-keymap-prefix "C-c c") ;; (setq lsp-keymap-prefix "C-c c")
;; (setq eldoc-documentation-strategy ) ;; (setq eldoc-documentation-strategy )
@ -1015,7 +1048,16 @@ startup. Reason we have to call this is so the vterm fucntion can call `vterm--i
;; (lambda (&rest args) ;; (lambda (&rest args)
;; (let ((marginalia-classifiers nil)) ;; (let ((marginalia-classifiers nil))
;; (apply #'consult-completion-in-region args))))) ;; (apply #'consult-completion-in-region args)))))
;; (setq completion-in-region-function
;; (lambda (&rest args)
;; (let ((marginalia-classifiers nil))
;; (apply #'consult-completion-in-region args))))
(setq completion-in-region-function
(lambda (&rest args)
(apply (if vertico-mode
#'consult-completion-in-region
#'completion--in-region)
args)))
(straight-use-package 'company) (straight-use-package 'company)
(require 'company) (require 'company)
@ -1035,7 +1077,7 @@ startup. Reason we have to call this is so the vterm fucntion can call `vterm--i
(define-key company-active-map (kbd "<backtab>") (lambda () (interactive) (company-complete-common-or-cycle -1))) (define-key company-active-map (kbd "<backtab>") (lambda () (interactive) (company-complete-common-or-cycle -1)))
(setq company-idle-delay 0.15 (setq company-idle-delay 0.15
company-tooltip-idle-delay 0.5 company-tooltip-idle-delay 20
company-require-match nil company-require-match nil
company-frontends '(company-preview-frontend company-echo-metadata-frontend) company-frontends '(company-preview-frontend company-echo-metadata-frontend)
;; company-frontends ;; company-frontends
@ -1124,7 +1166,6 @@ it doesn't close it.
#+end_src #+end_src
*** FSharp *** FSharp
#+begin_src emacs-lisp #+begin_src emacs-lisp
;; (straight-use-package 'eglot)
(straight-use-package 'fsharp-mode) (straight-use-package 'fsharp-mode)
;; (straight-use-package 'eglot-fsharp) ;; (straight-use-package 'eglot-fsharp)
@ -1134,6 +1175,7 @@ it doesn't close it.
(straight-use-package 'rust-mode) (straight-use-package 'rust-mode)
(straight-use-package 'rustic) (straight-use-package 'rustic)
(straight-use-package 'parsec) ;; Required by evcxr-mode (straight-use-package 'parsec) ;; Required by evcxr-mode
(setq rustic-lsp-setup-p nil)
(straight-use-package (straight-use-package
'(evcxr '(evcxr
:type git :type git

View File

@ -66,7 +66,7 @@
;;word-wrap ; soft wrapping with language-aware indent ;;word-wrap ; soft wrapping with language-aware indent
:emacs :emacs
dired ; making dired pretty [functional] (dired +dirvish) ; making dired pretty [functional]
electric ; smarter, keyword-based electric-indent electric ; smarter, keyword-based electric-indent
;;ibuffer ; interactive buffer management ;;ibuffer ; interactive buffer management
undo ; persistent, smarter undo for your inevitable mistakes undo ; persistent, smarter undo for your inevitable mistakes

18
.gitignore vendored
View File

@ -1,16 +1,2 @@
.emacs.*/elpa .config/emacs/*
.emacs.*/saves !.config/emacs/init.org
.emacs.*/var
.emacs.*/transient
.emacs.*/recentf
.emacs.*/elpa
.emacs.*/undo
.emacs.*/url
.emacs.bankruptcy/elpaca/
.emacs.kak/
.emacs.bankruptcy/
+.emacs.bankruptcy/init.org
.emacs.vanilla/*
!.emacs.vanilla/init.el
/.emacs.d/auto-save-list/
/.emacs.bankruptcy/*.el