;; -*- lexical-binding: t; -*- ;; turn tabs on, undo/redo mode (setq tab-bar-show 1) (tab-bar-history-mode) ;; remove useless gui elements (setopt tab-bar-format '(tab-bar-format-tabs) tab-bar-close-button-show nil) ;; bind tabs to 'Meta' like other applications (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)))) (setopt project-switch-commands '((project-find-file "Find file") (project-find-regexp "Find regexp") (project-find-dir "Find directory") (magit-project-status "Magit") (project-shell "Shell"))) (keymap-global-set "C-x p v" 'magit-project-status) (setq tab-bar-tab-name-function #'bd/tab-bar-name-function) (provide 'bd--tabs)