summaryrefslogtreecommitdiff
path: root/.config/emacs/modules/bd--tabs.el
blob: e9c9ac3ec113d7c6276e58f68e4d2a5a548f7e7a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
;; -*- lexical-binding: t; -*-


;; turn tabs on, undo/redo mode
(setq tab-bar-show 1)
(tab-bar-history-mode)


;; bind tabs to 'Meta' like a browser
(mapcar (lambda (i)
          (keymap-global-set (format "M-%d" i)
                             (lambda ()
                               (interactive)
                               (tab-bar-select-tab i))))
        (number-sequence 0 9))


;; use project name if it exists
(defun bd/tab-bar-name-function ()
  (let ((project (project-current)))
    (if project
        (car (last
              (file-name-split
               (directory-file-name
                (project-root project)))))
      (tab-bar-tab-name-current))))

(setq tab-bar-tab-name-function #'bd/tab-bar-name-function)


(provide 'bd--tabs)