|
40 | 40 | :ensure nil |
41 | 41 | :config (winner-mode 1)) |
42 | 42 |
|
| 43 | +;; pragmata pro ui borders ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ |
| 44 | +(use-package window |
| 45 | + :ensure nil |
| 46 | + :init |
| 47 | + (defun my/setup-window-borders () |
| 48 | + "Setup window borders with Pragmata Pro box drawing characters." |
| 49 | + ;; Only set window border characters, don't touch global display table |
| 50 | + (set-face-attribute 'vertical-border nil :foreground "#404040" :background nil) |
| 51 | + (set-face-attribute 'window-divider nil :foreground "#404040" :background nil) |
| 52 | + (set-face-attribute 'window-divider-first-pixel nil :foreground "#404040" :background nil) |
| 53 | + (set-face-attribute 'window-divider-last-pixel nil :foreground "#404040" :background nil) |
| 54 | + (unless standard-display-table |
| 55 | + (setq standard-display-table (make-display-table))) |
| 56 | + (set-display-table-slot standard-display-table 'vertical-border (make-glyph-code ?\u2502))) |
| 57 | + :hook (after-init . my/setup-window-borders) |
| 58 | + :custom |
| 59 | + (window-divider-default-bottom-width 1) |
| 60 | + (window-divider-default-right-width 1) |
| 61 | + (window-divider-default-places 'right-only) |
| 62 | + (window-resize-pixelwise nil) |
| 63 | + (frame-resize-pixelwise nil) |
| 64 | + :config |
| 65 | + (window-divider-mode 1) |
| 66 | + (unless window-system |
| 67 | + (require 'mouse) |
| 68 | + (xterm-mouse-mode t) |
| 69 | + (global-set-key [mouse-4] 'scroll-down-line) |
| 70 | + (global-set-key [mouse-5] 'scroll-up-line)) |
| 71 | + |
| 72 | + ;; Better mouse wheel scrolling |
| 73 | + (setq mouse-wheel-scroll-amount '(1 ((shift) . 1))) |
| 74 | + (setq mouse-wheel-progressive-speed nil) |
| 75 | + (setq mouse-wheel-follow-mouse 't) |
| 76 | + |
| 77 | + ;; Enable track-mouse for better mouse support |
| 78 | + (setq track-mouse t)) |
| 79 | + |
43 | 80 | ;; ivy ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ |
44 | 81 | (use-package vertico |
45 | 82 | :ensure t |
|
63 | 100 | :ensure t |
64 | 101 | :custom |
65 | 102 | (marginalia-annotators '(marginalia-annotators-heavy marginalia-annotators-light nil)) |
| 103 | + (marginalia-separator " \u2502 ") |
66 | 104 | :init |
67 | 105 | (marginalia-mode)) |
68 | 106 |
|
|
78 | 116 | ("C-n" . corfu-next) |
79 | 117 | ("C-p" . corfu-previous)) |
80 | 118 | :custom |
| 119 | + (corfu-separator ?\u2502) |
81 | 120 | (corfu-auto t) |
82 | 121 | (corfu-auto-prefix 1) |
83 | 122 | (corfu-commit-predicate nil) |
|
90 | 129 | :bind (("C-x C-b" . consult-buffer) |
91 | 130 | ("C-s" . consult-line) |
92 | 131 | ("C-c C-r" . consult-ripgrep) |
| 132 | + ("C-c f" . consult-flymake) |
93 | 133 | ("M-g i" . consult-imenu) |
94 | 134 | ([remap switch-to-buffer] . consult-buffer)) |
95 | 135 | :config |
|
158 | 198 | :ensure t |
159 | 199 | :commands (dired-sidebar-toggle-sidebar) |
160 | 200 | :bind ("C-x C-n" . dired-sidebar-toggle-sidebar) |
161 | | - :custom (setq dired-sidebar-subtree-line-prefix "▁")) |
| 201 | + :custom |
| 202 | + (dired-sidebar-subtree-line-prefix "\u251c\u2500")) |
162 | 203 |
|
163 | 204 | ;; bindings ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ |
164 | 205 |
|
|
171 | 212 | (setq which-key-idle-delay 0 |
172 | 213 | which-key-sort-order 'which-key-prefix-then-key-order) |
173 | 214 | (which-key-add-key-based-replacements |
174 | | - "C-c f" "flycheck" |
| 215 | + "C-c f" "consult-flymake" |
175 | 216 | "C-c i" "unicode") |
| 217 | + (setq which-key-separator " \u2502 ") |
176 | 218 | (which-key-mode)) |
177 | 219 |
|
178 | 220 |
|
|
269 | 311 | (mark-paragraph -1)) |
270 | 312 | (call-interactively 'fancy-narrow-to-region)))) |
271 | 313 |
|
| 314 | +(use-package flyover |
| 315 | + :ensure t |
| 316 | + :diminish |
| 317 | + :after flymake |
| 318 | + :hook (flymake-mode . flyover-mode) |
| 319 | + :custom |
| 320 | + (flyover-checkers '(flymake)) |
| 321 | + (flyover-virtual-line-type 'line-no-arrow) |
| 322 | + (flyover-show-at-eol nil) |
| 323 | + (flyover-info-icon "") |
| 324 | + (flyover-warning-icon "") |
| 325 | + (flyover-error-icon "")) |
| 326 | + |
272 | 327 | (use-package eglot |
273 | 328 | :demand |
274 | 329 | :bind (("C-c C-l s" . eglot) |
|
327 | 382 | (use-package claude-code-ide |
328 | 383 | :ensure t |
329 | 384 | :after (:all transient envrc inheritenv vterm) |
330 | | - :bind ("C-c c" . claude-code-transient) |
| 385 | + :bind ("C-c c" . claude-code-ide-menu) |
331 | 386 | :config |
332 | | - (transient-define-prefix claude-code-transient () |
333 | | - "Claude Code IDE Commands" |
334 | | - :transient-suffix 'transient--do-stay |
335 | | - :transient-non-suffix 'transient--do-exit |
336 | | - [ |
337 | | - ["Session Management" |
338 | | - ("s" "Start Claude Code" claude-code-ide) |
339 | | - ("r" "Resume session" claude-code-ide-resume) |
340 | | - ("S" "Stop Claude Code" claude-code-ide-stop) |
341 | | - ("b" "Switch to buffer" claude-code-ide-switch-to-buffer) |
342 | | - ("l" "List sessions" claude-code-ide-list-sessions)] |
343 | | - |
344 | | - ["Interaction" |
345 | | - ("i" "Insert at mentioned" claude-code-ide-insert-at-mentioned) |
346 | | - ("e" "Send escape" claude-code-ide-send-escape) |
347 | | - ("n" "Insert newline" claude-code-ide-insert-newline)] |
348 | | - |
349 | | - ["Debug & Status" |
350 | | - ("c" "Check status" claude-code-ide-check-status) |
351 | | - ("d" "Show debug" claude-code-ide-show-debug) |
352 | | - ("D" "Clear debug" claude-code-ide-clear-debug)] |
353 | | - |
354 | | - ["Quit" |
355 | | - ("q" "Quit" transient-quit-one)]])) |
| 387 | + (claude-code-ide-emacs-tools-setup)) |
356 | 388 |
|
357 | 389 | (use-package transient |
358 | 390 | :demand |
|
472 | 504 | ;; .................................................................. restclient |
473 | 505 | (use-package restclient |
474 | 506 | :ensure t |
475 | | - :diminish (restclient-mode . " ") |
| 507 | + :diminish (restclient-mode . " ") |
476 | 508 | :mode (("\\.http\\'" . restclient-mode) |
477 | 509 | ("\\.rest\\'" . restclient-mode) |
478 | 510 | ("\\.restclient\\'" . restclient-mode))) |
|
487 | 519 | :ensure t |
488 | 520 | :mode (("\\.markdown\\'" . markdown-mode) |
489 | 521 | ("\\.md\\'" . markdown-mode)) |
490 | | - :diminish (markdown-mode . " ")) |
| 522 | + :diminish (markdown-mode . " ")) |
491 | 523 |
|
492 | 524 | ;; ;; ai ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ |
493 | 525 | ;; (use-package gptel |
|
680 | 712 |
|
681 | 713 | ;; terminal ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ |
682 | 714 | (use-package vterm |
| 715 | + :demand |
683 | 716 | :ensure t |
684 | 717 | :hook (vterm-mode . (lambda () |
685 | 718 | (setq-local global-hl-line-mode nil) |
686 | 719 | (setq-local line-spacing nil))) |
| 720 | + (add-hook 'vterm-mode-hook #'my/setup-window-borders) |
687 | 721 | :bind ("C-c C-d" . peel/vterm-cd) |
688 | 722 | :custom |
689 | 723 | (vterm-max-scrollback 100000) |
|
745 | 779 | ("M-+" . hs-show-all) |
746 | 780 | ("M--" . hs-hide-level))) |
747 | 781 |
|
| 782 | +(use-package ediff |
| 783 | + :ensure nil |
| 784 | + :init |
| 785 | + (defun peel/kill-ediff-buffers () |
| 786 | + (kill-buffer ediff-buffer-A) |
| 787 | + (kill-buffer ediff-buffer-B) |
| 788 | + (kill-buffer ediff-buffer-C)) |
| 789 | + (add-hook 'ediff-quit-hook 'peel/kill-ediff-buffers)) |
| 790 | + |
748 | 791 | ;; ui ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ |
749 | 792 | ;; ...................................................................... themes |
750 | 793 | (use-package emacs |
|
871 | 914 |
|
872 | 915 | (setq-default |
873 | 916 | mode-line-format |
| 917 | + ;; Enhanced mode line with box drawing |
874 | 918 | (list |
875 | | - '(:eval (propertize " %b " 'face 'font-lock-keyword-face)) ;; buffer |
| 919 | + '(:eval (propertize "\u2524 %b " 'face 'font-lock-keyword-face)) ;; buffer |
876 | 920 | '(:eval (propertize "%* " 'face 'font-lock-warning-face)) ;; ! ro | * mod | - clean |
877 | | - "%l:%c " |
| 921 | + "\u251c %l:%c \u2502 " |
878 | 922 | '(:eval (propertize "%m" 'face 'font-lock-comment-face)) ;; major |
| 923 | + " \u2502" |
879 | 924 | '(:eval (vc-status-mode-line)) |
880 | | - '(:eval (propertize (cl-reduce 'ww/diff-hl-reducer (diff-hl-changes) :initial-value '(0 0 0))) 'face 'font-lock-comment-face) |
881 | 925 | '(global-mode-string global-mode-string)))) |
882 | 926 |
|
883 | 927 | (setq backup-by-copying t |
|
0 commit comments