wg: refactor session fns

This commit is contained in:
Henrik Lissner 2016-04-12 15:56:04 -04:00
parent 58c02f255f
commit c20b947f3c
2 changed files with 36 additions and 23 deletions

View File

@ -2,25 +2,32 @@
;;;###autoload
(defun narf/wg-projectile-switch-project ()
(let ((workgroup-name (file-name-nondirectory (directory-file-name (narf/project-root)))))
(wg-create-workgroup workgroup-name t)
(helm-projectile-find-file)))
(narf:workgroup-new nil (file-name-nondirectory (directory-file-name (narf/project-root))) t))
;;;###autoload (autoload 'narf:save-session "defuns-workgroup" nil t)
(evil-define-command narf:save-session (&optional session-name)
(interactive "<a>")
(evil-define-command narf:save-session (&optional bang session-name)
(interactive "<!><a>")
(unless (wg-workgroup-list)
(wg-create-workgroup wg-first-wg-name))
(wg-save-session-as (if session-name
(concat wg-workgroup-directory session-name)
wg-session-file)))
(if bang
(concat wg-workgroup-directory (f-filename (narf/project-root)))
wg-session-file))))
;;;###autoload (autoload 'narf:load-session "defuns-workgroup" nil t)
(evil-define-command narf:load-session (&optional session-name)
(interactive "<a>")
(wg-open-session (if session-name
(concat wg-workgroup-directory session-name)
wg-session-file))
(evil-define-command narf:load-session (&optional bang session-name)
(interactive "<!><a>")
(let ((session-file (if session-name
(concat wg-workgroup-directory session-name)
(let ((sess (concat wg-workgroup-directory (f-filename (narf/project-root)))))
(if bang
(when (file-exists-p sess)
sess)
wg-session-file)))))
(unless session-file
(user-error "No session found"))
(wg-open-session session-file))
(narf/workgroup-display t))
;;;###autoload
@ -37,8 +44,9 @@
(setq name (format "#%s" (1+ (length (wg-workgroup-list))))))
(let ((new-wg (wg-get-workgroup name t)))
(when (and new-wg bang)
(wg-delete-workgroup new-wg))
(setq new-wg (wg-make-and-add-workgroup name t))
(wg-delete-workgroup new-wg)
(setq new-wg nil))
(setq new-wg (or new-wg (wg-make-and-add-workgroup name t)))
(add-to-list 'narf-wg-names (wg-workgroup-uid new-wg))
(wg-switch-to-workgroup new-wg))
(unless silent

View File

@ -2,16 +2,6 @@
(use-package applescript-mode :mode "\\.applescript$")
;; TODO Set up emacs task runners for fruitstrap
(use-package swift-mode
:mode "\\.swift$"
:init (add-hook 'swift-mode-hook 'flycheck-mode)
:config
(after! flycheck (push 'swift flycheck-checkers))
(require 'company-sourcekit)
(define-company-backend! swift-mode (sourcekit yasnippet)))
;;
;; LaunchBar: https://www.obdev.at/products/launchbar
@ -30,5 +20,20 @@
(let ((dir (f-traverse-upwards (lambda (f) (string-suffix-p ".lbaction" f)))))
(shell-command (format "open '%s'" dir))))
;;
;; Swift
;;
;; TODO Set up emacs task runners for fruitstrap
(use-package swift-mode
:mode "\\.swift$"
:init (add-hook 'swift-mode-hook 'flycheck-mode)
:config
(after! flycheck (push 'swift flycheck-checkers))
(require 'company-sourcekit)
(define-company-backend! swift-mode (sourcekit yasnippet)))
(provide 'module-apple)
;;; module-apple.el ends here