2025-12-20 15:13:13 +11:00
|
|
|
;; -*- lexical-binding: t; -*-
|
|
|
|
|
|
2025-12-21 12:57:53 +11:00
|
|
|
|
2026-03-14 11:42:48 +11:00
|
|
|
;; (use-package project)
|
|
|
|
|
(use-package projectile
|
2026-03-29 19:12:45 +11:00
|
|
|
:hook after-init
|
2026-03-14 11:42:48 +11:00
|
|
|
:config
|
|
|
|
|
;; Recommended keymap prefix on macOS
|
|
|
|
|
(define-key projectile-mode-map (kbd "s-p") 'projectile-command-map)
|
|
|
|
|
;; Recommended keymap prefix on Windows/Linux
|
|
|
|
|
(define-key projectile-mode-map (kbd "C-x p") 'projectile-command-map))
|
2026-01-30 03:52:15 +11:00
|
|
|
|
2026-03-22 20:26:17 +11:00
|
|
|
(use-package ibuffer-projectile
|
|
|
|
|
:config
|
|
|
|
|
(add-hook 'ibuffer-hook
|
2026-03-24 22:21:29 +11:00
|
|
|
(lambda ()
|
|
|
|
|
(ibuffer-projectile-set-filter-groups)
|
|
|
|
|
(unless (eq ibuffer-sorting-mode 'alphabetic)
|
|
|
|
|
(ibuffer-do-sort-by-alphabetic)))))
|
2026-03-22 20:26:17 +11:00
|
|
|
|
2026-03-29 19:12:45 +11:00
|
|
|
;; (use-package consult-projectile
|
|
|
|
|
;; :bind (([remap projectile-find-file] . consult-projectile-find-file)
|
|
|
|
|
;; ([remap projectile-recentf] . consult-projectile-recentf)
|
|
|
|
|
;; ([remap projectile-switch-project] . consult-projectile-switch-project)
|
|
|
|
|
;; ([remap projectile-switch-to-buffer] . consult-projectile-switch-to-buffer)
|
|
|
|
|
;; ([remap projectile-find-dir] . consult-projectile-find-dir)))
|
2026-03-22 20:26:17 +11:00
|
|
|
|
2026-03-11 21:08:31 +11:00
|
|
|
(global-set-key (kbd "C-x C-b") #'ibuffer)
|
|
|
|
|
|
2026-03-29 19:12:45 +11:00
|
|
|
(use-package beframe
|
|
|
|
|
:hook after-init
|
|
|
|
|
:bind ("C-x f" . other-frame-prefix)
|
2026-03-14 19:46:30 +11:00
|
|
|
:config
|
2026-03-29 19:12:45 +11:00
|
|
|
(define-key global-map (kbd "C-c b") #'beframe-prefix-map)
|
|
|
|
|
(setq beframe-functions-in-frames '(projectile-switch-project)
|
|
|
|
|
beframe-rename-function #'ignore
|
|
|
|
|
beframe-global-buffers '("*scratch*" "*Messages*" "*Backtrace*"))
|
|
|
|
|
(use-package embark
|
|
|
|
|
:defer
|
|
|
|
|
:config
|
|
|
|
|
(define-key embark-buffer-map (kbd "fu")
|
|
|
|
|
(defun my/beframe-unassume-buffer (buf)
|
|
|
|
|
(interactive "bUnassume: ")
|
|
|
|
|
(beframe--unassume
|
|
|
|
|
(list (get-buffer buf)))))
|
|
|
|
|
(define-key embark-buffer-map (kbd "fa")
|
|
|
|
|
(defun my/beframe-assume-buffer (buf)
|
|
|
|
|
(interactive "bAssume: ")
|
|
|
|
|
(beframe--assume
|
|
|
|
|
(list (get-buffer buf))))))
|
|
|
|
|
|
|
|
|
|
(with-eval-after-load 'consult
|
|
|
|
|
(defun consult-beframe-buffer-list (&optional frame)
|
|
|
|
|
"Return the list of buffers from `beframe-buffer-names' sorted by visibility.
|
|
|
|
|
With optional argument FRAME, return the list of buffers of FRAME."
|
|
|
|
|
(beframe-buffer-list frame :sort #'beframe-buffer-sort-visibility))
|
|
|
|
|
|
|
|
|
|
(setq consult-buffer-list-function #'consult-beframe-buffer-list)))
|
2026-03-14 19:46:30 +11:00
|
|
|
|
2025-12-20 15:13:13 +11:00
|
|
|
(provide 'init-workspace)
|