wg: refactor session fns
This commit is contained in:
parent
58c02f255f
commit
c20b947f3c
2 changed files with 36 additions and 23 deletions
|
@ -2,25 +2,32 @@
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defun narf/wg-projectile-switch-project ()
|
(defun narf/wg-projectile-switch-project ()
|
||||||
(let ((workgroup-name (file-name-nondirectory (directory-file-name (narf/project-root)))))
|
(narf:workgroup-new nil (file-name-nondirectory (directory-file-name (narf/project-root))) t))
|
||||||
(wg-create-workgroup workgroup-name t)
|
|
||||||
(helm-projectile-find-file)))
|
|
||||||
|
|
||||||
;;;###autoload (autoload 'narf:save-session "defuns-workgroup" nil t)
|
;;;###autoload (autoload 'narf:save-session "defuns-workgroup" nil t)
|
||||||
(evil-define-command narf:save-session (&optional session-name)
|
(evil-define-command narf:save-session (&optional bang session-name)
|
||||||
(interactive "<a>")
|
(interactive "<!><a>")
|
||||||
(unless (wg-workgroup-list)
|
(unless (wg-workgroup-list)
|
||||||
(wg-create-workgroup wg-first-wg-name))
|
(wg-create-workgroup wg-first-wg-name))
|
||||||
(wg-save-session-as (if session-name
|
(wg-save-session-as (if session-name
|
||||||
(concat wg-workgroup-directory 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)
|
;;;###autoload (autoload 'narf:load-session "defuns-workgroup" nil t)
|
||||||
(evil-define-command narf:load-session (&optional session-name)
|
(evil-define-command narf:load-session (&optional bang session-name)
|
||||||
(interactive "<a>")
|
(interactive "<!><a>")
|
||||||
(wg-open-session (if session-name
|
(let ((session-file (if session-name
|
||||||
(concat wg-workgroup-directory session-name)
|
(concat wg-workgroup-directory session-name)
|
||||||
wg-session-file))
|
(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))
|
(narf/workgroup-display t))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
|
@ -37,8 +44,9 @@
|
||||||
(setq name (format "#%s" (1+ (length (wg-workgroup-list))))))
|
(setq name (format "#%s" (1+ (length (wg-workgroup-list))))))
|
||||||
(let ((new-wg (wg-get-workgroup name t)))
|
(let ((new-wg (wg-get-workgroup name t)))
|
||||||
(when (and new-wg bang)
|
(when (and new-wg bang)
|
||||||
(wg-delete-workgroup new-wg))
|
(wg-delete-workgroup new-wg)
|
||||||
(setq new-wg (wg-make-and-add-workgroup name t))
|
(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))
|
(add-to-list 'narf-wg-names (wg-workgroup-uid new-wg))
|
||||||
(wg-switch-to-workgroup new-wg))
|
(wg-switch-to-workgroup new-wg))
|
||||||
(unless silent
|
(unless silent
|
||||||
|
|
|
@ -2,16 +2,6 @@
|
||||||
|
|
||||||
(use-package applescript-mode :mode "\\.applescript$")
|
(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
|
;; LaunchBar: https://www.obdev.at/products/launchbar
|
||||||
|
@ -30,5 +20,20 @@
|
||||||
(let ((dir (f-traverse-upwards (lambda (f) (string-suffix-p ".lbaction" f)))))
|
(let ((dir (f-traverse-upwards (lambda (f) (string-suffix-p ".lbaction" f)))))
|
||||||
(shell-command (format "open '%s'" dir))))
|
(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)
|
(provide 'module-apple)
|
||||||
;;; module-apple.el ends here
|
;;; module-apple.el ends here
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue