diff --git a/contrib/floobits/README.md b/contrib/floobits/README.md new file mode 100644 index 000000000..7afee3d42 --- /dev/null +++ b/contrib/floobits/README.md @@ -0,0 +1,21 @@ +# Floobits integration layer for Spacemacs + +![floobits](img/floo.png) + +## Description + +This layer adds support for peer programming tool [floobits](https://github.com/Floobits/floobits-emacs). + +## + + Key Binding | Description +---------------------------|------------------------------------------------------------ +SPC P c | Clears all mirrored highlights. +SPC P d | Load the .floorc.json file for floobits configuration. +SPC P f | Follow a users changes. This also toggles follow mode. +SPC P j | Join an existing floobits workspace. +SPC P l | Leave the current workspace. +SPC P s | Summon everyone in the workspace to your cursor position. +SPC P t | Toggle following of recent changes. +SPC P R | Create a workspace and populate it with the contents of the directory, DIR (or make it). +SPC P U | Create a workspace and populate it with the contents of the directory, DIR (or make it). diff --git a/contrib/floobits/extensions.el b/contrib/floobits/extensions.el new file mode 100644 index 000000000..59fb7a89e --- /dev/null +++ b/contrib/floobits/extensions.el @@ -0,0 +1,33 @@ +;;; extensions.el --- floobits Layer extensions File for Spacemacs +;; +;; Copyright (c) 2012-2014 Sylvain Benner +;; Copyright (c) 2014-2015 Sylvain Benner & Contributors +;; +;; Author: Sylvain Benner +;; URL: https://github.com/syl20bnr/spacemacs +;; +;; This file is not part of GNU Emacs. +;; +;;; License: GPLv3 + +(defvar floobits-pre-extensions + '( + ;; pre extension floobitss go here + ) + "List of all extensions to load before the packages.") + +(defvar floobits-post-extensions + '( + ;; post extension floobitss go here + ) + "List of all extensions to load after the packages.") + +;; For each extension, define a function floobits/init- +;; +;; (defun floobits/init-my-extension () +;; "Initialize my extension" +;; ) +;; +;; Often the body of an initialize function uses `use-package' +;; For more info on `use-package', see readme: +;; https://github.com/jwiegley/use-package diff --git a/contrib/floobits/img/floo.png b/contrib/floobits/img/floo.png new file mode 100644 index 000000000..823455c04 Binary files /dev/null and b/contrib/floobits/img/floo.png differ diff --git a/contrib/floobits/packages.el b/contrib/floobits/packages.el new file mode 100644 index 000000000..e22e18f34 --- /dev/null +++ b/contrib/floobits/packages.el @@ -0,0 +1,44 @@ +;;; packages.el --- floobits Layer packages File for Spacemacs +;; +;; Copyright (c) 2012-2014 Sylvain Benner +;; Copyright (c) 2014-2015 Rodolfo Hansen & Contributors +;; +;; Author: Rodolfo Hansen +;; +;; This file is not part of GNU Emacs. +;; +;;; License: GPLv3 + +(defvar floobits-packages + '( + floobits + ) + "List of all packages to instal and/or initialize. Built-in packages +which require an initialization must be listed explicitly in the list.") + +(defun floobits/rclocation () + "Return the absolute path to the floobits dotfile." + (concat user-home-directory ".floorc.json")) + + +(defun floobits/load-rcfile () + "Load ~/.floobitsrc if it exists." + (let ((floobitsrc (floobits/rclocation))) + (if (file-exists-p floobitsrc) (load floobitsrc)))) + +(defun floobits/init-floobits () + (use-package floobits + :defer t + :init + (evil-leader/set-key + "Pc" 'floobits-clear-highlights + "Pd" 'floobits/load-rcfile + "Pf" 'floobits-follow-user + "Pj" 'floobits-join-workspace + "Pl" 'floobits-leave-workspace + "Ps" 'floobits-summon + "Pt" 'floobits-follow-mode-toggle + "PR" 'floobits-share-dir-private + "PU" 'floobits-share-dir-public) + ) + )