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…
	
	Add table
		Add a link
		
	
		Reference in a new issue