Update
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -32,6 +32,7 @@
|
|||||||
.tern-port
|
.tern-port
|
||||||
.yas-compiled-snippets.el
|
.yas-compiled-snippets.el
|
||||||
flycheck_*.el
|
flycheck_*.el
|
||||||
|
tabsession.el
|
||||||
|
|
||||||
# generated by elisp packages at root
|
# generated by elisp packages at root
|
||||||
/.local/
|
/.local/
|
||||||
|
|||||||
3
init.el
3
init.el
@@ -8,7 +8,10 @@
|
|||||||
(require 'init-ui)
|
(require 'init-ui)
|
||||||
(require 'init-bindings)
|
(require 'init-bindings)
|
||||||
|
|
||||||
|
(require 'init-workspace)
|
||||||
|
|
||||||
(require 'init-dired)
|
(require 'init-dired)
|
||||||
|
(require 'init-treemacs)
|
||||||
;; (require 'init-dashboard)
|
;; (require 'init-dashboard)
|
||||||
|
|
||||||
(require 'init-llm)
|
(require 'init-llm)
|
||||||
|
|||||||
@@ -15,23 +15,39 @@
|
|||||||
(setq custom-file (expand-file-name "~/.emacs.d/custom.el"))
|
(setq custom-file (expand-file-name "~/.emacs.d/custom.el"))
|
||||||
(add-hook 'elpaca-after-init-hook (lambda () (load custom-file 'no-error 'no-message)))
|
(add-hook 'elpaca-after-init-hook (lambda () (load custom-file 'no-error 'no-message)))
|
||||||
|
|
||||||
(server-mode 1)
|
(use-package server
|
||||||
|
:ensure nil
|
||||||
|
:hook (elpaca-after-init . server-mode))
|
||||||
|
|
||||||
(global-display-line-numbers-mode)
|
(use-package display-line-numbers
|
||||||
(dolist (mode '(erc-mode-hook
|
:ensure nil
|
||||||
|
:hook (elpaca-after-init . global-display-line-numbers-mode)
|
||||||
|
:config
|
||||||
|
(dolist (mode '(erc-mode-hook
|
||||||
circe-mode-hook
|
circe-mode-hook
|
||||||
help-mode-hook
|
help-mode-hook
|
||||||
gud-mode-hook
|
gud-mode-hook
|
||||||
|
treemacs-mode-hook
|
||||||
vterm-mode-hook))
|
vterm-mode-hook))
|
||||||
(add-hook mode (lambda () (display-line-numbers-mode -1))))
|
(add-hook mode (lambda () (display-line-numbers-mode -1))))
|
||||||
(setq display-line-numbers-type 'relative)
|
(setq display-line-numbers-type 'relative)
|
||||||
|
)
|
||||||
(column-number-mode 1)
|
(column-number-mode 1)
|
||||||
|
|
||||||
(global-subword-mode 1)
|
(use-package subword
|
||||||
(show-paren-mode t)
|
:ensure nil
|
||||||
|
:hook (elpaca-after-init . global-subword-mode))
|
||||||
|
|
||||||
|
(use-package paren
|
||||||
|
:ensure nil
|
||||||
|
:hook (elpaca-after-init . show-paren-mode))
|
||||||
|
|
||||||
(recentf-mode 1)
|
(recentf-mode 1)
|
||||||
(setq recentf-max-saved-items 500)
|
(use-package recentf
|
||||||
|
:ensure nil
|
||||||
|
:hook (elpaca-after-init . recentf-mode)
|
||||||
|
:custom
|
||||||
|
(recentf-max-saved-items 500))
|
||||||
|
|
||||||
(setq-default cursor-type 'bar)
|
(setq-default cursor-type 'bar)
|
||||||
(setq make-backup-files nil)
|
(setq make-backup-files nil)
|
||||||
|
|||||||
55
lisp/init-treemacs.el
Normal file
55
lisp/init-treemacs.el
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
;; -*- lexical-binding: t; -*-
|
||||||
|
(use-package treemacs
|
||||||
|
:ensure t
|
||||||
|
:defer t
|
||||||
|
:custom-face
|
||||||
|
(cfrs-border-color ((t (:inherit posframe-border))))
|
||||||
|
:init
|
||||||
|
(with-eval-after-load 'winum
|
||||||
|
(define-key winum-keymap (kbd "M-0") #'treemacs-select-window))
|
||||||
|
:config
|
||||||
|
(treemacs-follow-mode t)
|
||||||
|
(treemacs-filewatch-mode t)
|
||||||
|
(treemacs-fringe-indicator-mode 'always)
|
||||||
|
(pcase (cons (not (null (executable-find "git")))
|
||||||
|
(not (null (executable-find "python3"))))
|
||||||
|
(`(t . t)
|
||||||
|
(treemacs-git-mode 'deferred))
|
||||||
|
(`(t . _)
|
||||||
|
(treemacs-git-mode 'simple)))
|
||||||
|
(treemacs-git-commit-diff-mode t)
|
||||||
|
(treemacs-hide-gitignored-files-mode t)
|
||||||
|
(setq treemacs-collapse-dirs (if treemacs-python-executable 3 0)
|
||||||
|
treemacs-missing-project-action 'remove
|
||||||
|
treemacs-user-mode-line-format 'none
|
||||||
|
treemacs-sorting 'alphabetic-asc
|
||||||
|
treemacs-follow-after-init t
|
||||||
|
treemacs-width 30
|
||||||
|
treemacs-no-png-images 1)
|
||||||
|
:bind
|
||||||
|
(:map global-map
|
||||||
|
("M-0" . treemacs-select-window)
|
||||||
|
("C-x t 1" . treemacs-delete-other-windows)
|
||||||
|
("C-c o p" . treemacs)
|
||||||
|
("C-x t d" . treemacs-select-directory)
|
||||||
|
("C-x t B" . treemacs-bookmark)
|
||||||
|
("C-x t C-t" . treemacs-find-file)
|
||||||
|
("C-x t M-t" . treemacs-find-tag)))
|
||||||
|
|
||||||
|
(use-package treemacs-magit
|
||||||
|
:hook ((magit-post-commit
|
||||||
|
git-commit-post-finish
|
||||||
|
magit-post-stage
|
||||||
|
magit-post-unstage)
|
||||||
|
. treemacs-magit--schedule-update))
|
||||||
|
|
||||||
|
(use-package treemacs-tab-bar ;;treemacs-tab-bar if you use tab-bar-mode
|
||||||
|
:after (treemacs)
|
||||||
|
:ensure t
|
||||||
|
:config (treemacs-set-scope-type 'Tabs))
|
||||||
|
|
||||||
|
(use-package treemacs-nerd-icons
|
||||||
|
:demand t
|
||||||
|
:config (treemacs-nerd-icons-config))
|
||||||
|
|
||||||
|
(provide 'init-treemacs)
|
||||||
50
lisp/init-workspace.el
Normal file
50
lisp/init-workspace.el
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
;; -*- lexical-binding: t; -*-
|
||||||
|
|
||||||
|
(use-package tabspaces
|
||||||
|
:functions tabspaces-mode
|
||||||
|
:hook (elpaca-after-init . tabspaces-mode)
|
||||||
|
:custom
|
||||||
|
(tab-bar-show nil)
|
||||||
|
|
||||||
|
(tabspaces-use-filtered-buffers-as-default t)
|
||||||
|
(tabspaces-default-tab "Default")
|
||||||
|
(tabspaces-remove-to-default t)
|
||||||
|
(tabspaces-include-buffers '("*scratch*" "*Messages*"))
|
||||||
|
(tabspaces-exclude-buffers '("*eat*" "*vterm*" "*shell*" "*eshell*"))
|
||||||
|
;; sessions
|
||||||
|
(tabspaces-session t)
|
||||||
|
(tabspaces-session-auto-restore)
|
||||||
|
:config
|
||||||
|
(with-no-warnings
|
||||||
|
;; Filter Buffers for Consult-Buffer
|
||||||
|
(with-eval-after-load 'consult
|
||||||
|
;; hide full buffer list (still available with "b" prefix)
|
||||||
|
(consult-customize consult--source-buffer :hidden t :default nil)
|
||||||
|
;; set consult-workspace buffer list
|
||||||
|
(defvar consult--source-workspace
|
||||||
|
(list :name "Workspace Buffer"
|
||||||
|
:narrow ?w
|
||||||
|
:history 'buffer-name-history
|
||||||
|
:category 'buffer
|
||||||
|
:state #'consult--buffer-state
|
||||||
|
:default t
|
||||||
|
:items (lambda () (consult--buffer-query
|
||||||
|
:predicate #'tabspaces--local-buffer-p
|
||||||
|
:sort 'visibility
|
||||||
|
:as #'buffer-name)))
|
||||||
|
"Set workspace buffer list for consult-buffer.")
|
||||||
|
(add-to-list 'consult-buffer-sources 'consult--source-workspace))
|
||||||
|
|
||||||
|
(defun my-tabspaces-delete-childframe (&rest _)
|
||||||
|
"Delete all child frames."
|
||||||
|
(ignore-errors
|
||||||
|
(posframe-delete-all)))
|
||||||
|
(advice-add #'tabspaces-save-session :before #'my-tabspaces-delete-childframe)
|
||||||
|
|
||||||
|
(defun my-tabspaces-burry-window (&rest _)
|
||||||
|
"Burry *Messages* buffer."
|
||||||
|
(ignore-errors
|
||||||
|
(quit-windows-on messages-buffer-name)))
|
||||||
|
(advice-add #'tabspaces-restore-session :after #'my-tabspaces-burry-window)))
|
||||||
|
|
||||||
|
(provide 'init-workspace)
|
||||||
Reference in New Issue
Block a user