Removes obsolete emacs deps
No longer using these emacs deps. Preparing this repo to house a more up-to-date, robust config.
This commit is contained in:
parent
769b26c3ef
commit
56a7b9fa41
8 changed files with 0 additions and 557 deletions
|
@ -1,46 +0,0 @@
|
|||
#!/usr/bin/env zsh
|
||||
|
||||
# This file contains tooling that make terminal usage from within Emacs more enjoyable. Some of
|
||||
# these are conditionally defined functions that monkey patch CLI utils like vim and man and
|
||||
# dispatch to native Emacs utils that should function as analogous alternatives.
|
||||
|
||||
# While most of these conditional definitions could fall inside of one larger, if "${INSIDE_EMACS}"
|
||||
# block, to increase portability, smaller, redundant blocks are preferred.
|
||||
|
||||
|
||||
# Have zsh export variables for Emacs to track the cwd
|
||||
if [ -n "${INSIDE_EMACS}" ]; then
|
||||
chpwd() { print -P "\033AnSiTc %d" }
|
||||
print -P "\033AnSiTu %n"
|
||||
print -P "\033AnSiTc %d"
|
||||
fi
|
||||
|
||||
|
||||
# Custom emacs pager support
|
||||
if [ -n "${INSIDE_EMACS}" ]; then
|
||||
export PAGER="create-shell-pager.sh"
|
||||
fi
|
||||
|
||||
|
||||
# For git primarily. Edit commit messages, etc from ansi-term in Emacs
|
||||
if [ -n "${INSIDE_EMACS}" ]; then
|
||||
export EDITOR="edit-file-in-emacs.sh"
|
||||
fi
|
||||
|
||||
|
||||
# Muscle-memory dies hard. Calls to vim from an Emacs terminal attempt to open vim from inside of
|
||||
# Emacs. This is a really bad UX, and hard to exit from. Instead of retraining muscle-memory,
|
||||
# dispatch to Emacs' file editing when vim is called from an Emacs terminal.
|
||||
if [ -n "${INSIDE_EMACS}" ]; then
|
||||
function vim () {
|
||||
emacsclient -e "(find-file-other-window \"$1\")"
|
||||
}
|
||||
fi
|
||||
|
||||
|
||||
# Prefer Emac's built-in man util when called from an Emacs terminal
|
||||
if [ -n "${INSIDE_EMACS}" ]; then
|
||||
function man () {
|
||||
emacsclient -e "(man \"$1\")"
|
||||
}
|
||||
fi
|
|
@ -1,18 +0,0 @@
|
|||
#!/usr/bin/env zsh
|
||||
|
||||
SCRIPT_DIR="${HOME}/dotfiles/emacs"
|
||||
EMACS_FUNC_DIR="${HOME}/.emacs.d"
|
||||
|
||||
for source in $(find $SCRIPT_DIR -type f -name '*.el'); do
|
||||
filename=$(basename $source)
|
||||
target="${EMACS_FUNC_DIR}/${filename}"
|
||||
|
||||
if [ ! -L $target ]; then
|
||||
echo -n "Creating symlink for ${filename} ... " && \
|
||||
ln -s $source $EMACS_FUNC_DIR && \
|
||||
echo "Done."
|
||||
else
|
||||
echo "${filename} is already properly symlinked."
|
||||
fi
|
||||
|
||||
done
|
|
@ -1,11 +0,0 @@
|
|||
;; if in a project
|
||||
;; if ansi-term is an existing process for the current project
|
||||
;; ok
|
||||
;; create an ansi-term buffer for the current project
|
||||
;; if ansi-term is an open window
|
||||
;; if number of open windows == 1, visit MRU source code buffer
|
||||
;; if number of open windows > 1, (delete-window ansi-term-window)
|
||||
;; if ansi-term is not an open window
|
||||
;; open ansi-term other-window
|
||||
;; else
|
||||
;; (message "You are not currently in a project.")
|
|
@ -1,4 +0,0 @@
|
|||
(defun wc/dired-up-directory ()
|
||||
"Moves up a directory in `dired' killing the previous `dired' buffer."
|
||||
(interactive)
|
||||
(find-alternate-file ".."))
|
|
@ -1,46 +0,0 @@
|
|||
(defun make-xpm-bar (color height width)
|
||||
"Create an XPM bitmap of a bar."
|
||||
(propertize
|
||||
" " 'display
|
||||
(let ((data (make-list height (make-list width 1)))
|
||||
(color (or color "None")))
|
||||
(create-image
|
||||
(concat
|
||||
(format "/* XPM */\nstatic char * percent[] = {\n\"%i %i 2 1\",\n\". c %s\",\n\" c %s\","
|
||||
(length (car data))
|
||||
(length data)
|
||||
color
|
||||
color)
|
||||
(apply #'concat
|
||||
(cl-loop with idx = 0
|
||||
with len = (length data)
|
||||
for dl in data
|
||||
do (cl-incf idx)
|
||||
collect
|
||||
(concat "\""
|
||||
(cl-loop for d in dl
|
||||
if (= d 0) collect (string-to-char " ")
|
||||
else collect (string-to-char "."))
|
||||
(if (eq idx len) "\"};" "\",\n")))))
|
||||
'xpm t :ascent 'center))))
|
||||
|
||||
(defun my-tabbar-display-tab (tab)
|
||||
(let ((label (if tabbar--buffer-show-groups
|
||||
(format "[%s]" (tabbar-tab-tabset tab))
|
||||
(format "%s" (tabbar-tab-value tab))))
|
||||
(bar-color "#51afef")
|
||||
(bar-height 25)
|
||||
(bar-width 3)
|
||||
(selected-p (eq tab (tabbar-selected-tab (tabbar-current-tabset)))))
|
||||
(concat (when (and (display-graphic-p) selected-p)
|
||||
(make-xpm-bar bar-color bar-height bar-width))
|
||||
" "
|
||||
(if tabbar-auto-scroll-flag
|
||||
label
|
||||
(tabbar-shorten
|
||||
label (max 1 (/ (window-width)
|
||||
(length (tabbar-view
|
||||
(tabbar-current-tabset)))))))
|
||||
" ")))
|
||||
|
||||
(setq tabbar-tab-label-function #'my-tabbar-display-tab)
|
|
@ -1,78 +0,0 @@
|
|||
(defvar wc/helm-git-tracked-staged
|
||||
(helm-build-in-buffer-source "Tracked, Staged"
|
||||
:candidates (shell-command-to-string "git --no-pager diff --name-only --staged")
|
||||
:action 'wc/handle-branch))
|
||||
|
||||
|
||||
(defvar wc/helm-print-default-directory
|
||||
(helm-build-in-buffer-source "Tracked, Staged"
|
||||
:candidates (lambda () '((default-directory)))
|
||||
:action 'wc/handle-branch))
|
||||
|
||||
|
||||
(defvar wc/helm-git-tracked-unstaged
|
||||
(helm-build-in-buffer-source "Tracked, Unstaged"
|
||||
:candidates (shell-command-to-string "git --no-pager diff --name-only")
|
||||
:action 'wc/handle-branch))
|
||||
|
||||
|
||||
(defvar wc/helm-git-untracked-unstaged
|
||||
(helm-build-in-buffer-source "Untracked, Unstaged"
|
||||
:candidates (shell-command-to-string "git ls-files --others --exclude-standard")
|
||||
:action 'wc/handle-branch))
|
||||
|
||||
|
||||
(defun wc/helm-git-altered-files ()
|
||||
"View a categorized list of altered files within a project."
|
||||
(interactive)
|
||||
(helm :sources '(wc/helm-print-default-directory
|
||||
;; wc/helm-git-tracked-staged
|
||||
;; wc/helm-git-tracked-unstaged
|
||||
;; wc/helm-git-untracked-unstaged
|
||||
)
|
||||
:buffer "*helm git altered files*"))
|
||||
|
||||
|
||||
(defun wc/helm-git-branches ()
|
||||
"Reverse-I search using Helm."
|
||||
(interactive)
|
||||
(helm :sources (helm-build-in-buffer-source "test1"
|
||||
:data (wc/git-branches)
|
||||
:action 'wc/handle-branch)
|
||||
:buffer "*helm git branches*"))
|
||||
|
||||
|
||||
(defun wc/open-terminals ()
|
||||
"Lists active terminal buffers."
|
||||
(interactive)
|
||||
(helm :sources (helm-build-in-buffer-source "test1"
|
||||
:data (wc/list-project-terminals)
|
||||
:action 'switch-to-buffer)
|
||||
:buffer "*helm projectile terminals*"))
|
||||
|
||||
|
||||
(defun wc/helm-autojump ()
|
||||
"Helm interface to autojump."
|
||||
(interactive)
|
||||
(helm :sources (helm-build-in-buffer-source "test1"
|
||||
:data (wc/autojump-directories)
|
||||
:action (lambda (path) (wc/exec-cmd (format "cd %s" path))))
|
||||
:buffer "*helm git branches*"))
|
||||
|
||||
|
||||
(defun wc/helm-shell-history ()
|
||||
"Reverse-I search using Helm."
|
||||
(interactive)
|
||||
(helm :sources (helm-build-in-buffer-source "test1"
|
||||
:data (wc/shell-history)
|
||||
:action 'wc/exec-cmd)
|
||||
:buffer "*helm shell history*"))
|
||||
|
||||
|
||||
(defun wc/helm-ctrl-t-find-files ()
|
||||
"Fuzzily searches files within a directory."
|
||||
(interactive)
|
||||
(helm :sources (helm-build-in-buffer-source "test1"
|
||||
:data (shell-command-to-string "ag --hidden --ignore .git -l -g \"\"")
|
||||
:action 'term-send-raw-string)
|
||||
:buffer "*helm CTRL_T find files *"))
|
|
@ -1,347 +0,0 @@
|
|||
(require 'cl)
|
||||
|
||||
(defun wc/open-in-pager (file)
|
||||
"Opens a file in a simulated pager in emacs."
|
||||
(find-file file)
|
||||
(emacs-pager-mode))
|
||||
|
||||
|
||||
(defun wc/write-quit-kill-buffer ()
|
||||
"Writes, quits, kills a buffer."
|
||||
(interactive)
|
||||
(save-buffer)
|
||||
(kill-this-buffer))
|
||||
|
||||
|
||||
;; (defun wc/edit-file-in-emacs (file)
|
||||
;; "Edits a file in a buffer in Emacs. On :wq, the buffer is deleted and the previous term session restored."
|
||||
;; (find-file file)
|
||||
;; (quick-edit-file-mode))
|
||||
|
||||
|
||||
;; (defvar quick-edit-file-mode-map
|
||||
;; (let ((map (make-sparse-keymap)))
|
||||
;; (define-key map (kbd "q") 'wc/write-quit-kill-buffer)
|
||||
;; map)
|
||||
;; "Keymap for emacs quick-edit file mode.")
|
||||
|
||||
|
||||
;; (define-derived-mode quick-edit-file-mode fundamental-mode "QuickEdit"
|
||||
;; "Mode quickly editing files."
|
||||
;; (setq-local make-backup-files nil)
|
||||
;; (setq buffer-name "*quick-edit*"))
|
||||
|
||||
|
||||
;; (defun wc/quick-edit-evil-quit (old-fun &rest args)
|
||||
;; (if (eq major-mode 'quick-edit-file-mode)
|
||||
;; (wc/write-quit-kill-buffer)
|
||||
;; (apply old-fun args)))
|
||||
|
||||
|
||||
;; (defadvice evil-quit
|
||||
;; (around wc/quick-edit-quick activate)
|
||||
;; (wc/quick-edit-evil-quit))
|
||||
|
||||
|
||||
(defvar emacs-pager-mode-map
|
||||
(let ((map (make-sparse-keymap)))
|
||||
(define-key map (kbd "q") 'kill-this-buffer)
|
||||
map)
|
||||
"Keymap for emacs pager mode.")
|
||||
|
||||
|
||||
(defcustom emacs-pager-max-line-coloring 500
|
||||
"Maximum number of lines to ansi-color. If performance is bad when
|
||||
loading data, reduce this number"
|
||||
:group 'emacs-pager)
|
||||
|
||||
|
||||
(define-derived-mode emacs-pager-mode fundamental-mode "Pager"
|
||||
"Mode for viewing data paged by emacs-pager"
|
||||
(setq-local make-backup-files nil)
|
||||
(ansi-color-apply-on-region (goto-char (point-min))
|
||||
(save-excursion
|
||||
(forward-line emacs-pager-max-line-coloring)
|
||||
(point)))
|
||||
(setq buffer-name "*pager*")
|
||||
(set-buffer-modified-p nil)
|
||||
(read-only-mode)
|
||||
(evil-define-key 'normal emacs-pager-mode-map
|
||||
(kbd "q") 'kill-this-buffer
|
||||
(kbd "ESC") 'kill-this-buffer))
|
||||
|
||||
|
||||
(defun wc/projectile-shell-pop ()
|
||||
"Opens `ansi-term' at the project root according to Projectile."
|
||||
(interactive)
|
||||
(let* ((project-name (projectile-project-root))
|
||||
(default-directory project-name)
|
||||
(buffer-name (format "ansi-term <%s>" project-name)))
|
||||
(if (get-buffer buffer-name)
|
||||
(switch-to-buffer buffer-name)
|
||||
(ansi-term "/bin/zsh" buffer-name))))
|
||||
|
||||
|
||||
(defun wc/ansi-term-project-p (input)
|
||||
(string-match-p "*ansi-term <[^>]+>*" input))
|
||||
|
||||
|
||||
(defun wc/list-project-terminals ()
|
||||
"Returns a list of ansi-term buffers with associated projects."
|
||||
(interactive)
|
||||
(let ((buffer-names (mapcar 'buffer-name (buffer-list))))
|
||||
(remove-if-not #'wc/ansi-term-project-p buffer-names)))
|
||||
|
||||
|
||||
(defun wc/shell-history ()
|
||||
(setq history (shell-command-to-string "history"))
|
||||
(split-string history "\n"))
|
||||
|
||||
|
||||
(defun wc/git-branches ()
|
||||
(setq branches (shell-command-to-string "git branch -a | tr -d '* ' | sed 's/^remotes\\/origin\\///' | sort | uniq"))
|
||||
(split-string branches "\n"))
|
||||
|
||||
|
||||
(defun wc/autojump-directories ()
|
||||
(setq directories (shell-command-to-string "j -s | awk '{ if($2 ~ /^\\// && $1 != \"data:\") print;}' | sort -rn | head -n 100 | awk '{print $2}'"))
|
||||
(split-string directories "\n"))
|
||||
|
||||
|
||||
(defun wc/handle-branch (branch)
|
||||
(setq action "git diff")
|
||||
(term-send-raw-string (format "%s %s" action branch)))
|
||||
|
||||
|
||||
(defun wc/exec-cmd (cmd)
|
||||
(term-send-raw-string (format "%s\n" cmd)))
|
||||
|
||||
|
||||
(defun wc/join-erc ()
|
||||
"Boots `erc' and autojoins channels."
|
||||
(interactive)
|
||||
(erc :server "irc.freenode.net" :port "6667" :nick "wpcarro"))
|
||||
|
||||
|
||||
(defun wc/expose-global-binding-in-term (binding)
|
||||
(define-key term-raw-map binding
|
||||
(lookup-key (current-global-map) binding)))
|
||||
|
||||
|
||||
(defun wc/focus-term-at-bottom ()
|
||||
"Moves term to the bottom of the page on insert mode."
|
||||
(interactive)
|
||||
(end-of-buffer)
|
||||
(evil-insert-state)
|
||||
(term-send-raw-string "\b"))
|
||||
|
||||
|
||||
(defun wc/bootstrap-ansi-term ()
|
||||
"Custom `ansi-term' configuration."
|
||||
(interactive)
|
||||
(goto-address-mode t)
|
||||
(define-key term-raw-map (kbd "C-c") 'term-interrupt-subjob)
|
||||
(define-key term-raw-map (kbd "C-h") 'windmove-left)
|
||||
(define-key term-raw-map (kbd "C-l") 'windmove-right)
|
||||
(define-key term-raw-map (kbd "C-k") 'windmove-up)
|
||||
(define-key term-raw-map (kbd "C-j") 'windmove-down)
|
||||
(wc/expose-global-binding-in-term (kbd "M-x"))
|
||||
(evil-define-key 'normal term-raw-map
|
||||
(kbd "i") 'wc/focus-term-at-bottom)
|
||||
(define-key term-raw-map (kbd "C-r") 'wc/helm-shell-history)
|
||||
(define-key term-raw-map (kbd "C-t") 'wc/helm-ctrl-t-find-files)
|
||||
(define-key term-raw-map (kbd "M-:") 'eval-expression)
|
||||
(define-key term-raw-map (kbd "M-j") 'wc/helm-autojump)
|
||||
(define-key term-raw-map (kbd "s-v") 'term-paste))
|
||||
|
||||
|
||||
(defun wc/ansi-term-paste (&optional string)
|
||||
"Paste into `ansi-term'."
|
||||
(interactive)
|
||||
(process-send-string
|
||||
(get-buffer-process (current-buffer))
|
||||
(if string string (current-kill 0))))
|
||||
|
||||
|
||||
(defun evil-window-vsplit-right ()
|
||||
"Vertically split a window and move right."
|
||||
(interactive)
|
||||
(evil-window-vsplit nil)
|
||||
(evil-window-right 1))
|
||||
|
||||
|
||||
(defun evil-window-split-down ()
|
||||
"Split a window and move right."
|
||||
(interactive)
|
||||
(evil-window-split nil)
|
||||
(evil-window-down 1))
|
||||
|
||||
|
||||
(defun wc/switch-to-mru-buffer ()
|
||||
"Switches to the most recently used buffer, including visible buffers."
|
||||
(interactive)
|
||||
(setq current-buffer-name (buffer-name (current-buffer)))
|
||||
(setq buffer-candidates (remove-if #'(lambda (buffer) (string-match-p current-buffer-name (buffer-name buffer))) (buffer-list)))
|
||||
(wc/do-switch-to-mru-buffer buffer-candidates))
|
||||
|
||||
|
||||
(defun wc/do-switch-to-mru-buffer (buffer-candidates)
|
||||
(setq buffer-candidate (car buffer-candidates))
|
||||
(setq rest (cdr buffer-candidates))
|
||||
(if (string-match-p current-buffer-name (buffer-name buffer-candidate))
|
||||
(wc/do-switch-to--buffer rest)
|
||||
(if (eq 0 (list-length buffer-candidates))
|
||||
(message "No more buffer candidates.")
|
||||
(if (wc/file-buffer-p buffer-candidate)
|
||||
(switch-to-buffer buffer-candidate)
|
||||
(wc/do-switch-to-mru-buffer rest)))))
|
||||
|
||||
|
||||
(defun wc/file-buffer-p (buffer-candidate)
|
||||
"Returns t if the buffer argument is backed by a file and is therefore presumably a code buffer."
|
||||
(interactive)
|
||||
(let ((buff-name (buffer-name buffer-candidate))
|
||||
(buff-mode (wc/buffer-major-mode buffer-candidate)))
|
||||
(not (or (string-match-p "*" buff-name)
|
||||
(member buff-mode '(neotree-mode dired-mode))))))
|
||||
|
||||
|
||||
(defun wc/buffer-major-mode (buffer-handle)
|
||||
"Returns a buffer's active major-mode."
|
||||
(with-current-buffer buffer-handle major-mode))
|
||||
|
||||
|
||||
(defun *-popwin-help-mode-off ()
|
||||
"Turn `popwin-mode' off for *Help* buffers."
|
||||
(when (boundp 'popwin:special-display-config)
|
||||
(customize-set-variable 'popwin:special-display-config
|
||||
(delq 'help-mode popwin:special-display-config))))
|
||||
|
||||
|
||||
(defun *-popwin-help-mode-on ()
|
||||
"Turn `popwin-mode' on for *Help* buffers."
|
||||
(when (boundp 'popwin:special-display-config)
|
||||
(customize-set-variable 'popwin:special-display-config
|
||||
(add-to-list 'popwin:special-display-config 'help-mode nil #'eq))))
|
||||
|
||||
|
||||
(defun wc/custom-erlang-mode-hook ()
|
||||
"Jump to and from Elixir, Erlang, Elixir files."
|
||||
(define-key erlang-mode-map (kbd "M-,") 'alchemist-goto-jump-back))
|
||||
|
||||
|
||||
(defun helm-ag-neotree-node ()
|
||||
"Run Helm-ag on Neotree directory."
|
||||
(interactive)
|
||||
(let ((search-root (neo-buffer--get-filename-current-line)))
|
||||
(if search-root
|
||||
;; search directory
|
||||
(progn
|
||||
(evil-window-right 1)
|
||||
(helm-ag search-root))
|
||||
(message "Could not find directory at point."))))
|
||||
|
||||
|
||||
(defun neotree-toggle-project-dir ()
|
||||
"Toggle neotree sidebar."
|
||||
(interactive)
|
||||
(let ((project-dir (projectile-project-root))
|
||||
(file-name (buffer-file-name)))
|
||||
(neotree-toggle)
|
||||
(if project-dir
|
||||
(if (neo-global--window-exists-p)
|
||||
(progn
|
||||
(neotree-dir project-dir)
|
||||
(neotree-show)
|
||||
(evil-window-mru)))
|
||||
(message "Could not find git project root."))))
|
||||
|
||||
|
||||
(defun neotree-reveal-current-buffer ()
|
||||
"Reveal current buffer in Neotree."
|
||||
(interactive)
|
||||
(let ((project-dir (projectile-project-root))
|
||||
(file-name (buffer-file-name)))
|
||||
(neotree-show)
|
||||
(if project-dir
|
||||
(if (neo-global--window-exists-p)
|
||||
(progn
|
||||
(neotree-dir project-dir)
|
||||
(neotree-find file-name)
|
||||
(evil-window-mru)))
|
||||
(message "Could not find git project root."))))
|
||||
|
||||
|
||||
;; Upgrade all packages
|
||||
(defun package-upgrade-all ()
|
||||
"Upgrade all packages automatically without showing *Packages* buffer."
|
||||
(interactive)
|
||||
(package-refresh-contents)
|
||||
(let (upgrades)
|
||||
(cl-flet ((get-version (name where)
|
||||
(let ((pkg (cadr (assq name where))))
|
||||
(when pkg
|
||||
(package-desc-version pkg)))))
|
||||
(dolist (package (mapcar #'car package-alist))
|
||||
(let ((in-archive (get-version package package-archive-contents)))
|
||||
(when (and in-archive
|
||||
(version-list-< (get-version package package-alist)
|
||||
in-archive))
|
||||
(push (cadr (assq package package-archive-contents))
|
||||
upgrades)))))
|
||||
(if upgrades
|
||||
(when (yes-or-no-p
|
||||
(message "Upgrade %d package%s (%s)? "
|
||||
(length upgrades)
|
||||
(if (= (length upgrades) 1) "" "s")
|
||||
(mapconcat #'package-desc-full-name upgrades ", ")))
|
||||
(save-window-excursion
|
||||
(dolist (package-desc upgrades)
|
||||
(let ((old-package (cadr (assq (package-desc-name package-desc)
|
||||
package-alist))))
|
||||
(package-install package-desc)
|
||||
(package-delete old-package)))))
|
||||
(message "All packages are up to date"))))
|
||||
|
||||
|
||||
|
||||
(defun message-project-root ()
|
||||
"Outputs project-root."
|
||||
(interactive)
|
||||
(let (project-dir (projectile-project-root))
|
||||
(if project-dir
|
||||
(message "Project dir found!")
|
||||
(message "No project-dir found."))))
|
||||
|
||||
|
||||
|
||||
;; Upgrade all packages
|
||||
(defun package-upgrade-all ()
|
||||
"Upgrade all packages automatically without showing *Packages* buffer."
|
||||
(interactive)
|
||||
(package-refresh-contents)
|
||||
(let (upgrades)
|
||||
(cl-flet ((get-version (name where)
|
||||
(let ((pkg (cadr (assq name where))))
|
||||
(when pkg
|
||||
(package-desc-version pkg)))))
|
||||
(dolist (package (mapcar #'car package-alist))
|
||||
(let ((in-archive (get-version package package-archive-contents)))
|
||||
(when (and in-archive
|
||||
(version-list-< (get-version package package-alist)
|
||||
in-archive))
|
||||
(push (cadr (assq package package-archive-contents))
|
||||
upgrades)))))
|
||||
(if upgrades
|
||||
(when (yes-or-no-p
|
||||
(message "Upgrade %d package%s (%s)? "
|
||||
(length upgrades)
|
||||
(if (= (length upgrades) 1) "" "s")
|
||||
(mapconcat #'package-desc-full-name upgrades ", ")))
|
||||
(save-window-excursion
|
||||
(dolist (package-desc upgrades)
|
||||
(let ((old-package (cadr (assq (package-desc-name package-desc)
|
||||
package-alist))))
|
||||
(package-install package-desc)
|
||||
(package-delete old-package)))))
|
||||
(message "All packages are up to date"))))
|
|
@ -1,7 +0,0 @@
|
|||
;;; Code
|
||||
(defun wc/conditionally-activate-tabbar ()
|
||||
"Only activate tabbar-mode if the new major-mode is whitelisted."
|
||||
(setq tabbar-whitelist '(prog-mode))
|
||||
(if (memq major-mode tabbar-whitelist)
|
||||
(tabbar-local-mode 1)
|
||||
(tabbar-local-mode nil)))
|
Loading…
Reference in a new issue