summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/evil.el8
-rw-r--r--config/magit.el5
-rw-r--r--config/modeline.el64
-rw-r--r--config/treemacs.el55
4 files changed, 74 insertions, 58 deletions
diff --git a/config/evil.el b/config/evil.el
index e335c54..4bf6871 100644
--- a/config/evil.el
+++ b/config/evil.el
@@ -9,13 +9,13 @@
(setq evil-undo-system 'undo-redo) ;; Use Emacs 28+ built-in undo-redo
:config
(evil-mode 1))
- ;; Restore Emacs-style C-n/C-p in insert mode for line movement
- ;; (define-key evil-insert-state-map (kbd "C-n") 'next-line)
- ;; (define-key evil-insert-state-map (kbd "C-p") 'previous-line))
+;; Restore Emacs-style C-n/C-p in insert mode for line movement
+;; (define-key evil-insert-state-map (kbd "C-n") 'next-line)
+;; (define-key evil-insert-state-map (kbd "C-p") 'previous-line))
(use-package evil-collection
:after evil
:straight (evil-collection :type git :host github :repo "emacs-evil/evil-collection"
- :files (:defaults "modes"))
+ :files (:defaults "modes"))
:config
(evil-collection-init)) ;; Provides Evil bindings for many Emacs modes
diff --git a/config/magit.el b/config/magit.el
new file mode 100644
index 0000000..1bf91e9
--- /dev/null
+++ b/config/magit.el
@@ -0,0 +1,5 @@
+;; Magit - Simple Git interface for Emacs
+
+(use-package magit
+ :bind
+ ("C-x g" . magit-status))
diff --git a/config/modeline.el b/config/modeline.el
index b6941ef..80acf48 100644
--- a/config/modeline.el
+++ b/config/modeline.el
@@ -6,14 +6,14 @@
:config
;; Fix missing data symlink (straight.el doesn't create it automatically)
(let ((data-link (expand-file-name "straight/build/nerd-icons/data" user-emacs-directory))
- (data-source (expand-file-name "straight/repos/nerd-icons/data" user-emacs-directory)))
- (unless (file-exists-p data-link)
- (when (file-exists-p data-source)
- (make-symbolic-link data-source data-link))))
+ (data-source (expand-file-name "straight/repos/nerd-icons/data" user-emacs-directory)))
+ (unless (file-exists-p data-link)
+ (when (file-exists-p data-source)
+ (make-symbolic-link data-source data-link))))
;; Prevent icons from becoming bold in active modeline
(dolist (face (face-list))
- (when (string-prefix-p "nerd-icons-" (symbol-name face))
- (set-face-attribute face nil :weight 'normal))))
+ (when (string-prefix-p "nerd-icons-" (symbol-name face))
+ (set-face-attribute face nil :weight 'normal))))
;; Adjust icon scale to prevent cutoff
(setq nerd-icons-scale-factor 1.0)
@@ -51,7 +51,7 @@
;; (setq doom-modeline-spc-face-overrides nil)
;; (setq doom-modeline-spc-face-overrides nil)
(setq doom-modeline-spc-face-overrides
- (list :family (face-attribute 'fixed-pitch :family)))
+ (list :family (face-attribute 'fixed-pitch :family)))
;; How to detect the project root.
;; nil means to use `default-directory'.
@@ -64,19 +64,19 @@
;; Determines the style used by `doom-modeline-buffer-file-name'.
;;
;; Given ~/Projects/FOSS/emacs/lisp/comint.el
-;; auto => emacs/l/comint.el (in a project) or comint.el
-;; truncate-upto-project => ~/P/F/emacs/lisp/comint.el
-;; truncate-from-project => ~/Projects/FOSS/emacs/l/comint.el
-;; truncate-with-project => emacs/l/comint.el
-;; truncate-except-project => ~/P/F/emacs/l/comint.el
-;; truncate-upto-root => ~/P/F/e/lisp/comint.el
-;; truncate-all => ~/P/F/e/l/comint.el
-;; truncate-nil => ~/Projects/FOSS/emacs/lisp/comint.el
-;; relative-from-project => emacs/lisp/comint.el
-;; relative-to-project => lisp/comint.el
-;; file-name => comint.el
-;; file-name-with-project => FOSS|comint.el
-;; buffer-name => comint.el<2> (uniquify buffer name)
+;; auto => emacs/l/comint.el (in a project) or comint.el
+;; truncate-upto-project => ~/P/F/emacs/lisp/comint.el
+;; truncate-from-project => ~/Projects/FOSS/emacs/l/comint.el
+;; truncate-with-project => emacs/l/comint.el
+;; truncate-except-project => ~/P/F/emacs/l/comint.el
+;; truncate-upto-root => ~/P/F/e/lisp/comint.el
+;; truncate-all => ~/P/F/e/l/comint.el
+;; truncate-nil => ~/Projects/FOSS/emacs/lisp/comint.el
+;; relative-from-project => emacs/lisp/comint.el
+;; relative-to-project => lisp/comint.el
+;; file-name => comint.el
+;; file-name-with-project => FOSS|comint.el
+;; buffer-name => comint.el<2> (uniquify buffer name)
;;
;; If you are experiencing the laggy issue, especially while editing remote files
;; with tramp, please try `file-name' style.
@@ -183,10 +183,10 @@
;; See `vc-state' for possible values of the state.
;; For states not explicitly listed, the `doom-modeline-vcs-default' face is used.
(setq doom-modeline-vcs-state-faces-alist
- '((needs-update . (doom-modeline-warning bold))
- (removed . (doom-modeline-urgent bold))
- (conflict . (doom-modeline-urgent bold))
- (unregistered . (doom-modeline-urgent bold))))
+ '((needs-update . (doom-modeline-warning bold))
+ (removed . (doom-modeline-urgent bold))
+ (conflict . (doom-modeline-urgent bold))
+ (unregistered . (doom-modeline-urgent bold))))
;; Whether display the icon of check segment. It respects option `doom-modeline-icon'.
(setq doom-modeline-check-icon t)
@@ -307,11 +307,11 @@
;; Only set evil state faces to normal, not the base doom-modeline face
(with-eval-after-load 'doom-modeline
(dolist (face '(doom-modeline-evil-emacs-state
- doom-modeline-evil-insert-state
- doom-modeline-evil-motion-state
- doom-modeline-evil-normal-state
- doom-modeline-evil-operator-state
- doom-modeline-evil-visual-state
- doom-modeline-evil-replace-state
- doom-modeline-evil-user-state))
- (set-face-attribute face nil :weight 'normal)))
+ doom-modeline-evil-insert-state
+ doom-modeline-evil-motion-state
+ doom-modeline-evil-normal-state
+ doom-modeline-evil-operator-state
+ doom-modeline-evil-visual-state
+ doom-modeline-evil-replace-state
+ doom-modeline-evil-user-state))
+ (set-face-attribute face nil :weight 'normal)))
diff --git a/config/treemacs.el b/config/treemacs.el
index 07ecb41..e6acc95 100644
--- a/config/treemacs.el
+++ b/config/treemacs.el
@@ -4,32 +4,43 @@
:defer t
:config
(setq treemacs-width 35
- treemacs-width-is-initially-locked nil ;; Allow resizing
- treemacs-width-increment 1 ;; Smooth resize
- treemacs-position 'left
- treemacs-show-hidden-files t
- ; treemacs-indentation 1 ;; Minimal indentation
- ; treemacs-indentation-string " " ;; Just space, no lines
+ treemacs-width-is-initially-locked nil ;; Allow resizing
+ treemacs-width-increment 1 ;; Smooth resize
+ treemacs-position 'left
+ treemacs-show-hidden-files t
+ ; treemacs-indentation 1 ;; Minimal indentation
+ ; treemacs-indentation-string " " ;; Just space, no lines
- ;; Disable mouse Features
- treemacs-move-files-by-mouse-dragging nil ;; NO DRAGGING FILES!
- treemacs-recenter-after-file-follow nil ;; Prevent mouse issues
- treemacs-silent-filewatch t ;; Reduce mouse events
- treemacs-show-cursor nil) ;; Hide cursor in treemacs
+ ;; Disable mouse Features
+ treemacs-move-files-by-mouse-dragging nil ;; NO DRAGGING FILES!
+ treemacs-recenter-after-file-follow nil ;; Prevent mouse issues
+ treemacs-silent-filewatch t ;; Reduce mouse events
+ treemacs-show-cursor nil) ;; Hide cursor in treemacs
;; Disable mouse in treemacs completely
:hook
(treemacs-mode . (lambda ()
- ;; Disable all mouse button bindings
- (define-key treemacs-mode-map [mouse-1] 'ignore)
- (define-key treemacs-mode-map [mouse-2] 'ignore)
- (define-key treemacs-mode-map [mouse-3] 'ignore)
- (define-key treemacs-mode-map [drag-mouse-1] 'ignore)
- (define-key treemacs-mode-map [down-mouse-1] 'ignore)
- (define-key treemacs-mode-map [double-mouse-1] 'ignore)
- (define-key treemacs-mode-map [triple-mouse-1] 'ignore)))
+ ;; Disable all mouse button bindings
+ (define-key treemacs-mode-map [mouse-1] 'ignore)
+ (define-key treemacs-mode-map [mouse-2] 'ignore)
+ (define-key treemacs-mode-map [mouse-3] 'ignore)
+ (define-key treemacs-mode-map [drag-mouse-1] 'ignore)
+ (define-key treemacs-mode-map [down-mouse-1] 'ignore)
+ (define-key treemacs-mode-map [double-mouse-1] 'ignore)
+ (define-key treemacs-mode-map [triple-mouse-1] 'ignore)))
:bind
- ("C-x t t" . treemacs))
+ (:map global-map
+ ("M-0" . treemacs-select-window)
+ ("C-x t 1" . treemacs-delete-other-windows)
+ ("C-x t t" . 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)))
+
+;; Evil keybindings for treemacs
+(use-package treemacs-evil
+ :after (treemacs evil))
;; Beautiful icons for treemacs using nerd-icons
(use-package treemacs-nerd-icons
@@ -42,5 +53,5 @@
;; Customize folder icon colors (for nerd-icons theme)
(with-eval-after-load 'treemacs-nerd-icons
(set-face-attribute 'treemacs-nerd-icons-file-face nil
- :foreground "#74c4c4"
- :inherit 'unspecified))
+ :foreground "#74c4c4"
+ :inherit 'unspecified))