Major update + cleanup
This commit is contained in:
parent
51589eb7a1
commit
bea393083c
29 changed files with 388 additions and 358 deletions
|
@ -2,6 +2,8 @@
|
|||
:config
|
||||
(progn
|
||||
(setq wg-session-file "~/.emacs.d/workgroups/.default")
|
||||
(setq wg-workgroup-directory "~/.emacs.d/workgroups/")
|
||||
(setq wg-first-wg-name "main")
|
||||
|
||||
(setq wg-session-load-on-start t)
|
||||
|
||||
|
@ -9,40 +11,42 @@
|
|||
(setq wg-emacs-exit-save-behavior 'save) ; Options: 'save 'ask nil
|
||||
(setq wg-workgroups-mode-exit-save-behavior 'save) ; Options: 'save 'ask nil
|
||||
|
||||
(setq wg-mode-line-display-on nil) ; Default: (not (featurep 'powerline))
|
||||
(setq wg-flag-modified t) ; Display modified flags as well
|
||||
(setq wg-mode-line-decor-left-brace "["
|
||||
wg-mode-line-decor-right-brace "]" ; how to surround it
|
||||
wg-mode-line-decor-divider ":")
|
||||
(setq wg-mode-line-only-name t)
|
||||
|
||||
(evil-define-command my:save-session (&optional bang session-name)
|
||||
(interactive "<!><a>")
|
||||
(if session-name
|
||||
(wg-save-session-as (concat (file-name-directory wg-session-file) session-name) (not bang))
|
||||
(wg-save-session-as (concat wg-workgroup-directory session-name) (not bang))
|
||||
(wg-save-session)))
|
||||
|
||||
(evil-define-command my:load-session (&optional bang session-name)
|
||||
(interactive "<!><a>")
|
||||
(wg-open-session (if session-name
|
||||
(concat (file-name-directory wg-session-file) session-name)
|
||||
(concat wg-workgroup-directory session-name)
|
||||
wg-session-file)))
|
||||
|
||||
(evil-define-command my:new-workgroup (bang name)
|
||||
(interactive "<!><a>")
|
||||
(unless name
|
||||
(user-error "No name specified for new workgroup"))
|
||||
(if bang
|
||||
(wg-clone-workgroup (wg-current-workgroup) name)
|
||||
(wg-create-workgroup name t)))
|
||||
|
||||
(evil-define-command my:rename-workgroup (new-name)
|
||||
(interactive "<a>")
|
||||
(wg-rename-workgroup new-name))
|
||||
|
||||
(evil-ex-define-cmd "l[oad]" 'my:load-session)
|
||||
(evil-ex-define-cmd "s[ave]" 'my:save-session)
|
||||
(evil-ex-define-cmd "wn[ext]" 'wg-switch-to-workgroup-right)
|
||||
(evil-ex-define-cmd "wp[rev]" 'wg-switch-to-workgroup-left)
|
||||
(evil-ex-define-cmd "wre[name]" 'my:rename-workgroup)
|
||||
(evil-ex-define-cmd "k[ill]w" 'wg-kill-workgroup-and-buffers)
|
||||
(evil-ex-define-cmd "k[ill]ow" (λ
|
||||
(let (workgroup (wg-get-workgroup))
|
||||
(dolist (w (wg-workgroup-list-or-error))
|
||||
(unless (eq w workgroup)
|
||||
(wg-kill-workgroup-and-buffers w))))))
|
||||
(after "helm"
|
||||
(defun my-wg-switch-to-workgroup (name)
|
||||
(wg-switch-to-workgroup (wg-get-workgroup name)))
|
||||
|
||||
(defun helm-wg ()
|
||||
(interactive)
|
||||
(helm :sources '(helm-source-wg)))
|
||||
|
||||
(defvar helm-source-wg
|
||||
'((name . "Workgroups")
|
||||
(candidates . wg-workgroup-names)
|
||||
(action . my-wg-switch-to-workgroup))))
|
||||
|
||||
;; Turns projectile switch-project interface (or helm's interface to it)
|
||||
;; create a new workgroup for the new project.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue