diff --git a/emacs/.emacs b/emacs/.emacs
index 5f7ae96..36ec161 100644
--- a/emacs/.emacs
+++ b/emacs/.emacs
@@ -1,181 +1,8 @@
-;;; package --- summary
-;; auctex -- installed -- Integrated environment for *TeX*
-;; dummyparens -- installed -- paranthesis auto-pairing and wrapping
-;; elpy -- installed -- Emacs Python Development Environment
-;; flycheck -- installed -- On-the-fly syntax checking
-;; forest-blue-theme -- installed -- Emacs theme with a dark background
-;; google-this -- installed -- A set of functions and bindings to google under point
-;; nyan-mode -- installed -- Nyan Cat shows position in current buffer in mode-line.
-;; rainbow-mode -- installed -- Colorize color names in buffers
-;; company -- dependency -- Modular text completion framework
-;; dash -- dependency -- A modern list library for Emacs
-;; epl -- dependency -- Emacs Package Library
-;; find-file-in-project -- dependency -- Find file/directory for review Diff/Patch/Commit efficiently everywhere
-;; highlight-indentation -- dependency -- Minor modes for highlight indentation
-;; ivy -- dependency -- Incremental Vertical completYon
-;; pkg-info -- dependency -- Information about packages
-;; popup -- dependency -- Visual Popup User Interface
-;; pyvenv -- dependency -- Python virtual environment interface
-;; s -- dependency -- The long lost Emacs string manipulation library.
-;; yasnippet -- dependency -- Yet another snippet extension for Emacs.
-
-;;; Code:
-(package-initialize)
-
-;; Package Repos
-(when (>= emacs-major-version 24)
- (require 'package)
- (add-to-list
- 'package-archives
- ; '("melpa" . "http://stable.melpa.org/packages/") ; many packages won't show if using stable
- '("melpa" . "http://melpa.milkbox.net/packages/")
- '("elpy" . "http://jorgenschaefer.github.io/packages/")
- )
- )
-;; Global functions
-
-; Copy and Paste
-; https://github.com/Boruch-Baum
-(defun my-copy-to-xclipboard(arg)
- (interactive "P")
- (cond
- ((not (use-region-p))
- (message "Nothing to yank to X-clipboard"))
- ((and (not (display-graphic-p))
- (/= 0 (shell-command-on-region
- (region-beginning) (region-end) "xsel -i -b")))
- (error "Is program `xsel' installed?"))
- (t
- (when (display-graphic-p)
- (call-interactively 'clipboard-kill-ring-save))
- (message "Yanked region to X-clipboard")
- (when arg
- (kill-region (region-beginning) (region-end)))
- (deactivate-mark))))
-
-(defun my-cut-to-xclipboard()
- (interactive)
- (my-copy-to-xclipboard t))
-
-(defun my-paste-from-xclipboard()
- "Uses shell command `xsel -o' to paste from x-clipboard. With
- one prefix arg, pastes from X-PRIMARY, and with two prefix args,
- pastes from X-SECONDARY."
- (interactive)
- (if (display-graphic-p)
- (clipboard-yank)
- (let*
- ((opt (prefix-numeric-value current-prefix-arg))
- (opt (cond
- ((= 1 opt) "b")
- ((= 4 opt) "p")
- ((= 16 opt) "s"))))
- (insert (shell-command-to-string (concat "xsel -o -" opt))))))
-
-;; Theme
-(custom-set-variables
- ;; custom-set-variables was added by Custom.
- ;; If you edit it by hand, you could mess it up, so be careful.
- ;; Your init file should contain only one such instance.
- ;; If there is more than one, they won't work right.
- '(custom-safe-themes
- (quote
- ("66881e95c0eda61d34aa7f08ebacf03319d37fe202d68ecf6a1dbfd49d664bc3" default)))
- '(dp-pairs
- (quote
- (("(" ")" nil)
- ("[" "]" nil)
- ("{" "}" dp-brace-post-handler))))
- '(elpy-dedicated-shells t)
- '(elpy-shell-display-buffer-after-send t)
- '(global-font-lock-mode t)
- '(package-selected-packages
- (quote
- (auto-complete nyan-mode google-this dummyparens flycheck rainbow-mode elpy auctex forest-blue-theme))))
-(custom-set-faces
- ;; custom-set-faces was added by Custom.
- ;; If you edit it by hand, you could mess it up, so be careful.
- ;; Your init file should contain only one such instance.
- ;; If there is more than one, they won't work right.
- '(font-latex-bold-face ((t (:foreground "brightcyan"))))
- '(font-latex-sedate-face ((t (:foreground "brightcyan"))))
- '(font-lock-comment-face ((t (:foreground "color-142"))))
- '(font-lock-doc-face ((t (:foreground "color-83"))))
- '(font-lock-keyword-face ((t (:foreground "brightcyan" :weight bold))))
- '(font-lock-type-face ((t (:foreground "green"))))
- '(highlight-indentation-face ((t (:background "green")))))
-
-
-;; Functions:
-; Load Theme
-(load-theme 'forest-blue t)
-
-; Python
-(elpy-enable)
-(defalias 'workon 'pyvenv-workon)
-(workon "~/.virtualenv/default")
-
-(defun pyexec ()
- "Execute the python program in an external terminal."
- (interactive)
- (when buffer-file-name
- (shell-command (concat "termite --hold -e \"python " buffer-file-name "\""))
- )
- )
-
-; C++
-(defun cppexec ()
- "Execute the cpp program in an external terminal."
- (interactive)
- (when buffer-file-name
- (shell-command (concat "termite -e \"g++ " buffer-file-name "\""))
- (shell-command (concat "termite --hold -e \"./a.out\""))
- )
- )
-
-; LaTeX
-(require 'tex)
-(setq TeX-auto-save t)
-(setq TeX-parse-self t)
-(setq-default TeX-master nil)
-
-(fset 'next-section
- (lambda (&optional arg) "Next section." (interactive "p") (kmacro-exec-ring-item (quote ("\\sec
" 0 "%d")) arg)))
-(fset 'prev-section
- (lambda (&optional arg) "Previous section" (interactive "p") (kmacro-exec-ring-item (quote ("\\sec
" 0 "%d")) arg)))
-
-; Yasnippet
-(setq yas-snippet-dirs
- '("~/.emacs.d/snippets" ;; personal snippets/copied ones
- )
- )
-
-;; Modes
-(show-paren-mode 1)
-(menu-bar-mode -1)
-(google-this-mode 1)
-(nyan-mode 1)
-(TeX-global-PDF-mode t)
-(yas-global-mode t)
-(global-dummyparens-mode)
-(add-hook 'after-init-hook #'global-flycheck-mode)
-
-;; Custom Keybinds
-(global-set-key (kbd "C-c C-w") 'my-cut-to-xclipboard)
-(global-set-key (kbd "C-c M-w") 'my-copy-to-xclipboard)
-(global-set-key (kbd "C-c M-y") 'my-paste-from-xclipboard)
-(global-set-key (kbd "C-x g") 'google-this-mode-submap)
-(eval-after-load 'latex
- '(define-key LaTeX-mode-map (kbd "C-c n") 'next-section))
-(eval-after-load 'latex
- '(define-key LaTeX-mode-map (kbd "C-c p") 'prev-section))
-(eval-after-load 'cc-mode
- '(define-key c++-mode-map (kbd "C-c C-c") 'cppexec))
-(eval-after-load 'elpy
- '(define-key elpy-mode-map (kbd "C-c C-c") 'pyexec)
- )
-
-;;; Commentary:
-
-(provide '.emacs)
-;;; .emacs ends here
+;;; .emacs --- My personal emacs file
+
+;;; Commentary:
+
+;;; Code:
+
+(provide 'emacs)
+;;; .emacs ends here
diff --git a/emacs/.emacs.d/.gitignore b/emacs/.emacs.d/.gitignore
new file mode 100644
index 0000000..ee058f6
--- /dev/null
+++ b/emacs/.emacs.d/.gitignore
@@ -0,0 +1,26 @@
+*~
+*.elc
+auto-save-list
+recentf
+savehist
+saveplace
+eshell
+elpa
+el-get
+semanticdb
+url
+ede-projects.el
+.DS_Store
+custom.el
+places
+.smex-items
+savefile/
+/prelude-modules.el
+projectile-bookmarks.eld
+session*
+.cask
+tramp
+/var/pcache
+.emacs.desktop
+.emacs.desktop.lock
+network-security.data
diff --git a/emacs/.emacs.d/.projectile b/emacs/.emacs.d/.projectile
new file mode 100644
index 0000000..f47cd73
--- /dev/null
+++ b/emacs/.emacs.d/.projectile
@@ -0,0 +1,3 @@
+/elpa
+/savefile
+/.cask
\ No newline at end of file
diff --git a/emacs/.emacs.d/CONTRIBUTING.md b/emacs/.emacs.d/CONTRIBUTING.md
new file mode 100644
index 0000000..695df55
--- /dev/null
+++ b/emacs/.emacs.d/CONTRIBUTING.md
@@ -0,0 +1,31 @@
+# Contributing
+
+If you discover issues, have ideas for improvements or new features, or
+want to contribute a new module, please report them to the
+[issue tracker][1] of the repository or submit a pull request. Please,
+try to follow these guidelines when you do so.
+
+## Issue reporting
+
+* Check that the issue has not already been reported.
+* Check that the issue has not already been fixed in the latest code
+ (a.k.a. `master`).
+* Be clear, concise and precise in your description of the problem.
+* Open an issue with a descriptive title and a summary in grammatically correct,
+ complete sentences.
+* Include any relevant code to the issue summary.
+
+## Pull requests
+
+* Read [how to properly contribute to open source projects on Github][2].
+* Use a topic branch to easily amend a pull request later, if necessary.
+* Write [good commit messages][3].
+* Use the same coding conventions as the rest of the project.
+* Verify your Emacs Lisp code with `checkdoc` (C-c ? d).
+* Open a [pull request][4] that relates to *only* one subject with a clear title
+ and description in grammatically correct, complete sentences.
+
+[1]: https://github.com/bbatsov/prelude/issues
+[2]: http://gun.io/blog/how-to-github-fork-branch-and-pull-request
+[3]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
+[4]: https://help.github.com/articles/using-pull-requests
diff --git a/emacs/.emacs.d/README.md b/emacs/.emacs.d/README.md
new file mode 100644
index 0000000..dca7b31
--- /dev/null
+++ b/emacs/.emacs.d/README.md
@@ -0,0 +1,730 @@
+[![License GPL 3][badge-license]](http://www.gnu.org/licenses/gpl-3.0.txt)
+[![Liberapay](https://liberapay.com/assets/widgets/donate.svg)](https://liberapay.com/bbatsov/donate)
+[![Patreon](https://img.shields.io/badge/patreon-donate-orange.svg)](https://www.patreon.com/bbatsov)
+
+Emacs Prelude
+=============
+
+[![Join the chat at https://gitter.im/bbatsov/prelude](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/bbatsov/prelude?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
+
+Prelude is an Emacs distribution that aims to enhance the default
+Emacs experience. Prelude alters a lot of the default settings,
+bundles a plethora of additional packages and adds its own core
+library to the mix. The final product offers an easy to use Emacs
+configuration for Emacs newcomers and lots of additional power for
+Emacs power users.
+
+Prelude is compatible **ONLY with GNU Emacs 24.4+**. In general you're
+advised to always run Prelude with the latest Emacs - currently
+**25.2**.
+
+You can support the development of Prelude via
+[Salt](https://bountysource.com/teams/prelude),
+[Patreon](https://www.patreon.com/bbatsov) and
+[Liberapay](https://liberapay.com/bbatsov/donate).
+
+[![Liberapay](https://liberapay.com/assets/widgets/donate.svg)](https://liberapay.com/bbatsov/donate)
+[![Patreon](https://img.shields.io/badge/patreon-donate-orange.svg)](https://www.patreon.com/bbatsov)
+
+**Table of Contents**
+
+- [Fast Forward](#fast-forward)
+- [Installing Emacs](#installing-emacs)
+- [Installation](#installation)
+ - [Automated](#automated)
+ - [Via Curl](#via-curl)
+ - [Via Wget](#via-wget)
+ - [Manual](#manual)
+- [Updating Prelude](#updating-prelude)
+ - [Manual update](#manual-update)
+ - [Update all bundled packages](#update-all-bundled-packages)
+ - [Update Prelude's code](#update-preludes-code)
+ - [Restart Prelude](#restart-prelude)
+ - [Automatic update](#automatic-update)
+- [Enabling additional modules](#enabling-additional-modules)
+- [Running](#running)
+- [Getting to know Prelude](#getting-to-know-prelude)
+ - [Keymap](#keymap)
+ - [Global](#global)
+ - [Prelude Mode](#prelude-mode)
+ - [macOS modifier keys](#macos-modifier-keys)
+ - [Projectile](#projectile)
+ - [Helm](#helm)
+ - [Key-chords](#key-chords)
+ - [Disabling key-chords](#disabling-key-chords)
+- [Automatic package installation](#automatic-package-installation)
+ - [Color Themes](#color-themes)
+ - [Personalizing](#personalizing)
+ - [Disabling whitespace-mode](#disabling-whitespace-mode)
+ - [Disable flyspell-mode](#disable-flyspell-mode)
+- [Caveats & Pitfalls](#caveats--pitfalls)
+ - [Updating bundled packages](#updating-bundled-packages)
+ - [Problems with flyspell-mode](#problems-with-flyspell-mode)
+ - [Ugly colors in the terminal Emacs version](#ugly-colors-in-the-terminal-emacs-version)
+ - [MELPA error on initial startup](#melpa-error-on-initial-startup)
+ - [Warnings on arrow navigation in editor buffers](#warnings-on-arrow-navigation-in-editor-buffers)
+ - [Customized C-a behavior](#customized-c-a-behavior)
+ - [Poor ido matching performance on large datasets](#poor-ido-matching-performance-on-large-datasets)
+ - [Windows compatibility](#windows-compatibility)
+- [Known issues](#known-issues)
+- [Support](#support)
+- [Contributors](#contributors)
+- [Bugs & Improvements](#bugs--improvements)
+
+## Fast Forward
+
+Assuming you're using an Unix-like OS (`*BSD`, `GNU/Linux`, `macOS`, `Solaris`,
+etc), you already have Emacs 24.4+ installed, as well as `git` & `curl` you
+can skip the whole manual and just type in your favorite shell the
+following command:
+
+```bash
+curl -L https://git.io/epre | sh
+```
+
+You can now power up your Emacs, sit back and enjoy Prelude,
+forgetting about the rest of this manual.
+
+There are two environment variables you can use to control the
+source repository and the installation directory. To change the
+installation directory:
+
+```bash
+export PRELUDE_INSTALL_DIR="$HOME/.emacs.d" && curl -L https://github.com/bbatsov/prelude/raw/master/utils/installer.sh | sh
+```
+
+To change the source repository:
+
+```bash
+export PRELUDE_URL="https://github.com/yourname/prelude.git" && curl -L https://github.com/bbatsov/prelude/raw/master/utils/installer.sh | sh
+```
+
+Note that the installer will back up any existing `.emacs` file or
+`.emacs.d` since it will unpack Prelude's code in `.emacs.d`. If
+you're doing a manual install make sure you don't have a `.emacs` file
+or back up your existing `.emacs.d` directory manually.
+
+Don't forget to adjust your `prelude-modules.el` file once the installation is done.
+By default most of the modules that ship with Prelude are not loaded.
+
+## Installing Emacs
+
+Obviously to use the Emacs Prelude you have to install Emacs
+first. Have a look at
+the
+[WikEmacs articles on installing Emacs](http://wikemacs.org/index.php/Installing_Emacs).
+
+## Installation
+
+### Automated
+
+You can install **Emacs Prelude** via the command line with either `curl` or
+`wget`. Naturally `git` is also required.
+
+#### Via Curl
+
+If you're using `curl` type the following command:
+
+```bash
+curl -L https://github.com/bbatsov/prelude/raw/master/utils/installer.sh | sh
+```
+
+#### Via Wget
+
+If you're using `wget` type:
+
+```bash
+wget --no-check-certificate https://github.com/bbatsov/prelude/raw/master/utils/installer.sh -O - | sh
+```
+
+### Manual
+
+Make sure you do not have any `~/.emacs` file present.
+
+```bash
+git clone git://github.com/bbatsov/prelude.git path/to/local/repo
+ln -s path/to/local/repo ~/.emacs.d
+cd ~/.emacs.d
+```
+
+If you are using Windows, you should check what Emacs thinks the `~` directory is by running Emacs and typing `C-x d ~/`, and then adjust the command appropriately.
+
+## Updating Prelude
+
+### Manual update
+
+The update procedure is fairly straightforward and consists of 3 steps:
+
+#### Update all bundled packages
+
+Just run M-x package-list-packages RET U x.
+
+#### Update Prelude's code
+
+```bash
+cd path/to/prelude/installation
+git pull
+```
+
+The `path/to/prelude/installation` is usually `~/.emacs.d` (at least
+on Unix systems).
+
+#### Restart Prelude
+
+It's generally a good idea to stop Emacs after you do the update. The
+next time Prelude starts it will install any new dependencies (if
+there are such).
+
+### Automatic update
+
+Simply run M-x prelude-update from Emacs itself and restart Emacs afterwards.
+
+## Pinning packages
+
+By default, Prelude will install packages from the melpa and gnu package
+repositories. Occasionally package integration can break when upgrading packages.
+This can be avoided by pinning packages to stable versions in other repositories.
+To do so, copy `prelude-pinned-packages.el` from the sample directory to
+Prelude's root directory and adjust the [variables](https://www.gnu.org/software/emacs/manual/html_node/emacs/Package-Installation.html)
+inside accordingly.
+
+## Enabling additional modules
+
+By default most of the modules that ship with Prelude are not loaded. For more information on the functionality provided by these modules visit the [docs](modules/doc/README.md).
+
+```lisp
+;;; Uncomment the modules you'd like to use and restart Prelude afterwards
+
+(require 'prelude-c)
+;; (require 'prelude-clojure)
+;; (require 'prelude-coffee)
+;; (require 'prelude-common-lisp)
+;; (require 'prelude-css)
+(require 'prelude-emacs-lisp)
+(require 'prelude-erc)
+;; (require 'prelude-erlang)
+;; (require 'prelude-elixir)
+;; (require 'prelude-haskell)
+(require 'prelude-js)
+;; (require 'prelude-latex)
+(require 'prelude-lisp)
+;; (require 'prelude-mediawiki)
+(require 'prelude-org)
+(require 'prelude-perl)
+;; (require 'prelude-python)
+;; (require 'prelude-ruby)
+;; (require 'prelude-scala)
+(require 'prelude-scheme)
+;; (require 'prelude-scss)
+;; (require 'prelude-web)
+(require 'prelude-xml)
+```
+
+You'll need to adjust your `prelude-modules.el` file once the
+installation is done. If you are doing a manual install then you first
+need to copy the `prelude-modules.el` available in the sample
+directory to the root of `path/to/prelude/installation` and then
+adjust that one.
+
+After you've uncommented a module you should either restart Emacs or evaluate the module
+`require` expression with C-x C-e.
+
+## Running
+
+Nothing fancy here. Just start Emacs as usual. Personally I run Emacs
+in daemon mode:
+
+```bash
+emacs --daemon
+```
+
+Afterwards I connect to the server with either a terminal or a GUI
+client like this:
+
+```bash
+emacsclient -t
+emacsclient -c
+```
+
+You'd probably do well to put a few aliases in your `.zshrc` (or
+`.bashrc`):
+
+```bash
+alias e='emacsclient -t'
+alias ec='emacsclient -c'
+alias vim='emacsclient -t'
+alias vi='emacsclient -t'
+```
+
+The last two aliases are helpful if you're used to editing files from
+the command line using `vi(m)`.
+
+You can also open a file with the cursor positioned directly on a specific line:
+
+```bash
+emacsclient somefile:1234
+```
+
+This will open file 'somefile' and set cursor on line 1234.
+
+## Getting to know Prelude
+
+Certainly the best way to understand how Prelude enhances the default
+Emacs experience is to peruse Prelude's source code (which is
+obviously written in Emacs Lisp). Understanding the code is not
+necessary of course. Prelude includes a `prelude-mode` minor Emacs mode
+which collects some of the additional functionality added by
+Prelude. It also adds an additional keymap that binds many of those
+extensions to keybindings.
+
+### Keymap
+
+#### Global
+
+Keybinding | Description
+-------------------|------------------------------------------------------------
+C-x \\ | `align-regexp`
+C-+ | Increase font size(`text-scale-increase`).
+C-- | Decrease font size(`text-scale-decrease`).
+C-x O | Go back to previous window (the inverse of `other-window` (`C-x o`)).
+C-^ | Join two lines into one(`crux-top-join-line`).
+C-x p | Start `proced` (manage processes from Emacs; works only in Linux).
+C-x m | Start `eshell`.
+C-x M-m | Start your default shell.
+C-x C-m | Alias for `M-x`.
+M-X | Like `M-x` but limited to commands that are relevant to the active major mode.
+C-h A | Run `apropos` (search in all Emacs symbols).
+C-h C-m | Display key bindings of current major mode and descriptions of every binding.
+M-/ | Run `hippie-expand` (a replacement for the default `dabbrev-expand`).
+C-x C-b | Open `ibuffer` (a replacement for the default `buffer-list`).
+F11 | Make the window full screen.
+F12 | Toggle the Emacs menu bar.
+C-x g | Open Magit's status buffer.
+C-x M-g | Open Magit's popup of popups.
+M-Z | Zap up to char.
+C-= | Run `expand-region` (incremental text selection).
+C-a | Run `crux-move-beginning-of-line`. Read [this](http://emacsredux.com/blog/2013/05/22/smarter-navigation-to-the-beginning-of-a-line/) for details.
+
+#### Prelude Mode
+
+Keybinding | Description
+-------------------|------------------------------------------------------------
+C-c o | Open the currently visited file with an external program.
+C-c i | Search for a symbol, only for buffers that contain code
+C-c g | Search in Google for the thing under point (or an interactive query).
+C-c G | Search in GitHub for the thing under point (or an interactive query).
+C-c y | Search in YouTube for the thing under point (or an interactive query).
+C-c U | Search in Duckduckgo for the thing under point (or an interactive query).
+C-S-RET or Super-o | Insert an empty line above the current line and indent it properly.
+S-RET or M-o | Insert an empty line and indent it properly (as in most IDEs).
+C-S-up or M-S-up | Move the current line or region up.
+C-S-down or M-S-down| Move the current line or region down.
+C-c n | Fix indentation in buffer and strip whitespace.
+C-c f | Open recently visited file.
+C-M-\\ | Indent region (if selected) or the entire buffer.
+C-c u | Open a new buffer containing the contents of URL.
+C-c e | Eval a bit of Emacs Lisp code and replace it with its result.
+C-c s | Swap two active windows.
+C-c D | Delete current file and buffer.
+C-c d | Duplicate the current line (or region).
+C-c M-d | Duplicate and comment the current line (or region).
+C-c r | Rename the current buffer and its visiting file if any.
+C-c t | Open a terminal emulator (`ansi-term`).
+C-c k | Kill all open buffers except the one you're currently in.
+C-c TAB | Indent and copy region to clipboard
+C-c I | Open user's init file.
+C-c S | Open shell's init file.
+C-c . + | Increment integer at point. Default is +1.
+C-c . - | Decrement integer at point. Default is -1.
+C-c . * | Multiply integer at point. Default is *2.
+C-c . / | Divide integer at point. Default is /2.
+C-c . \\ | Modulo integer at point. Default is modulo 2.
+C-c . ^ | Power to the integer at point. Default is ^2.
+C-c . < | Left-shift integer at point. Default is 1 position to the left.
+C-c . > | Right-shift integer at point. Default is 1 position to the right.
+C-c . # | Convert integer at point to specified base. Default is 10.
+C-c . % | Replace integer at point with another specified integer.
+C-c . ' | Perform arithmetic operations on integer at point. User specifies the operator.
+Super-g | Toggle between God mode and non-God mode
+Super-r | Recent files
+Super-j | Join lines
+Super-k | Kill whole line
+Super-m m | Magit status
+Super-m l | Magit log
+Super-m f | Magit file log
+Super-m b | Magit blame mode
+
+**Note**: For various arithmetic operations, the prefix `C-c .` only needs to be pressed once for the first operation.
+For subsequent operations, only the appropriate operations (i.e. `+`, `-`, `*`, `/`... needs to be pressed).
+
+#### macOS modifier keys
+
+Prelude does not mess by default with the standard mapping of `Command` (to `Super`) and `Option` (to `Meta`).
+
+If you want to swap them add this to your personal config:
+
+```lisp
+(setq mac-command-modifier 'meta)
+(setq mac-option-modifier 'super)
+```
+
+You can also temporarily swap them with `C-c w` (`M-x prelude-swap-meta-and-super`).
+
+**Note**: I'd highly recommend to all macOS users to consider
+[remapping Return to
+Control](http://emacsredux.com/blog/2013/11/12/a-crazy-productivity-boost-remap-return-to-control/)
+instead. That's an epic productivity boost and it's not as crazy as it sounds!
+
+#### Projectile
+
+Here's a list of functionality provided by [Projectile](https://github.com/bbatsov/projectile):
+
+Keybinding | Description
+-------------------|------------------------------------------------------------
+C-c p f | Display a list of all files in the project. With a prefix argument it will clear the cache first.
+C-c p d | Display a list of all directories in the project. With a prefix argument it will clear the cache first.
+C-c p T | Display a list of all test files(specs, features, etc) in the project.
+C-c p s g | Run grep on the files in the project.
+C-c p s s | Runs `ag` on the project. Requires the presence of `ag.el`.
+M-- C-c p s g | Run grep on `projectile-grep-default-files` in the project.
+C-c p b | Display a list of all project buffers currently open.
+C-c p o | Runs `multi-occur` on all project buffers currently open.
+C-c p r | Runs interactive query-replace on all files in the projects.
+C-c p i | Invalidates the project cache (if existing).
+C-c p R | Regenerates the projects `TAGS` file.
+C-c p k | Kills all project buffers.
+C-c p D | Opens the root of the project in `dired`.
+C-c p e | Shows a list of recently visited project files.
+C-c p a | Switch between files with the same name but different extensions.
+C-c p c | Runs a standard compilation command for your type of project.
+C-c p P | Runs a standard test command for your type of project.
+C-c p z | Adds the currently visited to the cache.
+C-c p p | Display a list of known projects you can switch to.
+
+Prelude adds an extra keymap prefix `S-p` (`S` stands for
+`Super`), so you can use `S-p` instead of `C-c p`. By default on Windows keyboard
+`Super` is mapped to the `Windows` key and on macOS keyboards `Super` is mapped
+to the `Command` key.
+
+If you ever forget any of Projectile's keybindings just do a:
+
+C-c p C-h
+
+#### Helm
+
+Helm is setup according to this guide: [A Package in a league of its own: Helm](http://tuhdo.github.io/helm-intro.html).
+
+You can learn Helm usage and key bindings following the guide. C-c h is Prelude's default prefix key for Helm.
+If you don't remember any key binding, append C-h after C-c h for a list of key bindings in Helm.
+
+If you love Helm and want to use Helm globally with enhanced `helm-find-files`, `helm-buffer-lists`..., you will have to also add `(require 'prelude-helm-everywhere)`.
+When `prelude-helm-everywhere` is activated, Helm enables these global key bindings:
+
+Key binding | Description
+-------------------|----------------------------------------------
+M-x | Run [helm-M-x](http://tuhdo.github.io/helm-intro.html#sec-3), an interactive version of M-x.
+M-y | Run [helm-show-kill-ring](http://tuhdo.github.io/helm-intro.html#sec-4), shows the content of `kill-ring`.
+C-x b | Run [helm-mini](http://tuhdo.github.io/helm-intro.html#sec-5), an interactive version of `C-x b` with more features.
+C-x C-f | Run [helm-find-files](http://tuhdo.github.io/helm-intro.html#sec-6), an interactive version of `find-file` with more features.
+C-h f | Run [helm-apropos](http://tuhdo.github.io/helm-intro.html#sec-13), an interactive version of `apropos-command`.
+C-h r | Run [helm-info-emacs](http://tuhdo.github.io/helm-intro.html#sec-14), an interactive version of `info-emacs-manual`.
+C-h C-l | Run `helm-locate-library` that can search for locations of any file loaded into Emacs.
+
+This key binding is activated in `shell-mode`:
+
+Key Binding | Description
+-------------------|----------------------------------------------
+C-c C-l | Run `helm-comint-input-ring` that shows `shell` history using Helm interface.
+
+This key bindings is activated in `eshell-mode`:
+
+Key Binding | Description
+-------------------|----------------------------------------------
+C-c C-l | Run `helm-eshell-history` that shows `eshell` history using Helm interface.
+
+If you prefer Ido in everywhere, you should not add `prelude-helm-everywhere`, so you can use Helm along with Ido and Prelude's default commands.
+
+You can always reactivate Helm with `(prelude-global-helm-global-mode-on)`.
+
+**NOTICE**: In `helm-M-x`, you have to pass prefix argument *AFTER* you run `helm-M-x`,
+because your prefix argument will be displayed in the modeline when in `helm-M-x`
+buffer. Passing prefix argument **BEFORE** =helm-M-x= **has no effect**.
+
+
+#### Key-chords
+
+**Key-chords are available only when the `prelude-key-chord` module has been enabled.**
+
+Keybinding | Description
+-------------------|----------------------------------------------
+jj | Jump to the beginning of a word(`avy-goto-word-1`)
+jk | Jump to a character(`avy-goto-char`)
+jl | Jump to the beginning of a line(`avy-goto-line`)
+JJ | Jump back to previous buffer(`crux-switch-to-previous-buffer`)
+uu | View edits as a tree(`undo-tree-visualize`)
+xx | Executed extended command(`execute-extended-command`)
+yy | Browse the kill ring(`browse-kill-ring`)
+
+##### Disabling key-chords
+
+In some cases you may not want to have a key-chord that is defined by prelude,
+in which case you can disable the binding in your `personal.el` file by setting
+its command to `nil`. For example, to disable the `jj` key-chord add the
+following line:
+
+```lisp
+(key-chord-define-global "jj" nil)
+```
+
+If you're an `evil-mode` user you'll probably do well to disable `key-chord-mode` altogether:
+
+```lisp
+(key-chord-mode -1)
+```
+
+#### vim emulation
+
+If you want to use vim inside of emacs enable the `prelude-evil` module which provides
+support for `evil-mode`.
+
+## Automatic package installation
+
+The default Prelude installation comes with a bare minimum of
+functionality. It will however install add-ons for various programming
+languages and frameworks on demand. For instance - if you try to open
+a `.clj` file `clojure-mode`, `cider` and Prelude's enhanced Lisp
+configuration will be installed automatically for you.
+
+You can, of course, install anything you wish manually as well.
+
+### Color Themes
+
+Emacs provides a dozen of
+built-in themes you can use out-of-the-box by invoking the `M-x
+load-theme` command.
+
+[Zenburn](https://github.com/bbatsov/zenburn-emacs) is the default
+color theme in Prelude, but you can change it at your discretion. Why
+Zenburn? I (and lots of hackers around the world) find it pretty neat
+for some reason. Personally I find the default theme pretty tiresome
+for the eyes, that's why I took that "controversial" decision to
+replace it. You can, of course, easily go back to the default (or
+select another theme entirely).
+
+To disable Zenburn just put in your personal config the following
+line:
+
+```lisp
+(disable-theme 'zenburn)
+```
+
+Or you can use another theme altogether by adding something in `personal/preload` like:
+
+```lisp
+(prelude-require-package 'solarized)
+(setq prelude-theme 'solarized-dark)
+```
+
+**Note** [Solarized](https://github.com/bbatsov/zenburn-emacs) is not
+available by default - you'll have to install it from MELPA first,
+therefore the need for `prelude-require-package`. Alternatively you
+can manually install the package like this - `M-x package-install RET
+solarized-theme`.
+
+Finally, if you don't want any theme at all, you can add this to your
+`personal/preload`:
+
+```lisp
+(setq prelude-theme nil)
+```
+
+### Personalizing
+
+**Fork** (instead of cloning) the official Prelude repo and add your
+own touch to it. You're advised to **avoid changing stuff outside of
+the personal folder** to avoid having to deal with git merge conflicts
+in the future.
+
+If you'd like to add some auto installation of packages in your
+personal config use the following code:
+
+```lisp
+(prelude-require-packages '(some-package some-other-package))
+```
+
+If you require just a single package you can also use:
+
+```lisp
+(prelude-require-package 'some-package)
+```
+
+#### Preloading personal config
+
+Sometimes you might want to load code before Prelude has started loading. Prelude will automatically preload all
+Emacs Lisp files in your `personal/preload` directory. Note that at this point you can't using anything from
+Prelude, except a few variables like `prelude-dir`, etc (since nothing is yet loaded).
+
+#### Disabling whitespace-mode
+
+Although `whitespace-mode` is awesome, some people might find it too
+intrusive. You can disable it in your
+personal config with the following bit of code:
+
+```lisp
+(setq prelude-whitespace nil)
+```
+
+If you like `whitespace-mode`, but prefer it to not automatically
+cleanup your file on save, you can disable that behavior by setting
+`prelude-clean-whitespace-on-save` to `nil` in your config file with:
+
+```lisp
+(setq prelude-clean-whitespace-on-save nil)
+```
+
+The `prelude-clean-whitespace-on-save` setting can also be set on a
+per-file or directory basis by using a file variable or a
+`.dir-locals.el` file.
+
+
+#### Disable flyspell-mode
+
+If you're not fond of spellchecking on the fly:
+
+```lisp
+(setq prelude-flyspell nil)
+```
+
+## Caveats & Pitfalls
+
+### Updating bundled packages
+
+Generally it's a good idea to do a package update before running
+updating Prelude, since the latest Prelude code might depend on newer
+versions of the bundled packages than you would currently have
+installed.
+
+If you're doing manual Prelude updates you should always do a package update first.
+
+`M-x package-list-packages RET U x`
+
+That's not necessary if you're using `M-x prelude-update`, since it
+will automatically update the installed packages.
+
+### Problems with flyspell-mode
+
+Prelude makes heavy use of the flyspell-mode package for spell
+checking of various things. The proper operation of flyspell depends
+on the presence of the `aspell` program and an `en` dictionary on your
+system. You can install `aspell` and the dictionary on OS X with
+`homebrew` like this:
+
+```bash
+brew install aspell --with-lang=en
+```
+
+On Linux distros - just use your distro's package manager.
+
+### Ugly colors in the terminal Emacs version
+
+If your Emacs looks considerably uglier in a terminal (compared to the
+GUI version) try adding this to your `.bashrc` or `.zshrc`:
+
+```bash
+export TERM=xterm-256color
+```
+
+Source the `.bashrc` file and start Emacs again.
+
+### MELPA error on initial startup
+
+If you get some http connection error related to the MELPA repo
+just do a manual `M-x package-refresh-contents` and restart Emacs
+afterwards.
+
+### Warnings on arrow navigation in editor buffers
+
+This is not a bug - it's a feature! I firmly believe that the one true
+way to use Emacs is by using it the way it was intended to be used (as
+far as navigation is concerned at least).
+
+If you'd like to be take this a step further and disable the arrow key navigation
+completely put this in your personal config:
+
+```lisp
+(setq guru-warn-only nil)
+```
+
+To disable `guru-mode` completely add the following snippet to your
+personal Emacs config:
+
+```lisp
+(setq prelude-guru nil)
+```
+
+### Customized C-a behavior
+
+Prelude overrides `C-a` to behave as described
+[here](http://emacsredux.com/blog/2013/05/22/smarter-navigation-to-the-beginning-of-a-line/). If
+you don't like that simply add this to your personal config:
+
+```lisp
+(global-set-key [remap move-beginning-of-line]
+ 'move-beginning-of-line)
+```
+
+### Poor ido matching performance on large datasets
+
+Prelude swaps the default `ido` flex matching with the more powerful
+[ido-flx](https://github.com/lewang/flx).
+
+The sorting algorithm `flx` uses is more complex, but yields better results.
+
+On slower machines, it may be necessary to lower `flx-ido-threshold` to
+ensure a smooth experience.
+
+```lisp
+(setq flx-ido-threshold 1000)
+```
+
+You can always disable the improved sorting algorithm all together like this:
+
+```lisp
+(flx-ido-mode -1)
+```
+
+### Windows compatibility
+
+While everything in Prelude should work fine in Windows, I test it only
+with Linux & OS X, so there are Windows related problems from time to
+time. This situation will probably improve over time.
+
+## Known issues
+
+Check out the project's
+[issue list](https://github.com/bbatsov/prelude/issues?sort=created&direction=desc&state=open)
+a list of unresolved issues. By the way - feel free to fix any of them
+and send me a pull request. :-)
+
+## Support
+
+Support is available via several channels:
+
+* Prelude's Google Group
+* Prelude's Freenode channel (`#prelude-emacs`)
+* [Gitter](https://gitter.im/bbatsov/prelude)
+.
+## Contributors
+
+Here's a [list](https://github.com/bbatsov/prelude/contributors) of all the people who have contributed to the
+development of Emacs Prelude.
+
+## Bugs & Improvements
+
+Bug reports and suggestions for improvements are always
+welcome. GitHub pull requests are even better! :-)
+
+Cheers,
+[Bozhidar](https://twitter.com/bbatsov)
+
+[badge-license]: https://img.shields.io/badge/license-GPL_3-green.svg
diff --git a/emacs/.emacs.d/core/prelude-core.el b/emacs/.emacs.d/core/prelude-core.el
new file mode 100644
index 0000000..216aa3e
--- /dev/null
+++ b/emacs/.emacs.d/core/prelude-core.el
@@ -0,0 +1,178 @@
+;;; prelude-core.el --- Emacs Prelude: Core Prelude functions.
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: https://github.com/bbatsov/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Here are the definitions of most of the functions added by Prelude.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+(require 'thingatpt)
+(require 'dash)
+(require 'ov)
+
+(defun prelude-buffer-mode (buffer-or-name)
+ "Retrieve the `major-mode' of BUFFER-OR-NAME."
+ (with-current-buffer buffer-or-name
+ major-mode))
+
+(defun prelude-search (query-url prompt)
+ "Open the search url constructed with the QUERY-URL.
+PROMPT sets the `read-string prompt."
+ (browse-url
+ (concat query-url
+ (url-hexify-string
+ (if mark-active
+ (buffer-substring (region-beginning) (region-end))
+ (read-string prompt))))))
+
+(defmacro prelude-install-search-engine (search-engine-name search-engine-url search-engine-prompt)
+ "Given some information regarding a search engine, install the interactive command to search through them"
+ `(defun ,(intern (format "prelude-%s" search-engine-name)) ()
+ ,(format "Search %s with a query or region if any." search-engine-name)
+ (interactive)
+ (prelude-search ,search-engine-url ,search-engine-prompt)))
+
+(prelude-install-search-engine "google" "http://www.google.com/search?q=" "Google: ")
+(prelude-install-search-engine "youtube" "http://www.youtube.com/results?search_query=" "Search YouTube: ")
+(prelude-install-search-engine "github" "https://github.com/search?q=" "Search GitHub: ")
+(prelude-install-search-engine "duckduckgo" "https://duckduckgo.com/?t=lm&q=" "Search DuckDuckGo: ")
+
+(defun prelude-todo-ov-evaporate (_ov _after _beg _end &optional _length)
+ (let ((inhibit-modification-hooks t))
+ (if _after (ov-reset _ov))))
+
+(defun prelude-annotate-todo ()
+ "Put fringe marker on TODO: lines in the current buffer."
+ (interactive)
+ (ov-set (format "[[:space:]]*%s+[[:space:]]*TODO:" comment-start)
+ 'before-string
+ (propertize (format "A")
+ 'display '(left-fringe right-triangle))
+ 'modification-hooks '(prelude-todo-ov-evaporate)))
+
+(defun prelude-recompile-init ()
+ "Byte-compile all your dotfiles again."
+ (interactive)
+ (byte-recompile-directory prelude-dir 0))
+
+(defvar prelude-tips
+ '("Press to open a file with external program."
+ "Press to navigate a project's files with ido."
+ "Press to open a recently visited file."
+ "Press to run grep on a project."
+ "Press to switch between projects."
+ "Press to expand the selected region."
+ "Press to search in Google."
+ "Press to search in GitHub."
+ "Press to search in YouTube."
+ "Press to search in DuckDuckGo."
+ "Press to rename the current buffer and the file it's visiting if any."
+ "Press to open a terminal in Emacs."
+ "Press to kill all the buffers, but the active one."
+ "Press to run magit-status."
+ "Press to delete the current file and buffer."
+ "Press to swap two windows."
+ "Press or to open a line beneath the current one."
+ "Press to open a line above the current one."
+ "Press in a Elisp buffer to launch an interactive Elisp shell."
+ "Press to kill a line backwards."
+ "Press or to kill the whole line."
+ "Press or to join lines."
+ "Press or to jump to the start of a word in any visible window."
+ "Press to toggle fullscreen mode."
+ "Press to toggle the menu bar."
+ "Explore the Tools->Prelude menu to find out about some of Prelude extensions to Emacs."
+ "Access the official Emacs manual by pressing ."
+ "Visit the EmacsWiki at http://emacswiki.org to find out even more about Emacs."))
+
+(defun prelude-tip-of-the-day ()
+ "Display a random entry from `prelude-tips'."
+ (interactive)
+ (when (and prelude-tips (not (window-minibuffer-p)))
+ ;; pick a new random seed
+ (random t)
+ (message
+ (concat "Prelude tip: " (nth (random (length prelude-tips)) prelude-tips)))))
+
+(defun prelude-eval-after-init (form)
+ "Add `(lambda () FORM)' to `after-init-hook'.
+
+ If Emacs has already finished initialization, also eval FORM immediately."
+ (let ((func (list 'lambda nil form)))
+ (add-hook 'after-init-hook func)
+ (when after-init-time
+ (eval form))))
+
+(require 'epl)
+
+(defun prelude-update ()
+ "Update Prelude to its latest version."
+ (interactive)
+ (when (y-or-n-p "Do you want to update Prelude? ")
+ (message "Updating installed packages...")
+ (epl-upgrade)
+ (message "Updating Prelude...")
+ (cd prelude-dir)
+ (shell-command "git pull")
+ (prelude-recompile-init)
+ (message "Update finished. Restart Emacs to complete the process.")))
+
+(defun prelude-update-packages (&optional arg)
+ "Update Prelude's packages.
+This includes package installed via `prelude-require-package'.
+
+With a prefix ARG updates all installed packages."
+ (interactive "P")
+ (when (y-or-n-p "Do you want to update Prelude's packages? ")
+ (if arg
+ (epl-upgrade)
+ (epl-upgrade (-filter (lambda (p) (memq (epl-package-name p) prelude-packages))
+ (epl-installed-packages))))
+ (message "Update finished. Restart Emacs to complete the process.")))
+
+;;; Emacs in OSX already has fullscreen support
+;;; Emacs has a similar built-in command in 24.4
+(defun prelude-fullscreen ()
+ "Make Emacs window fullscreen.
+
+This follows freedesktop standards, should work in X servers."
+ (interactive)
+ (if (eq window-system 'x)
+ (x-send-client-message nil 0 nil "_NET_WM_STATE" 32
+ '(2 "_NET_WM_STATE_FULLSCREEN" 0))
+ (error "Only X server is supported")))
+
+(defun prelude-wrap-with (s)
+ "Create a wrapper function for smartparens using S."
+ `(lambda (&optional arg)
+ (interactive "P")
+ (sp-wrap-with-pair ,s)))
+
+(provide 'prelude-core)
+;;; prelude-core.el ends here
diff --git a/emacs/.emacs.d/core/prelude-custom.el b/emacs/.emacs.d/core/prelude-custom.el
new file mode 100644
index 0000000..34f0584
--- /dev/null
+++ b/emacs/.emacs.d/core/prelude-custom.el
@@ -0,0 +1,103 @@
+;;; prelude-custom.el --- Emacs Prelude: Prelude's customizable variables.
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: https://github.com/bbatsov/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Refinements of the core editing experience in Emacs.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+;; customize
+(defgroup prelude nil
+ "Emacs Prelude configuration."
+ :prefix "prelude-"
+ :group 'convenience)
+
+(defcustom prelude-auto-save t
+ "Non-nil values enable Prelude's auto save."
+ :type 'boolean
+ :group 'prelude)
+
+(defcustom prelude-guru t
+ "Non-nil values enable `guru-mode'."
+ :type 'boolean
+ :group 'prelude)
+
+(defcustom prelude-whitespace t
+ "Non-nil values enable Prelude's whitespace visualization."
+ :type 'boolean
+ :group 'prelude)
+
+(defcustom prelude-clean-whitespace-on-save t
+ "Cleanup whitespace from file before it's saved.
+Will only occur if `prelude-whitespace' is also enabled."
+ :type 'boolean
+ :group 'prelude)
+
+(defcustom prelude-flyspell t
+ "Non-nil values enable Prelude's flyspell support."
+ :type 'boolean
+ :group 'prelude)
+
+(defcustom prelude-user-init-file (expand-file-name "personal/"
+ user-emacs-directory)
+ "Path to your personal customization file.
+Prelude recommends you only put personal customizations in the
+personal folder. This variable allows you to specify a specific
+folder as the one that should be visited when running
+`crux-find-user-init-file'. This can be easily set to the desired buffer
+in lisp by putting `(setq prelude-user-init-file load-file-name)'
+in the desired elisp file."
+ :type 'string
+ :group 'prelude)
+
+(defcustom prelude-indent-sensitive-modes
+ '(conf-mode coffee-mode haml-mode python-mode slim-mode yaml-mode)
+ "Modes for which auto-indenting is suppressed."
+ :type 'list
+ :group 'prelude)
+
+(defcustom prelude-yank-indent-modes '(LaTeX-mode TeX-mode)
+ "Modes in which to indent regions that are yanked (or yank-popped).
+Only modes that don't derive from `prog-mode' should be listed here."
+ :type 'list
+ :group 'prelude)
+
+(defcustom prelude-yank-indent-threshold 1000
+ "Threshold (# chars) over which indentation does not automatically occur."
+ :type 'number
+ :group 'prelude)
+
+(defcustom prelude-theme 'zenburn
+ "The default color theme, change this in your /personal/preload config."
+ :type 'symbol
+ :group 'prelude)
+
+(provide 'prelude-custom)
+
+;;; prelude-custom.el ends here
diff --git a/emacs/.emacs.d/core/prelude-editor.el b/emacs/.emacs.d/core/prelude-editor.el
new file mode 100644
index 0000000..d6f5917
--- /dev/null
+++ b/emacs/.emacs.d/core/prelude-editor.el
@@ -0,0 +1,440 @@
+;;; prelude-editor.el --- Emacs Prelude: enhanced core editing experience.
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: https://github.com/bbatsov/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Refinements of the core editing experience in Emacs.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+;; Death to the tabs! However, tabs historically indent to the next
+;; 8-character offset; specifying anything else will cause *mass*
+;; confusion, as it will change the appearance of every existing file.
+;; In some cases (python), even worse -- it will change the semantics
+;; (meaning) of the program.
+;;
+;; Emacs modes typically provide a standard means to change the
+;; indentation width -- eg. c-basic-offset: use that to adjust your
+;; personal indentation width, while maintaining the style (and
+;; meaning) of any files you load.
+(setq-default indent-tabs-mode nil) ;; don't use tabs to indent
+(setq-default tab-width 8) ;; but maintain correct appearance
+
+;; Newline at end of file
+(setq require-final-newline t)
+
+;; delete the selection with a keypress
+(delete-selection-mode t)
+
+;; store all backup and autosave files in the tmp dir
+(setq backup-directory-alist
+ `((".*" . ,temporary-file-directory)))
+(setq auto-save-file-name-transforms
+ `((".*" ,temporary-file-directory t)))
+
+;; autosave the undo-tree history
+(setq undo-tree-history-directory-alist
+ `((".*" . ,temporary-file-directory)))
+(setq undo-tree-auto-save-history t)
+
+;; revert buffers automatically when underlying files are changed externally
+(global-auto-revert-mode t)
+
+;; hippie expand is dabbrev expand on steroids
+(setq hippie-expand-try-functions-list '(try-expand-dabbrev
+ try-expand-dabbrev-all-buffers
+ try-expand-dabbrev-from-kill
+ try-complete-file-name-partially
+ try-complete-file-name
+ try-expand-all-abbrevs
+ try-expand-list
+ try-expand-line
+ try-complete-lisp-symbol-partially
+ try-complete-lisp-symbol))
+
+;; smart tab behavior - indent or complete
+(setq tab-always-indent 'complete)
+
+;; smart pairing for all
+(require 'smartparens-config)
+(setq sp-base-key-bindings 'paredit)
+(setq sp-autoskip-closing-pair 'always)
+(setq sp-hybrid-kill-entire-symbol nil)
+(sp-use-paredit-bindings)
+
+(show-smartparens-global-mode +1)
+
+(define-key prog-mode-map (kbd "M-(") (prelude-wrap-with "("))
+;; FIXME: pick terminal friendly binding
+;; (define-key prog-mode-map (kbd "M-[") (prelude-wrap-with "["))
+(define-key prog-mode-map (kbd "M-\"") (prelude-wrap-with "\""))
+
+;; disable annoying blink-matching-paren
+(setq blink-matching-paren nil)
+
+;; diminish keeps the modeline tidy
+(require 'diminish)
+
+;; meaningful names for buffers with the same name
+(require 'uniquify)
+(setq uniquify-buffer-name-style 'forward)
+(setq uniquify-separator "/")
+(setq uniquify-after-kill-buffer-p t) ; rename after killing uniquified
+(setq uniquify-ignore-buffers-re "^\\*") ; don't muck with special buffers
+
+;; saveplace remembers your location in a file when saving files
+(setq save-place-file (expand-file-name "saveplace" prelude-savefile-dir))
+;; activate it for all buffers
+(if (< emacs-major-version 25)
+ (progn (require 'saveplace)
+ (setq-default save-place t))
+ (save-place-mode 1))
+
+;; savehist keeps track of some history
+(require 'savehist)
+(setq savehist-additional-variables
+ ;; search entries
+ '(search-ring regexp-search-ring)
+ ;; save every minute
+ savehist-autosave-interval 60
+ ;; keep the home clean
+ savehist-file (expand-file-name "savehist" prelude-savefile-dir))
+(savehist-mode +1)
+
+;; save recent files
+(require 'recentf)
+(setq recentf-save-file (expand-file-name "recentf" prelude-savefile-dir)
+ recentf-max-saved-items 500
+ recentf-max-menu-items 15
+ ;; disable recentf-cleanup on Emacs start, because it can cause
+ ;; problems with remote files
+ recentf-auto-cleanup 'never)
+
+(defun prelude-recentf-exclude-p (file)
+ "A predicate to decide whether to exclude FILE from recentf."
+ (let ((file-dir (file-truename (file-name-directory file))))
+ (-any-p (lambda (dir)
+ (string-prefix-p dir file-dir))
+ (mapcar 'file-truename (list prelude-savefile-dir package-user-dir)))))
+
+(add-to-list 'recentf-exclude 'prelude-recentf-exclude-p)
+
+(recentf-mode +1)
+
+;; use shift + arrow keys to switch between visible buffers
+(require 'windmove)
+(windmove-default-keybindings)
+
+;; automatically save buffers associated with files on buffer switch
+;; and on windows switch
+(defun prelude-auto-save-command ()
+ "Save the current buffer if `prelude-auto-save' is not nil."
+ (when (and prelude-auto-save
+ buffer-file-name
+ (buffer-modified-p (current-buffer))
+ (file-writable-p buffer-file-name))
+ (save-buffer)))
+
+(defmacro advise-commands (advice-name commands class &rest body)
+ "Apply advice named ADVICE-NAME to multiple COMMANDS.
+
+The body of the advice is in BODY."
+ `(progn
+ ,@(mapcar (lambda (command)
+ `(defadvice ,command (,class ,(intern (concat (symbol-name command) "-" advice-name)) activate)
+ ,@body))
+ commands)))
+
+;; advise all window switching functions
+(advise-commands "auto-save"
+ (switch-to-buffer other-window windmove-up windmove-down windmove-left windmove-right)
+ before
+ (prelude-auto-save-command))
+
+(add-hook 'mouse-leave-buffer-hook 'prelude-auto-save-command)
+
+(when (version<= "24.4" emacs-version)
+ (add-hook 'focus-out-hook 'prelude-auto-save-command))
+
+(defadvice set-buffer-major-mode (after set-major-mode activate compile)
+ "Set buffer major mode according to `auto-mode-alist'."
+ (let* ((name (buffer-name buffer))
+ (mode (assoc-default name auto-mode-alist 'string-match)))
+ (when (and mode (consp mode))
+ (setq mode (car mode)))
+ (with-current-buffer buffer (if mode (funcall mode)))))
+
+;; highlight the current line
+(global-hl-line-mode +1)
+
+(require 'volatile-highlights)
+(volatile-highlights-mode t)
+(diminish 'volatile-highlights-mode)
+
+;; note - this should be after volatile-highlights is required
+;; add the ability to cut the current line, without marking it
+(require 'rect)
+(crux-with-region-or-line kill-region)
+
+;; tramp, for sudo access
+(require 'tramp)
+;; keep in mind known issues with zsh - see emacs wiki
+(setq tramp-default-method "ssh")
+
+(set-default 'imenu-auto-rescan t)
+
+;; flyspell-mode does spell-checking on the fly as you type
+(require 'flyspell)
+(setq ispell-program-name "aspell" ; use aspell instead of ispell
+ ispell-extra-args '("--sug-mode=ultra"))
+
+(defun prelude-enable-flyspell ()
+ "Enable command `flyspell-mode' if `prelude-flyspell' is not nil."
+ (when (and prelude-flyspell (executable-find ispell-program-name))
+ (flyspell-mode +1)))
+
+(defun prelude-cleanup-maybe ()
+ "Invoke `whitespace-cleanup' if `prelude-clean-whitespace-on-save' is not nil."
+ (when prelude-clean-whitespace-on-save
+ (whitespace-cleanup)))
+
+(defun prelude-enable-whitespace ()
+ "Enable `whitespace-mode' if `prelude-whitespace' is not nil."
+ (when prelude-whitespace
+ ;; keep the whitespace decent all the time (in this buffer)
+ (add-hook 'before-save-hook 'prelude-cleanup-maybe nil t)
+ (whitespace-mode +1)))
+
+(add-hook 'text-mode-hook 'prelude-enable-flyspell)
+(add-hook 'text-mode-hook 'prelude-enable-whitespace)
+
+;; enable narrowing commands
+(put 'narrow-to-region 'disabled nil)
+(put 'narrow-to-page 'disabled nil)
+(put 'narrow-to-defun 'disabled nil)
+
+;; enabled change region case commands
+(put 'upcase-region 'disabled nil)
+(put 'downcase-region 'disabled nil)
+
+;; enable erase-buffer command
+(put 'erase-buffer 'disabled nil)
+
+(require 'expand-region)
+
+;; bookmarks
+(require 'bookmark)
+(setq bookmark-default-file (expand-file-name "bookmarks" prelude-savefile-dir)
+ bookmark-save-flag 1)
+
+;; projectile is a project management mode
+(require 'projectile)
+(setq projectile-cache-file (expand-file-name "projectile.cache" prelude-savefile-dir))
+(projectile-global-mode t)
+
+;; avy allows us to effectively navigate to visible things
+(require 'avy)
+(setq avy-background t)
+(setq avy-style 'at-full)
+
+;; anzu-mode enhances isearch & query-replace by showing total matches and current match position
+(require 'anzu)
+(diminish 'anzu-mode)
+(global-anzu-mode)
+
+(global-set-key (kbd "M-%") 'anzu-query-replace)
+(global-set-key (kbd "C-M-%") 'anzu-query-replace-regexp)
+
+;; dired - reuse current buffer by pressing 'a'
+(put 'dired-find-alternate-file 'disabled nil)
+
+;; always delete and copy recursively
+(setq dired-recursive-deletes 'always)
+(setq dired-recursive-copies 'always)
+
+;; if there is a dired buffer displayed in the next window, use its
+;; current subdir, instead of the current subdir of this dired buffer
+(setq dired-dwim-target t)
+
+;; enable some really cool extensions like C-x C-j(dired-jump)
+(require 'dired-x)
+
+;; ediff - don't start another frame
+(require 'ediff)
+(setq ediff-window-setup-function 'ediff-setup-windows-plain)
+
+;; clean up obsolete buffers automatically
+(require 'midnight)
+
+;; smarter kill-ring navigation
+(require 'browse-kill-ring)
+(browse-kill-ring-default-keybindings)
+(global-set-key (kbd "s-y") 'browse-kill-ring)
+
+(defadvice exchange-point-and-mark (before deactivate-mark activate compile)
+ "When called with no active region, do not activate mark."
+ (interactive
+ (list (not (region-active-p)))))
+
+(require 'tabify)
+(defmacro with-region-or-buffer (func)
+ "When called with no active region, call FUNC on current buffer."
+ `(defadvice ,func (before with-region-or-buffer activate compile)
+ (interactive
+ (if mark-active
+ (list (region-beginning) (region-end))
+ (list (point-min) (point-max))))))
+
+(with-region-or-buffer indent-region)
+(with-region-or-buffer untabify)
+
+;; automatically indenting yanked text if in programming-modes
+(defun yank-advised-indent-function (beg end)
+ "Do indentation, as long as the region isn't too large."
+ (if (<= (- end beg) prelude-yank-indent-threshold)
+ (indent-region beg end nil)))
+
+(advise-commands "indent" (yank yank-pop) after
+ "If current mode is one of `prelude-yank-indent-modes',
+indent yanked text (with prefix arg don't indent)."
+ (if (and (not (ad-get-arg 0))
+ (not (member major-mode prelude-indent-sensitive-modes))
+ (or (derived-mode-p 'prog-mode)
+ (member major-mode prelude-yank-indent-modes)))
+ (let ((transient-mark-mode nil))
+ (yank-advised-indent-function (region-beginning) (region-end)))))
+
+;; abbrev config
+(add-hook 'text-mode-hook 'abbrev-mode)
+
+;; make a shell script executable automatically on save
+(add-hook 'after-save-hook
+ 'executable-make-buffer-file-executable-if-script-p)
+
+;; .zsh file is shell script too
+(add-to-list 'auto-mode-alist '("\\.zsh\\'" . shell-script-mode))
+
+;; whitespace-mode config
+(require 'whitespace)
+(setq whitespace-line-column 80) ;; limit line length
+(setq whitespace-style '(face tabs empty trailing lines-tail))
+
+;; saner regex syntax
+(require 're-builder)
+(setq reb-re-syntax 'string)
+
+(require 'eshell)
+(setq eshell-directory-name (expand-file-name "eshell" prelude-savefile-dir))
+
+(setq semanticdb-default-save-directory
+ (expand-file-name "semanticdb" prelude-savefile-dir))
+
+;; Compilation from Emacs
+(defun prelude-colorize-compilation-buffer ()
+ "Colorize a compilation mode buffer."
+ (interactive)
+ ;; we don't want to mess with child modes such as grep-mode, ack, ag, etc
+ (when (eq major-mode 'compilation-mode)
+ (let ((inhibit-read-only t))
+ (ansi-color-apply-on-region (point-min) (point-max)))))
+
+(require 'compile)
+(setq compilation-ask-about-save nil ; Just save before compiling
+ compilation-always-kill t ; Just kill old compile processes before
+ ; starting the new one
+ compilation-scroll-output 'first-error ; Automatically scroll to first
+ ; error
+ )
+
+;; Colorize output of Compilation Mode, see
+;; http://stackoverflow.com/a/3072831/355252
+(require 'ansi-color)
+(add-hook 'compilation-filter-hook #'prelude-colorize-compilation-buffer)
+
+;; enable Prelude's keybindings
+(prelude-global-mode t)
+
+;; sensible undo
+(global-undo-tree-mode)
+(diminish 'undo-tree-mode)
+
+;; enable winner-mode to manage window configurations
+(winner-mode +1)
+
+;; diff-hl
+(global-diff-hl-mode +1)
+(add-hook 'dired-mode-hook 'diff-hl-dired-mode)
+(add-hook 'magit-post-refresh-hook 'diff-hl-magit-post-refresh)
+
+;; easy-kill
+(global-set-key [remap kill-ring-save] 'easy-kill)
+(global-set-key [remap mark-sexp] 'easy-mark)
+
+;; operate-on-number
+(require 'operate-on-number)
+(require 'smartrep)
+
+(smartrep-define-key global-map "C-c ."
+ '(("+" . apply-operation-to-number-at-point)
+ ("-" . apply-operation-to-number-at-point)
+ ("*" . apply-operation-to-number-at-point)
+ ("/" . apply-operation-to-number-at-point)
+ ("\\" . apply-operation-to-number-at-point)
+ ("^" . apply-operation-to-number-at-point)
+ ("<" . apply-operation-to-number-at-point)
+ (">" . apply-operation-to-number-at-point)
+ ("#" . apply-operation-to-number-at-point)
+ ("%" . apply-operation-to-number-at-point)
+ ("'" . operate-on-number-at-point)))
+
+(defadvice server-visit-files (before parse-numbers-in-lines (files proc &optional nowait) activate)
+ "Open file with emacsclient with cursors positioned on requested line.
+Most of console-based utilities prints filename in format
+'filename:linenumber'. So you may wish to open filename in that format.
+Just call:
+
+ emacsclient filename:linenumber
+
+and file 'filename' will be opened and cursor set on line 'linenumber'"
+ (ad-set-arg 0
+ (mapcar (lambda (fn)
+ (let ((name (car fn)))
+ (if (string-match "^\\(.*?\\):\\([0-9]+\\)\\(?::\\([0-9]+\\)\\)?$" name)
+ (cons
+ (match-string 1 name)
+ (cons (string-to-number (match-string 2 name))
+ (string-to-number (or (match-string 3 name) ""))))
+ fn))) files)))
+
+;; use settings from .editorconfig file when present
+(require 'editorconfig)
+(editorconfig-mode 1)
+
+(provide 'prelude-editor)
+
+;;; prelude-editor.el ends here
diff --git a/emacs/.emacs.d/core/prelude-global-keybindings.el b/emacs/.emacs.d/core/prelude-global-keybindings.el
new file mode 100644
index 0000000..425a189
--- /dev/null
+++ b/emacs/.emacs.d/core/prelude-global-keybindings.el
@@ -0,0 +1,116 @@
+;;; prelude-global-keybindings.el --- Emacs Prelude: some useful keybindings.
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: https://github.com/bbatsov/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Lots of useful keybindings.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+;; Align your code in a pretty way.
+(global-set-key (kbd "C-x \\") 'align-regexp)
+
+;; Font size
+(global-set-key (kbd "C-+") 'text-scale-increase)
+(global-set-key (kbd "C--") 'text-scale-decrease)
+
+;; Window switching. (C-x o goes to the next window)
+(global-set-key (kbd "C-x O") (lambda ()
+ (interactive)
+ (other-window -1))) ;; back one
+
+;; Indentation help
+(global-set-key (kbd "C-^") 'crux-top-join-line)
+;; Start proced in a similar manner to dired
+(unless (eq system-type 'darwin)
+ (global-set-key (kbd "C-x p") 'proced))
+
+;; Start eshell or switch to it if it's active.
+(global-set-key (kbd "C-x m") 'eshell)
+
+;; Start a new eshell even if one is active.
+(global-set-key (kbd "C-x M") (lambda () (interactive) (eshell t)))
+
+;; Start a regular shell if you prefer that.
+(global-set-key (kbd "C-x M-m") 'shell)
+
+;; If you want to be able to M-x without meta
+(global-set-key (kbd "C-x C-m") 'smex)
+
+;; A complementary binding to the apropos-command (C-h a)
+(define-key 'help-command "A" 'apropos)
+
+;; A quick major mode help with discover-my-major
+(define-key 'help-command (kbd "C-m") 'discover-my-major)
+
+(define-key 'help-command (kbd "C-f") 'find-function)
+(define-key 'help-command (kbd "C-k") 'find-function-on-key)
+(define-key 'help-command (kbd "C-v") 'find-variable)
+(define-key 'help-command (kbd "C-l") 'find-library)
+
+(define-key 'help-command (kbd "C-i") 'info-display-manual)
+
+;; replace zap-to-char functionality with the more powerful zop-to-char
+(global-set-key (kbd "M-z") 'zop-up-to-char)
+(global-set-key (kbd "M-Z") 'zop-to-char)
+
+;; kill lines backward
+(global-set-key (kbd "C-") (lambda ()
+ (interactive)
+ (kill-line 0)
+ (indent-according-to-mode)))
+
+(global-set-key [remap kill-whole-line] 'crux-kill-whole-line)
+
+;; Activate occur easily inside isearch
+(define-key isearch-mode-map (kbd "C-o") 'isearch-occur)
+
+;; use hippie-expand instead of dabbrev
+(global-set-key (kbd "M-/") 'hippie-expand)
+
+;; replace buffer-menu with ibuffer
+(global-set-key (kbd "C-x C-b") 'ibuffer)
+
+(unless (fboundp 'toggle-frame-fullscreen)
+ (global-set-key (kbd "") 'prelude-fullscreen))
+
+;; toggle menu-bar visibility
+(global-set-key (kbd "") 'menu-bar-mode)
+
+(global-set-key (kbd "C-x g") 'magit-status)
+(global-set-key (kbd "C-x M-g") 'magit-dispatch-popup)
+
+(global-set-key (kbd "C-=") 'er/expand-region)
+
+(global-set-key (kbd "C-c j") 'avy-goto-word-or-subword-1)
+(global-set-key (kbd "s-.") 'avy-goto-word-or-subword-1)
+(global-set-key (kbd "s-w") 'ace-window)
+
+(provide 'prelude-global-keybindings)
+
+;;; prelude-global-keybindings.el ends here
diff --git a/emacs/.emacs.d/core/prelude-mode.el b/emacs/.emacs.d/core/prelude-mode.el
new file mode 100644
index 0000000..8ea8101
--- /dev/null
+++ b/emacs/.emacs.d/core/prelude-mode.el
@@ -0,0 +1,149 @@
+;;; prelude-mode.el --- Emacs Prelude: minor mode
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: https://github.com/bbatsov/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; A minor mode defining a local keymap, plus a menu.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+(require 'easymenu)
+(require 'imenu-anywhere)
+(require 'crux)
+
+(defvar prelude-mode-map
+ (let ((map (make-sparse-keymap)))
+ (define-key map (kbd "C-c o") 'crux-open-with)
+ (define-key map (kbd "C-c g") 'prelude-google)
+ (define-key map (kbd "C-c G") 'prelude-github)
+ (define-key map (kbd "C-c y") 'prelude-youtube)
+ (define-key map (kbd "C-c U") 'prelude-duckduckgo)
+ ;; mimic popular IDEs binding, note that it doesn't work in a terminal session
+ (define-key map (kbd "C-a") 'crux-move-beginning-of-line)
+ (define-key map [(shift return)] 'crux-smart-open-line)
+ (define-key map (kbd "M-o") 'crux-smart-open-line)
+ (define-key map [(control shift return)] 'crux-smart-open-line-above)
+ (define-key map [(control shift up)] 'move-text-up)
+ (define-key map [(control shift down)] 'move-text-down)
+ (define-key map [(meta shift up)] 'move-text-up)
+ (define-key map [(meta shift down)] 'move-text-down)
+ (define-key map (kbd "C-c n") 'crux-cleanup-buffer-or-region)
+ (define-key map (kbd "C-c f") 'crux-recentf-ido-find-file)
+ (define-key map (kbd "C-M-z") 'crux-indent-defun)
+ (define-key map (kbd "C-c u") 'crux-view-url)
+ (define-key map (kbd "C-c e") 'crux-eval-and-replace)
+ (define-key map (kbd "C-c s") 'crux-swap-windows)
+ (define-key map (kbd "C-c D") 'crux-delete-file-and-buffer)
+ (define-key map (kbd "C-c d") 'crux-duplicate-current-line-or-region)
+ (define-key map (kbd "C-c M-d") 'crux-duplicate-and-comment-current-line-or-region)
+ (define-key map (kbd "C-c r") 'crux-rename-buffer-and-file)
+ (define-key map (kbd "C-c t") 'crux-visit-term-buffer)
+ (define-key map (kbd "C-c k") 'crux-kill-other-buffers)
+ (define-key map (kbd "C-c TAB") 'crux-indent-rigidly-and-copy-to-clipboard)
+ (define-key map (kbd "C-c I") 'crux-find-user-init-file)
+ (define-key map (kbd "C-c S") 'crux-find-shell-init-file)
+ (define-key map (kbd "C-c i") 'imenu-anywhere)
+ ;; extra prefix for projectile
+ (define-key map (kbd "s-p") 'projectile-command-map)
+ ;; make some use of the Super key
+ (define-key map (kbd "s-g") 'god-local-mode)
+ (define-key map (kbd "s-r") 'crux-recentf-ido-find-file)
+ (define-key map (kbd "s-j") 'crux-top-join-line)
+ (define-key map (kbd "s-k") 'crux-kill-whole-line)
+ (define-key map (kbd "s-m m") 'magit-status)
+ (define-key map (kbd "s-m l") 'magit-log)
+ (define-key map (kbd "s-m f") 'magit-log-buffer-file)
+ (define-key map (kbd "s-m b") 'magit-blame)
+ (define-key map (kbd "s-o") 'crux-smart-open-line-above)
+
+ map)
+ "Keymap for Prelude mode.")
+
+(defun prelude-mode-add-menu ()
+ "Add a menu entry for `prelude-mode' under Tools."
+ (easy-menu-add-item nil '("Tools")
+ '("Prelude"
+ ("Files"
+ ["Open with..." crux-open-with]
+ ["Delete file and buffer" crux-delete-file-and-buffer]
+ ["Rename buffer and file" crux-rename-buffer-and-file])
+
+ ("Buffers"
+ ["Clean up buffer or region" crux-cleanup-buffer-or-region]
+ ["Kill other buffers" crux-kill-other-buffers])
+
+ ("Editing"
+ ["Insert empty line" prelude-insert-empty-line]
+ ["Move line up" prelude-move-line-up]
+ ["Move line down" prelude-move-line-down]
+ ["Duplicate line or region" prelude-duplicate-current-line-or-region]
+ ["Indent rigidly and copy to clipboard" crux-indent-rigidly-and-copy-to-clipboard]
+ ["Insert date" crux-insert-date]
+ ["Eval and replace" crux-eval-and-replace]
+ )
+
+ ("Windows"
+ ["Swap windows" crux-swap-windows])
+
+ ("General"
+ ["Visit term buffer" crux-visit-term-buffer]
+ ["Search in Google" prelude-google]
+ ["View URL" crux-view-url]))
+ "Search Files (Grep)...")
+
+ (easy-menu-add-item nil '("Tools") '("--") "Search Files (Grep)..."))
+
+(defun prelude-mode-remove-menu ()
+ "Remove `prelude-mode' menu entry."
+ (easy-menu-remove-item nil '("Tools") "Prelude")
+ (easy-menu-remove-item nil '("Tools") "--"))
+
+;; define minor mode
+(define-minor-mode prelude-mode
+ "Minor mode to consolidate Emacs Prelude extensions.
+
+\\{prelude-mode-map}"
+ :lighter " Pre"
+ :keymap prelude-mode-map
+ (if prelude-mode
+ ;; on start
+ (prelude-mode-add-menu)
+ ;; on stop
+ (prelude-mode-remove-menu)))
+
+(define-globalized-minor-mode prelude-global-mode prelude-mode prelude-on)
+
+(defun prelude-on ()
+ "Turn on `prelude-mode'."
+ (prelude-mode +1))
+
+(defun prelude-off ()
+ "Turn off `prelude-mode'."
+ (prelude-mode -1))
+
+(provide 'prelude-mode)
+;;; prelude-mode.el ends here
diff --git a/emacs/.emacs.d/core/prelude-osx.el b/emacs/.emacs.d/core/prelude-osx.el
new file mode 100644
index 0000000..0c4d418
--- /dev/null
+++ b/emacs/.emacs.d/core/prelude-osx.el
@@ -0,0 +1,75 @@
+;;; prelude-osx.el --- Emacs Prelude: OSX specific settings.
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: https://github.com/bbatsov/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Some OSX specific stuff.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+;; On OS X Emacs doesn't use the shell PATH if it's not started from
+;; the shell. Let's fix that:
+(prelude-require-packages '(exec-path-from-shell vkill))
+
+(require 'exec-path-from-shell)
+(exec-path-from-shell-initialize)
+
+;; It's all in the Meta
+(setq ns-function-modifier 'hyper)
+
+;; proced-mode doesn't work on OS X so we use vkill instead
+(autoload 'vkill "vkill" nil t)
+(global-set-key (kbd "C-x p") 'vkill)
+
+(defun prelude-swap-meta-and-super ()
+ "Swap the mapping of Meta and Super.
+Very useful for people using their Mac with a
+Windows external keyboard from time to time."
+ (interactive)
+ (if (eq mac-command-modifier 'super)
+ (progn
+ (setq mac-command-modifier 'meta)
+ (setq mac-option-modifier 'super)
+ (message "Command is now bound to META and Option is bound to SUPER."))
+ (progn
+ (setq mac-command-modifier 'super)
+ (setq mac-option-modifier 'meta)
+ (message "Command is now bound to SUPER and Option is bound to META."))))
+
+(define-key prelude-mode-map (kbd "C-c w") 'prelude-swap-meta-and-super)
+(define-key prelude-mode-map (kbd "s-/") 'hippie-expand)
+
+(menu-bar-mode +1)
+
+;; Enable emoji, and stop the UI from freezing when trying to display them.
+(if (fboundp 'set-fontset-font)
+ (set-fontset-font t 'unicode "Apple Color Emoji" nil 'prepend))
+
+
+(provide 'prelude-osx)
+;;; prelude-osx.el ends here
diff --git a/emacs/.emacs.d/core/prelude-packages.el b/emacs/.emacs.d/core/prelude-packages.el
new file mode 100644
index 0000000..195ea4f
--- /dev/null
+++ b/emacs/.emacs.d/core/prelude-packages.el
@@ -0,0 +1,217 @@
+;;; prelude-packages.el --- Emacs Prelude: default package selection.
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: https://github.com/bbatsov/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Takes care of the automatic installation of all the packages required by
+;; Emacs Prelude.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+(require 'cl)
+(require 'package)
+
+;; accessing a package repo over https on Windows is a no go, so we
+;; fallback to http there
+(if (eq system-type 'windows-nt)
+ (add-to-list 'package-archives
+ '("melpa" . "http://melpa.org/packages/") t)
+ (add-to-list 'package-archives
+ '("melpa" . "https://melpa.org/packages/") t))
+
+;; load the pinned packages
+(let ((prelude-pinned-packages-file (expand-file-name "prelude-pinned-packages.el" prelude-dir)))
+ (if (file-exists-p prelude-pinned-packages-file)
+ (load prelude-pinned-packages-file)))
+
+;; set package-user-dir to be relative to Prelude install path
+(setq package-user-dir (expand-file-name "elpa" prelude-dir))
+(package-initialize)
+
+(defvar prelude-packages
+ '(ace-window
+ avy
+ anzu
+ beacon
+ browse-kill-ring
+ crux
+ dash
+ discover-my-major
+ diff-hl
+ diminish
+ easy-kill
+ editorconfig
+ epl
+ expand-region
+ flycheck
+ gist
+ git-timemachine
+ gitconfig-mode
+ gitignore-mode
+ god-mode
+ grizzl
+ guru-mode
+ imenu-anywhere
+ ov
+ projectile
+ magit
+ move-text
+ operate-on-number
+ smart-mode-line
+ smartparens
+ smartrep
+ undo-tree
+ volatile-highlights
+ which-key
+ zenburn-theme
+ zop-to-char)
+ "A list of packages to ensure are installed at launch.")
+
+(defun prelude-packages-installed-p ()
+ "Check if all packages in `prelude-packages' are installed."
+ (every #'package-installed-p prelude-packages))
+
+(defun prelude-require-package (package)
+ "Install PACKAGE unless already installed."
+ (unless (memq package prelude-packages)
+ (add-to-list 'prelude-packages package))
+ (unless (package-installed-p package)
+ (package-install package)))
+
+(defun prelude-require-packages (packages)
+ "Ensure PACKAGES are installed.
+Missing packages are installed automatically."
+ (mapc #'prelude-require-package packages))
+
+(define-obsolete-function-alias 'prelude-ensure-module-deps 'prelude-require-packages)
+
+(defun prelude-install-packages ()
+ "Install all packages listed in `prelude-packages'."
+ (unless (prelude-packages-installed-p)
+ ;; check for new packages (package versions)
+ (message "%s" "Emacs Prelude is now refreshing its package database...")
+ (package-refresh-contents)
+ (message "%s" " done.")
+ ;; install the missing packages
+ (prelude-require-packages prelude-packages)))
+
+;; run package installation
+(prelude-install-packages)
+
+(defun prelude-list-foreign-packages ()
+ "Browse third-party packages not bundled with Prelude.
+
+Behaves similarly to `package-list-packages', but shows only the packages that
+are installed and are not in `prelude-packages'. Useful for
+removing unwanted packages."
+ (interactive)
+ (package-show-package-list
+ (set-difference package-activated-list prelude-packages)))
+
+(defmacro prelude-auto-install (extension package mode)
+ "When file with EXTENSION is opened triggers auto-install of PACKAGE.
+PACKAGE is installed only if not already present. The file is opened in MODE."
+ `(add-to-list 'auto-mode-alist
+ `(,extension . (lambda ()
+ (unless (package-installed-p ',package)
+ (package-install ',package))
+ (,mode)))))
+
+(defvar prelude-auto-install-alist
+ '(("\\.clj\\'" clojure-mode clojure-mode)
+ ("\\.cmake\\'" cmake-mode cmake-mode)
+ ("CMakeLists\\.txt\\'" cmake-mode cmake-mode)
+ ("\\.coffee\\'" coffee-mode coffee-mode)
+ ("\\.css\\'" css-mode css-mode)
+ ("\\.csv\\'" csv-mode csv-mode)
+ ("Cask" cask-mode cask-mode)
+ ("\\.d\\'" d-mode d-mode)
+ ("\\.dart\\'" dart-mode dart-mode)
+ ("\\.elm\\'" elm-mode elm-mode)
+ ("\\.ex\\'" elixir-mode elixir-mode)
+ ("\\.exs\\'" elixir-mode elixir-mode)
+ ("\\.elixir\\'" elixir-mode elixir-mode)
+ ("\\.erl\\'" erlang erlang-mode)
+ ("\\.feature\\'" feature-mode feature-mode)
+ ("\\.go\\'" go-mode go-mode)
+ ("\\.groovy\\'" groovy-mode groovy-mode)
+ ("\\.haml\\'" haml-mode haml-mode)
+ ("\\.hs\\'" haskell-mode haskell-mode)
+ ("\\.json\\'" json-mode json-mode)
+ ("\\.kt\\'" kotlin-mode kotlin-mode)
+ ("\\.kv\\'" kivy-mode kivy-mode)
+ ("\\.latex\\'" auctex LaTeX-mode)
+ ("\\.less\\'" less-css-mode less-css-mode)
+ ("\\.lua\\'" lua-mode lua-mode)
+ ("\\.markdown\\'" markdown-mode markdown-mode)
+ ("\\.md\\'" markdown-mode markdown-mode)
+ ("\\.ml\\'" tuareg tuareg-mode)
+ ("\\.pp\\'" puppet-mode puppet-mode)
+ ("\\.php\\'" php-mode php-mode)
+ ("\\.proto\\'" protobuf-mode protobuf-mode)
+ ("\\.pyd\\'" cython-mode cython-mode)
+ ("\\.pyi\\'" cython-mode cython-mode)
+ ("\\.pyx\\'" cython-mode cython-mode)
+ ("PKGBUILD\\'" pkgbuild-mode pkgbuild-mode)
+ ("\\.rs\\'" rust-mode rust-mode)
+ ("\\.sass\\'" sass-mode sass-mode)
+ ("\\.scala\\'" scala-mode scala-mode)
+ ("\\.scss\\'" scss-mode scss-mode)
+ ("\\.slim\\'" slim-mode slim-mode)
+ ("\\.styl\\'" stylus-mode stylus-mode)
+ ("\\.swift\\'" swift-mode swift-mode)
+ ("\\.textile\\'" textile-mode textile-mode)
+ ("\\.thrift\\'" thrift thrift-mode)
+ ("\\.yml\\'" yaml-mode yaml-mode)
+ ("\\.yaml\\'" yaml-mode yaml-mode)
+ ("Dockerfile\\'" dockerfile-mode dockerfile-mode)))
+
+;; markdown-mode doesn't have autoloads for the auto-mode-alist
+;; so we add them manually if it's already installed
+(when (package-installed-p 'markdown-mode)
+ (add-to-list 'auto-mode-alist '("\\.markdown\\'" . gfm-mode))
+ (add-to-list 'auto-mode-alist '("\\.md\\'" . gfm-mode)))
+
+(when (package-installed-p 'pkgbuild-mode)
+ (add-to-list 'auto-mode-alist '("PKGBUILD\\'" . pkgbuild-mode)))
+
+;; build auto-install mappings
+(mapc
+ (lambda (entry)
+ (let ((extension (car entry))
+ (package (cadr entry))
+ (mode (cadr (cdr entry))))
+ (unless (package-installed-p package)
+ (prelude-auto-install extension package mode))))
+ prelude-auto-install-alist)
+
+(provide 'prelude-packages)
+;; Local Variables:
+;; byte-compile-warnings: (not cl-functions)
+;; End:
+
+;;; prelude-packages.el ends here
diff --git a/emacs/.emacs.d/core/prelude-ui.el b/emacs/.emacs.d/core/prelude-ui.el
new file mode 100644
index 0000000..60051d1
--- /dev/null
+++ b/emacs/.emacs.d/core/prelude-ui.el
@@ -0,0 +1,92 @@
+;;; prelude-ui.el --- Emacs Prelude: UI optimizations and tweaks.
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: https://github.com/bbatsov/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; We dispense with most of the point and click UI, reduce the startup noise,
+;; configure smooth scolling and a nice theme that's easy on the eyes (zenburn).
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+;; the toolbar is just a waste of valuable screen estate
+;; in a tty tool-bar-mode does not properly auto-load, and is
+;; already disabled anyway
+(when (fboundp 'tool-bar-mode)
+ (tool-bar-mode -1))
+
+(menu-bar-mode -1)
+
+;; the blinking cursor is nothing, but an annoyance
+(blink-cursor-mode -1)
+
+;; disable the annoying bell ring
+(setq ring-bell-function 'ignore)
+
+;; disable startup screen
+(setq inhibit-startup-screen t)
+
+;; nice scrolling
+(setq scroll-margin 0
+ scroll-conservatively 100000
+ scroll-preserve-screen-position 1)
+
+;; mode line settings
+(line-number-mode t)
+(column-number-mode t)
+(size-indication-mode t)
+
+;; enable y/n answers
+(fset 'yes-or-no-p 'y-or-n-p)
+
+;; more useful frame title, that show either a file or a
+;; buffer name (if the buffer isn't visiting a file)
+(setq frame-title-format
+ '("" invocation-name " Prelude - " (:eval (if (buffer-file-name)
+ (abbreviate-file-name (buffer-file-name))
+ "%b"))))
+
+;; use zenburn as the default theme
+(when prelude-theme
+ (load-theme prelude-theme t))
+
+(require 'smart-mode-line)
+(setq sml/no-confirm-load-theme t)
+;; delegate theming to the currently active theme
+(setq sml/theme nil)
+(add-hook 'after-init-hook #'sml/setup)
+
+;; show the cursor when moving after big movements in the window
+(require 'beacon)
+(beacon-mode +1)
+
+;; show available keybindings after you start typing
+(require 'which-key)
+(which-key-mode +1)
+
+(provide 'prelude-ui)
+;;; prelude-ui.el ends here
diff --git a/emacs/.emacs.d/init.el b/emacs/.emacs.d/init.el
new file mode 100644
index 0000000..c77a359
--- /dev/null
+++ b/emacs/.emacs.d/init.el
@@ -0,0 +1,148 @@
+;;; init.el --- Prelude's configuration entry point.
+;;
+;; Copyright (c) 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: http://batsov.com/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; This file simply sets up the default load path and requires
+;; the various modules defined within Emacs Prelude.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+;; Added by Package.el. This must come before configurations of
+;; installed packages. Don't delete this line. If you don't want it,
+;; just comment it out by adding a semicolon to the start of the line.
+;; You may delete these explanatory comments.
+;(package-initialize)
+
+(defvar current-user
+ (getenv
+ (if (equal system-type 'windows-nt) "USERNAME" "USER")))
+
+(message "Prelude is powering up... Be patient, Master %s!" current-user)
+
+(when (version< emacs-version "24.4")
+ (error "Prelude requires at least GNU Emacs 24.4, but you're running %s" emacs-version))
+
+;; Always load newest byte code
+(setq load-prefer-newer t)
+
+(defvar prelude-dir (file-name-directory load-file-name)
+ "The root dir of the Emacs Prelude distribution.")
+(defvar prelude-core-dir (expand-file-name "core" prelude-dir)
+ "The home of Prelude's core functionality.")
+(defvar prelude-modules-dir (expand-file-name "modules" prelude-dir)
+ "This directory houses all of the built-in Prelude modules.")
+(defvar prelude-personal-dir (expand-file-name "personal" prelude-dir)
+ "This directory is for your personal configuration.
+
+Users of Emacs Prelude are encouraged to keep their personal configuration
+changes in this directory. All Emacs Lisp files there are loaded automatically
+by Prelude.")
+(defvar prelude-personal-preload-dir (expand-file-name "preload" prelude-personal-dir)
+ "This directory is for your personal configuration, that you want loaded before Prelude.")
+(defvar prelude-vendor-dir (expand-file-name "vendor" prelude-dir)
+ "This directory houses packages that are not yet available in ELPA (or MELPA).")
+(defvar prelude-savefile-dir (expand-file-name "savefile" prelude-dir)
+ "This folder stores all the automatically generated save/history-files.")
+(defvar prelude-modules-file (expand-file-name "prelude-modules.el" prelude-dir)
+ "This files contains a list of modules that will be loaded by Prelude.")
+
+(unless (file-exists-p prelude-savefile-dir)
+ (make-directory prelude-savefile-dir))
+
+(defun prelude-add-subfolders-to-load-path (parent-dir)
+ "Add all level PARENT-DIR subdirs to the `load-path'."
+ (dolist (f (directory-files parent-dir))
+ (let ((name (expand-file-name f parent-dir)))
+ (when (and (file-directory-p name)
+ (not (string-prefix-p "." f)))
+ (add-to-list 'load-path name)
+ (prelude-add-subfolders-to-load-path name)))))
+
+;; add Prelude's directories to Emacs's `load-path'
+(add-to-list 'load-path prelude-core-dir)
+(add-to-list 'load-path prelude-modules-dir)
+(add-to-list 'load-path prelude-vendor-dir)
+(prelude-add-subfolders-to-load-path prelude-vendor-dir)
+
+;; reduce the frequency of garbage collection by making it happen on
+;; each 50MB of allocated data (the default is on every 0.76MB)
+(setq gc-cons-threshold 50000000)
+
+;; warn when opening files bigger than 100MB
+(setq large-file-warning-threshold 100000000)
+
+;; preload the personal settings from `prelude-personal-preload-dir'
+(when (file-exists-p prelude-personal-preload-dir)
+ (message "Loading personal configuration files in %s..." prelude-personal-preload-dir)
+ (mapc 'load (directory-files prelude-personal-preload-dir 't "^[^#\.].*el$")))
+
+(message "Loading Prelude's core...")
+
+;; the core stuff
+(require 'prelude-packages)
+(require 'prelude-custom) ;; Needs to be loaded before core, editor and ui
+(require 'prelude-ui)
+(require 'prelude-core)
+(require 'prelude-mode)
+(require 'prelude-editor)
+(require 'prelude-global-keybindings)
+
+;; OSX specific settings
+(when (eq system-type 'darwin)
+ (require 'prelude-osx))
+
+(message "Loading Prelude's modules...")
+
+;; the modules
+(if (file-exists-p prelude-modules-file)
+ (load prelude-modules-file)
+ (message "Missing modules file %s" prelude-modules-file)
+ (message "You can get started by copying the bundled example file from sample/prelude-modules.el"))
+
+;; config changes made through the customize UI will be stored here
+(setq custom-file (expand-file-name "custom.el" prelude-personal-dir))
+
+;; load the personal settings (this includes `custom-file')
+(when (file-exists-p prelude-personal-dir)
+ (message "Loading personal configuration files in %s..." prelude-personal-dir)
+ (mapc 'load (directory-files prelude-personal-dir 't "^[^#\.].*el$")))
+
+(message "Prelude is ready to do thy bidding, Master %s!" current-user)
+
+;; Patch security vulnerability in Emacs versions older than 25.3
+(when (version< emacs-version "25.3")
+ (eval-after-load "enriched"
+ '(defun enriched-decode-display-prop (start end &optional param)
+ (list start end))))
+
+(prelude-eval-after-init
+ ;; greet the use with some useful tip
+ (run-at-time 5 nil 'prelude-tip-of-the-day))
+
+;;; init.el ends here
diff --git a/emacs/.emacs.d/modules/doc/README.md b/emacs/.emacs.d/modules/doc/README.md
new file mode 100644
index 0000000..d1025e5
--- /dev/null
+++ b/emacs/.emacs.d/modules/doc/README.md
@@ -0,0 +1,30 @@
+# Emacs Prelude Modules
+
+Prelude provides extra functionality through modules. Some modules may
+require extra steps to enable all functionality. These steps and the
+functionality provided by these modules are documented on the
+following links.
+
+- C
+- Clojure
+- Coffee
+- Common-Lisp
+- CSS
+- Emacs-Lisp
+- [ERC](prelude-erc.md)
+- Erlang
+- Elixir
+- Haskell
+- JS
+- Latex
+- Lisp
+- Markdown
+- MediaWiki
+- Org
+- Perl
+- [Python](prelude-python.md)
+- Ruby
+- Scala
+- Scheme
+- Scss
+- Web
diff --git a/emacs/.emacs.d/modules/doc/prelude-erc.md b/emacs/.emacs.d/modules/doc/prelude-erc.md
new file mode 100644
index 0000000..5f61069
--- /dev/null
+++ b/emacs/.emacs.d/modules/doc/prelude-erc.md
@@ -0,0 +1,50 @@
+# Prelude ERC Quickstart
+
+## Customizing Server list
+
+If you want to join a list of servers on `M-x start-irc`, other than
+the default list, please redefine the variable `my-fav-irc` as follows
+in your personal config
+
+``` emacs-lisp
+(setq my-fav-irc '("irc.freenode.net"
+ "irc.oftc.net"
+ "irc.mozilla.org"
+ "irc.gnome.org"))
+```
+
+## Customizing Last Quit Message
+
+If you want to customize your IRC Last Quit Message from *Asta la
+vista* to something more funkier, please redefine `bye-irc-message` as
+follows
+
+``` emacs-lisp
+(setq bye-erc-message "adios")
+```
+
+## Reading NickServ passwords from auth-source plugin
+
+If you want to automatically authenticate while logging into IRC
+servers set the `erc-prompt-for-password` to nil as follows
+
+``` emacs-lisp
+(setq erc-prompt-for-password nil)
+```
+
+Now you can set password in plaintext in .authinfo file in the netRC
+format or you it encrypted in .authinfo.gpg file after setting up gpg
+in emacs
+
+## Opening all ERC buffers in a new perspective
+Many a time when we start IRC with the `start-irc` command, all the
+channels open in our existing workspace, which can be annoying to
+some; especially to those who like to organize their buffers into
+separate groups (perspectives). To avoid this scenario, it is better
+to group all the ERC buffers into one perspective called `IRC` when
+`start-irc` is called. To enable this set the `prelude-new-irc-persp`
+variable to true as follows
+
+``` emacs-lisp
+(setq prelude-new-irc-persp t)
+```
diff --git a/emacs/.emacs.d/modules/doc/prelude-python.md b/emacs/.emacs.d/modules/doc/prelude-python.md
new file mode 100644
index 0000000..8de3ff6
--- /dev/null
+++ b/emacs/.emacs.d/modules/doc/prelude-python.md
@@ -0,0 +1,18 @@
+# Prelude Python Quickstart
+
+## Python Mode
+
+Emacs comes with Python programming support through the built-in
+Python-mode. Whenever you are editing Python code run `C-h m` to
+look at the Python mode key bindings. Alternatively look at the
+menu bar entries under Python. To toggle the menu bar press `F12`.
+
+## Syntax checking
+
+Prelude ships with [Flycheck](https://github.com/flycheck/flycheck),
+an on the fly syntax checker. Flycheck has support for two Python
+syntax checkers, [Pylint](http://www.pylint.org/) and
+[Flake8](http://flake8.readthedocs.org/en/latest/). In
+order to have Flycheck support on the fly syntax checking for
+Python you need to have either of these installed and accessible to
+Emacs. In order to manually choose a checker run `C-c ! s`.
diff --git a/emacs/.emacs.d/modules/prelude-c.el b/emacs/.emacs.d/modules/prelude-c.el
new file mode 100644
index 0000000..f71bf36
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-c.el
@@ -0,0 +1,59 @@
+;;; prelude-c.el --- Emacs Prelude: cc-mode configuration.
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: https://github.com/bbatsov/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Some basic configuration for cc-mode and the modes derived from it.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+(require 'prelude-programming)
+
+(defun prelude-c-mode-common-defaults ()
+ (setq c-default-style "k&r"
+ c-basic-offset 4)
+ (c-set-offset 'substatement-open 0))
+
+(setq prelude-c-mode-common-hook 'prelude-c-mode-common-defaults)
+
+;; this will affect all modes derived from cc-mode, like
+;; java-mode, php-mode, etc
+(add-hook 'c-mode-common-hook (lambda ()
+ (run-hooks 'prelude-c-mode-common-hook)))
+
+(defun prelude-makefile-mode-defaults ()
+ (whitespace-toggle-options '(tabs))
+ (setq indent-tabs-mode t ))
+
+(setq prelude-makefile-mode-hook 'prelude-makefile-mode-defaults)
+
+(add-hook 'makefile-mode-hook (lambda ()
+ (run-hooks 'prelude-makefile-mode-hook)))
+(provide 'prelude-c)
+
+;;; prelude-c.el ends here
diff --git a/emacs/.emacs.d/modules/prelude-clojure.el b/emacs/.emacs.d/modules/prelude-clojure.el
new file mode 100644
index 0000000..f15481c
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-clojure.el
@@ -0,0 +1,66 @@
+;;; prelude-clojure.el --- Emacs Prelude: Clojure programming configuration.
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: http://batsov.com/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Some basic configuration for clojure-mode.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+(require 'prelude-lisp)
+(prelude-require-packages '(clojure-mode cider))
+
+(eval-after-load 'clojure-mode
+ '(progn
+ (defun prelude-clojure-mode-defaults ()
+ (subword-mode +1)
+ (run-hooks 'prelude-lisp-coding-hook))
+
+ (setq prelude-clojure-mode-hook 'prelude-clojure-mode-defaults)
+
+ (add-hook 'clojure-mode-hook (lambda ()
+ (run-hooks 'prelude-clojure-mode-hook)))))
+
+(eval-after-load 'cider
+ '(progn
+ (setq nrepl-log-messages t)
+
+ (add-hook 'cider-mode-hook 'eldoc-mode)
+
+ (defun prelude-cider-repl-mode-defaults ()
+ (subword-mode +1)
+ (run-hooks 'prelude-interactive-lisp-coding-hook))
+
+ (setq prelude-cider-repl-mode-hook 'prelude-cider-repl-mode-defaults)
+
+ (add-hook 'cider-repl-mode-hook (lambda ()
+ (run-hooks 'prelude-cider-repl-mode-hook)))))
+
+(provide 'prelude-clojure)
+
+;;; prelude-clojure.el ends here
diff --git a/emacs/.emacs.d/modules/prelude-coffee.el b/emacs/.emacs.d/modules/prelude-coffee.el
new file mode 100644
index 0000000..71353de
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-coffee.el
@@ -0,0 +1,60 @@
+;;; prelude-coffee.el --- Emacs Prelude: CoffeeScript programming support.
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: https://github.com/bbatsov/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; CoffeeScript is a nice little language that comples to JavaScript.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+(require 'prelude-programming)
+(prelude-require-package 'coffee-mode)
+
+(eval-after-load 'coffee-mode
+ '(progn
+ ;; CoffeeScript uses two spaces.
+ (setq coffee-tab-width 2)
+
+ ;; remove the "Generated by CoffeeScript" header
+ (add-to-list 'coffee-args-compile "--no-header")
+
+ (defun prelude-coffee-mode-defaults ()
+ ;; Update the already compiled js on save
+ (and (buffer-file-name)
+ (file-exists-p (buffer-file-name))
+ (file-exists-p (coffee-compiled-file-name (buffer-file-name)))
+ (coffee-cos-mode t))
+ (subword-mode +1))
+
+ (setq prelude-coffee-mode-hook 'prelude-coffee-mode-defaults)
+
+ (add-hook 'coffee-mode-hook (lambda ()
+ (run-hooks 'prelude-coffee-mode-hook)))))
+(provide 'prelude-coffee)
+
+;;; prelude-coffee.el ends here
diff --git a/emacs/.emacs.d/modules/prelude-common-lisp.el b/emacs/.emacs.d/modules/prelude-common-lisp.el
new file mode 100644
index 0000000..4829f02
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-common-lisp.el
@@ -0,0 +1,85 @@
+;;; prelude-common-lisp.el --- Emacs Prelude: lisp-mode and SLIME config.
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: https://github.com/bbatsov/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Configuration for lisp-mode and SLIME.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+(require 'prelude-lisp)
+
+(prelude-require-package 'slime)
+
+;; the SBCL configuration file is in Common Lisp
+(add-to-list 'auto-mode-alist '("\\.sbclrc\\'" . lisp-mode))
+
+;; Open files with .cl extension in lisp-mode
+(add-to-list 'auto-mode-alist '("\\.cl\\'" . lisp-mode))
+
+;; a list of alternative Common Lisp implementations that can be
+;; used with SLIME. Note that their presence render
+;; inferior-lisp-program useless. This variable holds a list of
+;; programs and if you invoke SLIME with a negative prefix
+;; argument, M-- M-x slime, you can select a program from that list.
+(setq slime-lisp-implementations
+ '((ccl ("ccl"))
+ (clisp ("clisp" "-q"))
+ (cmucl ("cmucl" "-quiet"))
+ (sbcl ("sbcl" "--noinform") :coding-system utf-8-unix)))
+
+;; select the default value from slime-lisp-implementations
+(if (and (eq system-type 'darwin)
+ (executable-find "ccl"))
+ ;; default to Clozure CL on OS X
+ (setq slime-default-lisp 'ccl)
+ ;; default to SBCL on Linux and Windows
+ (setq slime-default-lisp 'sbcl))
+
+;; Add fancy slime contribs
+(setq slime-contribs '(slime-fancy slime-cl-indent))
+
+(add-hook 'lisp-mode-hook (lambda () (run-hooks 'prelude-lisp-coding-hook)))
+;; rainbow-delimeters messes up colors in slime-repl, and doesn't seem to work
+;; anyway, so we won't use prelude-lisp-coding-defaults.
+(add-hook 'slime-repl-mode-hook (lambda ()
+ (smartparens-strict-mode +1)
+ (whitespace-mode -1)))
+
+(eval-after-load "slime"
+ '(progn
+ (setq slime-complete-symbol-function 'slime-fuzzy-complete-symbol
+ slime-fuzzy-completion-in-place t
+ slime-enable-evaluate-in-emacs t
+ slime-autodoc-use-multiline-p t
+ slime-auto-start 'always)
+ (define-key slime-mode-map (kbd "C-c C-s") 'slime-selector)))
+
+(provide 'prelude-common-lisp)
+
+;;; prelude-common-lisp.el ends here
diff --git a/emacs/.emacs.d/modules/prelude-company.el b/emacs/.emacs.d/modules/prelude-company.el
new file mode 100644
index 0000000..8b10441
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-company.el
@@ -0,0 +1,48 @@
+;;; prelude-company.el --- company-mode setup
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: https://github.com/bbatsov/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; company-mode config.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+(prelude-require-packages '(company))
+
+(require 'company)
+
+(setq company-idle-delay 0.5)
+(setq company-tooltip-limit 10)
+(setq company-minimum-prefix-length 2)
+;; invert the navigation direction if the the completion popup-isearch-match
+;; is displayed on top (happens near the bottom of windows)
+(setq company-tooltip-flip-when-above t)
+
+(global-company-mode 1)
+
+(provide 'prelude-company)
+;;; prelude-company.el ends here
diff --git a/emacs/.emacs.d/modules/prelude-css.el b/emacs/.emacs.d/modules/prelude-css.el
new file mode 100644
index 0000000..aa90063
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-css.el
@@ -0,0 +1,51 @@
+;;; prelude-css.el --- Emacs Prelude: css support
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: http://www.batsov.com/emacs-prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Some basic configuration for css-mode.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+(eval-after-load 'css-mode
+ '(progn
+ (prelude-require-packages '(rainbow-mode))
+
+ (setq css-indent-offset 2)
+
+ (defun prelude-css-mode-defaults ()
+ (rainbow-mode +1)
+ (run-hooks 'prelude-prog-mode-hook))
+
+ (setq prelude-css-mode-hook 'prelude-css-mode-defaults)
+
+ (add-hook 'css-mode-hook (lambda ()
+ (run-hooks 'prelude-css-mode-hook)))))
+
+(provide 'prelude-css)
+;;; prelude-css.el ends here
diff --git a/emacs/.emacs.d/modules/prelude-elixir.el b/emacs/.emacs.d/modules/prelude-elixir.el
new file mode 100644
index 0000000..6e09dec
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-elixir.el
@@ -0,0 +1,40 @@
+;;; prelude-elixir.el --- Emacs Prelude: Elixir programming support.
+;;
+;; Copyright © 2014-2017 Samuel Tonini
+;;
+;; Author: Samuel Tonini
+;; Version: 1.0.0
+;; Keywords: convenience elixir
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Some basic configuration for Elixir development.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+(require 'prelude-programming)
+
+(prelude-require-packages '(elixir-mode alchemist))
+
+(provide 'prelude-elixir)
+
+;;; prelude-elixir.el ends here
diff --git a/emacs/.emacs.d/modules/prelude-emacs-lisp.el b/emacs/.emacs.d/modules/prelude-emacs-lisp.el
new file mode 100644
index 0000000..f80a02f
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-emacs-lisp.el
@@ -0,0 +1,120 @@
+;;; prelude-emacs-lisp.el --- Emacs Prelude: Nice config for Elisp programming.
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: https://github.com/bbatsov/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+;; Package-Requires: ((prelude-lisp "1.0.0"))
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Nice config for Elisp Programming.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+(require 'prelude-lisp)
+(require 'crux)
+
+(prelude-require-packages '(elisp-slime-nav rainbow-mode))
+
+(defun prelude-recompile-elc-on-save ()
+ "Recompile your elc when saving an elisp file."
+ (add-hook 'after-save-hook
+ (lambda ()
+ (when (and
+ (string-prefix-p prelude-dir (file-truename buffer-file-name))
+ (file-exists-p (byte-compile-dest-file buffer-file-name)))
+ (emacs-lisp-byte-compile)))
+ nil
+ t))
+
+(defun prelude-visit-ielm ()
+ "Switch to default `ielm' buffer.
+Start `ielm' if it's not already running."
+ (interactive)
+ (crux-start-or-switch-to 'ielm "*ielm*"))
+
+(define-key emacs-lisp-mode-map (kbd "C-c C-z") 'prelude-visit-ielm)
+(define-key emacs-lisp-mode-map (kbd "C-c C-c") 'eval-defun)
+(define-key emacs-lisp-mode-map (kbd "C-c C-b") 'eval-buffer)
+
+(defun prelude-conditional-emacs-lisp-checker ()
+ "Don't check doc style in Emacs Lisp test files."
+ (let ((file-name (buffer-file-name)))
+ (when (and file-name (string-match-p ".*-tests?\\.el\\'" file-name))
+ (setq-local flycheck-checkers '(emacs-lisp)))))
+
+(defun prelude-emacs-lisp-mode-defaults ()
+ "Sensible defaults for `emacs-lisp-mode'."
+ (run-hooks 'prelude-lisp-coding-hook)
+ (eldoc-mode +1)
+ (prelude-recompile-elc-on-save)
+ (rainbow-mode +1)
+ (setq mode-name "EL")
+ (prelude-conditional-emacs-lisp-checker))
+
+(setq prelude-emacs-lisp-mode-hook 'prelude-emacs-lisp-mode-defaults)
+
+(add-hook 'emacs-lisp-mode-hook (lambda ()
+ (run-hooks 'prelude-emacs-lisp-mode-hook)))
+
+(add-to-list 'auto-mode-alist '("Cask\\'" . emacs-lisp-mode))
+
+;; ielm is an interactive Emacs Lisp shell
+(defun prelude-ielm-mode-defaults ()
+ "Sensible defaults for `ielm'."
+ (run-hooks 'prelude-interactive-lisp-coding-hook)
+ (eldoc-mode +1))
+
+(setq prelude-ielm-mode-hook 'prelude-ielm-mode-defaults)
+
+(add-hook 'ielm-mode-hook (lambda ()
+ (run-hooks 'prelude-ielm-mode-hook)))
+
+(eval-after-load "elisp-slime-nav"
+ '(diminish 'elisp-slime-nav-mode))
+(eval-after-load "rainbow-mode"
+ '(diminish 'rainbow-mode))
+(eval-after-load "eldoc"
+ '(diminish 'eldoc-mode))
+
+(eval-after-load "ielm"
+ '(progn
+ (define-key ielm-map (kbd "M-(") (prelude-wrap-with "("))
+ (define-key ielm-map (kbd "M-\"") (prelude-wrap-with "\""))))
+
+;; enable elisp-slime-nav-mode
+(dolist (hook '(emacs-lisp-mode-hook ielm-mode-hook))
+ (add-hook hook 'elisp-slime-nav-mode))
+
+(defun conditionally-enable-smartparens-mode ()
+ "Enable `smartparens-mode' in the minibuffer, during `eval-expression'."
+ (if (eq this-command 'eval-expression)
+ (smartparens-mode 1)))
+
+(add-hook 'minibuffer-setup-hook 'conditionally-enable-smartparens-mode)
+
+(provide 'prelude-emacs-lisp)
+
+;;; prelude-emacs-lisp.el ends here
diff --git a/emacs/.emacs.d/modules/prelude-erc.el b/emacs/.emacs.d/modules/prelude-erc.el
new file mode 100644
index 0000000..701009c
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-erc.el
@@ -0,0 +1,162 @@
+;;; prelude-erc.el --- Emacs Prelude: ERC mode configuration.
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: https://github.com/bbatsov/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Some basic configuration for ERC mode, which should make your
+;; IRC experience a bit more pleasant.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+(require 'erc)
+(require 'erc-log)
+(require 'erc-notify)
+(require 'erc-spelling)
+(require 'erc-autoaway)
+
+;; Interpret mIRC-style color commands in IRC chats
+(setq erc-interpret-mirc-color t)
+
+;; The following are commented out by default, but users of other
+;; non-Emacs IRC clients might find them useful.
+;; Kill buffers for channels after /part
+(setq erc-kill-buffer-on-part t)
+;; Kill buffers for private queries after quitting the server
+(setq erc-kill-queries-on-quit t)
+;; Kill buffers for server messages after quitting the server
+(setq erc-kill-server-buffer-on-quit t)
+
+;; open query buffers in the current window
+(setq erc-query-display 'buffer)
+
+;; exclude boring stuff from tracking
+(erc-track-mode t)
+(setq erc-track-exclude-types '("JOIN" "NICK" "PART" "QUIT" "MODE"
+ "324" "329" "332" "333" "353" "477"))
+
+;; logging
+(setq erc-log-channels-directory "~/.erc/logs/")
+
+(if (not (file-exists-p erc-log-channels-directory))
+ (mkdir erc-log-channels-directory t))
+
+(setq erc-save-buffer-on-part t)
+;; FIXME - this advice is wrong and is causing problems on Emacs exit
+;; (defadvice save-buffers-kill-emacs (before save-logs (arg) activate)
+;; (save-some-buffers t (lambda () (when (eq major-mode 'erc-mode) t))))
+
+;; truncate long irc buffers
+(erc-truncate-mode +1)
+
+;; enable spell checking
+(when prelude-flyspell
+ (erc-spelling-mode 1))
+;; set different dictionaries by different servers/channels
+;;(setq erc-spelling-dictionaries '(("#emacs" "american")))
+
+(defvar erc-notify-nick-alist nil
+ "Alist of nicks and the last time they tried to trigger a
+notification")
+
+(defvar erc-notify-timeout 10
+ "Number of seconds that must elapse between notifications from
+the same person.")
+
+(defun erc-notify-allowed-p (nick &optional delay)
+ "Return non-nil if a notification should be made for NICK.
+If DELAY is specified, it will be the minimum time in seconds
+that can occur between two notifications. The default is
+`erc-notify-timeout'."
+ (unless delay (setq delay erc-notify-timeout))
+ (let ((cur-time (time-to-seconds (current-time)))
+ (cur-assoc (assoc nick erc-notify-nick-alist))
+ (last-time nil))
+ (if cur-assoc
+ (progn
+ (setq last-time (cdr cur-assoc))
+ (setcdr cur-assoc cur-time)
+ (> (abs (- cur-time last-time)) delay))
+ (push (cons nick cur-time) erc-notify-nick-alist)
+ t)))
+
+;; autoaway setup
+(setq erc-auto-discard-away t)
+(setq erc-autoaway-idle-seconds 600)
+(setq erc-autoaway-use-emacs-idle t)
+
+;; utf-8 always and forever
+(setq erc-server-coding-system '(utf-8 . utf-8))
+
+
+(defvar my-fav-irc '( "irc.freenode.net" )
+ "Stores the list of IRC servers that you want to connect to with start-irc.")
+
+(defvar bye-irc-message "Asta la vista"
+ "Message string to be sent while quitting IRC.")
+
+(defcustom prelude-new-irc-persp nil
+ "True (t) means start IRC in new perspective."
+ :type 'boolean
+ :require 'prelude-erc
+ :group 'prelude)
+
+(defun connect-to-erc (server)
+ "Connects securely to IRC SERVER over TLS at port 6697."
+ (erc-tls :server server
+ :port 6697
+ :nick erc-nick ))
+
+(defun start-irc ()
+ "Connect to IRC?"
+ (interactive)
+ (when (y-or-n-p "Do you want to start IRC? ")
+ (when prelude-new-irc-persp
+ (persp-switch "IRC"))
+ (mapcar 'connect-to-erc my-fav-irc)))
+
+(defun filter-server-buffers ()
+ (delq nil
+ (mapcar
+ (lambda (x) (and (erc-server-buffer-p x) x))
+ (buffer-list))))
+
+(defun stop-irc ()
+ "Disconnects from all irc servers."
+ (interactive)
+ (when prelude-new-irc-persp
+ (persp-switch "IRC"))
+ (dolist (buffer (filter-server-buffers))
+ (message "Server buffer: %s" (buffer-name buffer))
+ (with-current-buffer buffer
+ (erc-quit-server bye-irc-message)))
+ (when prelude-new-irc-persp
+ (persp-kill "IRC")))
+
+(provide 'prelude-erc)
+
+;;; prelude-erc.el ends here
diff --git a/emacs/.emacs.d/modules/prelude-erlang.el b/emacs/.emacs.d/modules/prelude-erlang.el
new file mode 100644
index 0000000..edc4a7d
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-erlang.el
@@ -0,0 +1,60 @@
+;;; prelude-erlang.el --- Emacs Prelude: Erlang programming support.
+;;
+;; Copyright © 2011-2017 Gleb Peregud
+;;
+;; Author: Gleb Peregud
+;; Version: 1.0.0
+;; Keywords: convenience erlang
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Erlang is a concurrent functional language.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+(require 'prelude-programming)
+(prelude-require-packages '(erlang))
+
+(defcustom wrangler-path nil
+ "The location of wrangler elisp directory."
+ :group 'prelude-erlang
+ :type 'string
+ :safe 'stringp)
+
+(require 'projectile)
+
+(when (require 'erlang-start nil t)
+
+ (eval-after-load 'erlang-mode
+ '(progn
+ (flymake-mode)))
+
+ (when (not (null wrangler-path))
+ (add-to-list 'load-path wrangler-path)
+ (require 'wrangler)))
+
+(add-hook 'erlang-mode-hook (lambda ()
+ (setq erlang-compile-function 'projectile-compile-project)))
+
+(provide 'prelude-erlang)
+
+;;; prelude-erlang.el ends here
diff --git a/emacs/.emacs.d/modules/prelude-evil.el b/emacs/.emacs.d/modules/prelude-evil.el
new file mode 100644
index 0000000..0f8bd7c
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-evil.el
@@ -0,0 +1,152 @@
+;;; prelude-evil.el --- Emacs Prelude: evil-mode configuration.
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: http://batsov.com/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Some basic configuration for evil-mode.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+;;; goto-chg lets you use the g-; and g-, to go to recent changes
+;;; evil-visualstar enables searching visual selection with *
+;;; evil-numbers enables vim style numeric incrementing and decrementing
+
+(prelude-require-packages '(evil goto-chg evil-surround evil-visualstar evil-numbers))
+
+(require 'evil-visualstar)
+
+(setq evil-mode-line-format 'before)
+
+(setq evil-emacs-state-cursor '("red" box))
+(setq evil-normal-state-cursor '("gray" box))
+(setq evil-visual-state-cursor '("gray" box))
+(setq evil-insert-state-cursor '("gray" bar))
+(setq evil-motion-state-cursor '("gray" box))
+
+;; prevent esc-key from translating to meta-key in terminal mode
+(setq evil-esc-delay 0)
+
+(evil-mode 1)
+(global-evil-surround-mode 1)
+
+(define-key evil-normal-state-map (kbd "C-A")
+ 'evil-numbers/inc-at-pt)
+(define-key evil-normal-state-map (kbd "C-S-A")
+ 'evil-numbers/dec-at-pt)
+
+;;
+;; Other useful Commands
+;;
+(evil-ex-define-cmd "W" 'evil-write-all)
+(evil-ex-define-cmd "Tree" 'speedbar-get-focus)
+(evil-ex-define-cmd "linum" 'linum-mode)
+(evil-ex-define-cmd "Align" 'align-regexp)
+
+(defun prelude-yank-to-end-of-line ()
+ "Yank to end of line."
+ (interactive)
+ (evil-yank (point) (point-at-eol)))
+
+(define-key evil-normal-state-map
+ (kbd "Y") 'prelude-yank-to-end-of-line)
+
+(defun prelude-shift-left-visual ()
+ "Shift left and restore visual selection."
+ (interactive)
+ (evil-shift-left (region-beginning) (region-end))
+ (evil-normal-state)
+ (evil-visual-restore))
+
+(defun prelude-shift-right-visual ()
+ "Shift right and restore visual selection."
+ (interactive)
+ (evil-shift-right (region-beginning) (region-end))
+ (evil-normal-state)
+ (evil-visual-restore))
+
+(define-key evil-visual-state-map (kbd ">") 'prelude-shift-right-visual)
+(define-key evil-visual-state-map (kbd "<") 'prelude-shift-left-visual)
+
+;; Scrolling
+(defun prelude-evil-scroll-down-other-window ()
+ (interactive)
+ (scroll-other-window))
+
+(defun prelude-evil-scroll-up-other-window ()
+ (interactive)
+ (scroll-other-window '-))
+
+(define-key evil-normal-state-map
+ (kbd "C-S-d") 'prelude-evil-scroll-down-other-window)
+
+(define-key evil-normal-state-map
+ (kbd "C-S-u") 'prelude-evil-scroll-up-other-window)
+
+;;
+;; Magit from avsej
+;;
+(evil-add-hjkl-bindings magit-log-mode-map 'emacs)
+(evil-add-hjkl-bindings magit-commit-mode-map 'emacs)
+(evil-add-hjkl-bindings magit-branch-manager-mode-map 'emacs
+ "K" 'magit-discard
+ "L" 'magit-log-popup)
+(evil-add-hjkl-bindings magit-status-mode-map 'emacs
+ "K" 'magit-discard
+ "l" 'magit-log-popup
+ "h" 'magit-diff-toggle-refine-hunk)
+
+(setq evil-shift-width 2)
+
+;;; enable avy with evil-mode
+(define-key evil-normal-state-map (kbd "SPC") 'avy-goto-word-1)
+
+;;; snagged from Eric S. Fraga
+;;; http://lists.gnu.org/archive/html/emacs-orgmode/2012-05/msg00153.html
+(defun prelude-evil-key-bindings-for-org ()
+ ;;(message "Defining evil key bindings for org")
+ (evil-declare-key 'normal org-mode-map
+ "gk" 'outline-up-heading
+ "gj" 'outline-next-visible-heading
+ "H" 'org-beginning-of-line ; smarter behaviour on headlines etc.
+ "L" 'org-end-of-line ; smarter behaviour on headlines etc.
+ "t" 'org-todo ; mark a TODO item as DONE
+ ",c" 'org-cycle
+ (kbd "TAB") 'org-cycle
+ ",e" 'org-export-dispatch
+ ",n" 'outline-next-visible-heading
+ ",p" 'outline-previous-visible-heading
+ ",t" 'org-set-tags-command
+ ",u" 'outline-up-heading
+ "$" 'org-end-of-line ; smarter behaviour on headlines etc.
+ "^" 'org-beginning-of-line ; ditto
+ "-" 'org-ctrl-c-minus ; change bullet style
+ "<" 'org-metaleft ; out-dent
+ ">" 'org-metaright ; indent
+ ))
+(prelude-evil-key-bindings-for-org)
+(provide 'prelude-evil)
diff --git a/emacs/.emacs.d/modules/prelude-go.el b/emacs/.emacs.d/modules/prelude-go.el
new file mode 100644
index 0000000..d711445
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-go.el
@@ -0,0 +1,84 @@
+;;; prelude-go.el --- Emacs Prelude: Go programming support.
+;;
+;; Author: Doug MacEachern
+;; Version: 1.0.0
+;; Keywords: convenience go
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Prelude configuration for Go
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+(require 'prelude-programming)
+
+(prelude-require-packages '(go-mode
+ company-go
+ go-eldoc
+ go-projectile
+ gotest))
+
+(require 'go-projectile)
+
+;; Ignore go test -c output files
+(add-to-list 'completion-ignored-extensions ".test")
+
+(define-key 'help-command (kbd "G") 'godoc)
+
+(eval-after-load 'go-mode
+ '(progn
+ (defun prelude-go-mode-defaults ()
+ ;; Add to default go-mode key bindings
+ (let ((map go-mode-map))
+ (define-key map (kbd "C-c a") 'go-test-current-project) ;; current package, really
+ (define-key map (kbd "C-c m") 'go-test-current-file)
+ (define-key map (kbd "C-c .") 'go-test-current-test)
+ (define-key map (kbd "C-c b") 'go-run)
+ (define-key map (kbd "C-h f") 'godoc-at-point))
+
+ ;; Prefer goimports to gofmt if installed
+ (let ((goimports (executable-find "goimports")))
+ (when goimports
+ (setq gofmt-command goimports)))
+
+ ;; gofmt on save
+ (add-hook 'before-save-hook 'gofmt-before-save nil t)
+
+ ;; stop whitespace being highlighted
+ (whitespace-toggle-options '(tabs))
+
+ ;; Company mode settings
+ (set (make-local-variable 'company-backends) '(company-go))
+
+ ;; El-doc for Go
+ (go-eldoc-setup)
+
+ ;; CamelCase aware editing operations
+ (subword-mode +1))
+
+ (setq prelude-go-mode-hook 'prelude-go-mode-defaults)
+
+ (add-hook 'go-mode-hook (lambda ()
+ (run-hooks 'prelude-go-mode-hook)))))
+
+(provide 'prelude-go)
+;;; prelude-go.el ends here
diff --git a/emacs/.emacs.d/modules/prelude-haskell.el b/emacs/.emacs.d/modules/prelude-haskell.el
new file mode 100644
index 0000000..d3f3b65
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-haskell.el
@@ -0,0 +1,53 @@
+;;; prelude-haskell.el --- Emacs Prelude: Nice config for Haskell programming.
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: https://github.com/bbatsov/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Nice config for Haskell programming.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+(require 'prelude-programming)
+(prelude-require-packages '(haskell-mode))
+
+(eval-after-load 'haskell-mode
+ '(progn
+ (defun prelude-haskell-mode-defaults ()
+ (subword-mode +1)
+ (eldoc-mode +1)
+ (haskell-indentation-mode +1)
+ (interactive-haskell-mode +1))
+
+ (setq prelude-haskell-mode-hook 'prelude-haskell-mode-defaults)
+
+ (add-hook 'haskell-mode-hook (lambda ()
+ (run-hooks 'prelude-haskell-mode-hook)))))
+
+(provide 'prelude-haskell)
+
+;;; prelude-haskell.el ends here
diff --git a/emacs/.emacs.d/modules/prelude-helm-everywhere.el b/emacs/.emacs.d/modules/prelude-helm-everywhere.el
new file mode 100644
index 0000000..49c739d
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-helm-everywhere.el
@@ -0,0 +1,72 @@
+;;; prelude-helm-everywhere.el --- Enable Helm everywhere
+;;
+;; Copyright © 2014-2017 Tu, Do Hoang
+;;
+;; Author: Tu, Do Hoang (tuhdo1710@gmail.com)
+;; URL: https://github.com/bbatsov/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Enable Helm everywhere with global key bindings to replace common
+;; global bindings and `helm-mode' is activated to replace `completing-read'
+;; with `helm-completing-read-default', so users can use Helm with every prompt.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+(require 'prelude-helm)
+(prelude-require-packages '(helm-descbinds helm-ag))
+(require 'helm-eshell)
+
+(global-set-key (kbd "M-x") 'helm-M-x)
+(global-set-key (kbd "C-x C-m") 'helm-M-x)
+(global-set-key (kbd "M-y") 'helm-show-kill-ring)
+(global-set-key (kbd "C-x b") 'helm-mini)
+(global-set-key (kbd "C-x C-b") 'helm-buffers-list)
+(global-set-key (kbd "C-x C-f") 'helm-find-files)
+(global-set-key (kbd "C-h f") 'helm-apropos)
+(global-set-key (kbd "C-h r") 'helm-info-emacs)
+(global-set-key (kbd "C-h C-l") 'helm-locate-library)
+(define-key prelude-mode-map (kbd "C-c f") 'helm-recentf)
+
+(define-key minibuffer-local-map (kbd "C-c C-l") 'helm-minibuffer-history)
+
+(define-key isearch-mode-map (kbd "C-o") 'helm-occur-from-isearch)
+
+;; shell history.
+(define-key shell-mode-map (kbd "C-c C-l") 'helm-comint-input-ring)
+
+;; use helm to list eshell history
+(add-hook 'eshell-mode-hook
+ #'(lambda ()
+ (substitute-key-definition 'eshell-list-history 'helm-eshell-history eshell-mode-map)))
+
+(substitute-key-definition 'find-tag 'helm-etags-select global-map)
+(setq projectile-completion-system 'helm)
+(helm-descbinds-mode)
+(helm-mode 1)
+
+;; enable Helm version of Projectile with replacment commands
+(helm-projectile-on)
+
+(provide 'prelude-helm-everywhere)
+;; prelude-helm-everywhere.el ends here.
diff --git a/emacs/.emacs.d/modules/prelude-helm.el b/emacs/.emacs.d/modules/prelude-helm.el
new file mode 100644
index 0000000..253484e
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-helm.el
@@ -0,0 +1,67 @@
+;;; prelude-helm.el --- Helm setup
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: https://github.com/bbatsov/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Some configuration for Helm following this guide:
+;; http://tuhdo.github.io/helm-intro.html
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+(prelude-require-packages '(helm helm-projectile))
+
+(require 'helm-config)
+(require 'helm-projectile)
+
+(when (executable-find "curl")
+ (setq helm-google-suggest-use-curl-p t))
+
+;; See https://github.com/bbatsov/prelude/pull/670 for a detailed
+;; discussion of these options.
+(setq helm-split-window-in-side-p t
+ helm-buffers-fuzzy-matching t
+ helm-move-to-line-cycle-in-source t
+ helm-ff-search-library-in-sexp t
+ helm-ff-file-name-history-use-recentf t)
+
+;; The default "C-x c" is quite close to "C-x C-c", which quits Emacs.
+;; Changed to "C-c h". Note: We must set "C-c h" globally, because we
+;; cannot change `helm-command-prefix-key' once `helm-config' is loaded.
+(global-set-key (kbd "C-c h") 'helm-command-prefix)
+(global-unset-key (kbd "C-x c"))
+
+(define-key helm-command-map (kbd "o") 'helm-occur)
+(define-key helm-command-map (kbd "g") 'helm-do-grep)
+(define-key helm-command-map (kbd "C-c w") 'helm-wikipedia-suggest)
+(define-key helm-command-map (kbd "SPC") 'helm-all-mark-rings)
+
+(push "Press to navigate a project in Helm." prelude-tips)
+
+(provide 'prelude-helm)
+
+;;; prelude-helm.el ends here
diff --git a/emacs/.emacs.d/modules/prelude-ido.el b/emacs/.emacs.d/modules/prelude-ido.el
new file mode 100644
index 0000000..768bf74
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-ido.el
@@ -0,0 +1,64 @@
+;;; prelude-ido.el --- Ido setup
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: https://github.com/bbatsov/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Ido-related config.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+(prelude-require-packages '(flx-ido ido-completing-read+ smex))
+
+(require 'ido)
+(require 'ido-completing-read+)
+(require 'flx-ido)
+
+(setq ido-enable-prefix nil
+ ido-enable-flex-matching t
+ ido-create-new-buffer 'always
+ ido-use-filename-at-point 'guess
+ ido-max-prospects 10
+ ido-save-directory-list-file (expand-file-name "ido.hist" prelude-savefile-dir)
+ ido-default-file-method 'selected-window
+ ido-auto-merge-work-directories-length -1)
+(ido-mode +1)
+(ido-ubiquitous-mode +1)
+
+;;; smarter fuzzy matching for ido
+(flx-ido-mode +1)
+;; disable ido faces to see flx highlights
+(setq ido-use-faces nil)
+
+;;; smex, remember recently and most frequently used commands
+(require 'smex)
+(setq smex-save-file (expand-file-name ".smex-items" prelude-savefile-dir))
+(smex-initialize)
+(global-set-key (kbd "M-x") 'smex)
+(global-set-key (kbd "M-X") 'smex-major-mode-commands)
+
+(provide 'prelude-ido)
+;;; prelude-ido.el ends here
diff --git a/emacs/.emacs.d/modules/prelude-ivy.el b/emacs/.emacs.d/modules/prelude-ivy.el
new file mode 100644
index 0000000..8ecea2f
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-ivy.el
@@ -0,0 +1,70 @@
+;;; prelude-ivy.el --- Ivy setup
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: https://github.com/bbatsov/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Ivy-related config.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+(prelude-require-packages '(ivy swiper counsel))
+
+;; ivy is a powerful alternative to the popular ido-mode
+
+(require 'ivy)
+
+(ivy-mode 1)
+(setq ivy-use-virtual-buffers t)
+(setq enable-recursive-minibuffers t)
+(global-set-key (kbd "C-c C-r") 'ivy-resume)
+(global-set-key (kbd "") 'ivy-resume)
+
+(setq projectile-completion-system 'ivy)
+
+;; swiper provides enhanced buffer search
+
+(global-set-key "\C-s" 'swiper)
+
+
+;; counsel supercharges a lot of commands with some ivy magic
+
+(global-set-key (kbd "M-x") 'counsel-M-x)
+(global-set-key (kbd "C-x C-f") 'counsel-find-file)
+(global-set-key (kbd " f") 'counsel-describe-function)
+(global-set-key (kbd " v") 'counsel-describe-variable)
+(global-set-key (kbd " l") 'counsel-find-library)
+(global-set-key (kbd " i") 'counsel-info-lookup-symbol)
+(global-set-key (kbd " u") 'counsel-unicode-char)
+(global-set-key (kbd "C-c g") 'counsel-git)
+(global-set-key (kbd "C-c j") 'counsel-git-grep)
+(global-set-key (kbd "C-c k") 'counsel-ag)
+(global-set-key (kbd "C-x l") 'counsel-locate)
+(define-key minibuffer-local-map (kbd "C-r") 'counsel-minibuffer-history)
+
+
+(provide 'prelude-ivy)
+;;; prelude-ivy.el ends here
diff --git a/emacs/.emacs.d/modules/prelude-js.el b/emacs/.emacs.d/modules/prelude-js.el
new file mode 100644
index 0000000..fd46dca
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-js.el
@@ -0,0 +1,58 @@
+;;; prelude-js.el --- Emacs Prelude: js-mode configuration.
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: https://github.com/bbatsov/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Some basic configuration for js-mode.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+(require 'prelude-programming)
+(prelude-require-packages '(js2-mode json-mode))
+
+(require 'js2-mode)
+
+(add-to-list 'auto-mode-alist '("\\.js\\'" . js2-mode))
+(add-to-list 'auto-mode-alist '("\\.pac\\'" . js2-mode))
+(add-to-list 'interpreter-mode-alist '("node" . js2-mode))
+
+(eval-after-load 'js2-mode
+ '(progn
+ (defun prelude-js-mode-defaults ()
+ ;; electric-layout-mode doesn't play nice with smartparens
+ (setq-local electric-layout-rules '((?\; . after)))
+ (setq mode-name "JS2")
+ (js2-imenu-extras-mode +1))
+
+ (setq prelude-js-mode-hook 'prelude-js-mode-defaults)
+
+ (add-hook 'js2-mode-hook (lambda () (run-hooks 'prelude-js-mode-hook)))))
+
+(provide 'prelude-js)
+
+;;; prelude-js.el ends here
diff --git a/emacs/.emacs.d/modules/prelude-key-chord.el b/emacs/.emacs.d/modules/prelude-key-chord.el
new file mode 100644
index 0000000..814f4cc
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-key-chord.el
@@ -0,0 +1,60 @@
+;;; prelude-key-chord.el --- Key chord setup
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: https://github.com/bbatsov/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Configure key-chord key bindings.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+(prelude-require-package 'key-chord)
+
+(require 'key-chord)
+
+(key-chord-define-global "jj" 'avy-goto-word-1)
+(key-chord-define-global "jl" 'avy-goto-line)
+(key-chord-define-global "jk" 'avy-goto-char)
+(key-chord-define-global "JJ" 'crux-switch-to-previous-buffer)
+(key-chord-define-global "uu" 'undo-tree-visualize)
+(key-chord-define-global "xx" 'execute-extended-command)
+(key-chord-define-global "yy" 'browse-kill-ring)
+
+(defvar key-chord-tips '("Press quickly to jump to the beginning of a visible word."
+ "Press quickly to jump to a visible line."
+ "Press quickly to jump to a visible character."
+ "Press quickly to switch to previous buffer."
+ "Press quickly to visualize the undo tree."
+ "Press quickly to execute extended command."
+ "Press quickly to browse the kill ring."))
+
+(setq prelude-tips (append prelude-tips key-chord-tips))
+
+(key-chord-mode +1)
+
+(provide 'prelude-key-chord)
+
+;;; prelude-key-chord.el ends here
diff --git a/emacs/.emacs.d/modules/prelude-latex.el b/emacs/.emacs.d/modules/prelude-latex.el
new file mode 100644
index 0000000..3ae0af3
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-latex.el
@@ -0,0 +1,93 @@
+;;; prelude-latex.el --- Emacs Prelude: Sane setup for LaTeX writers.
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: https://github.com/bbatsov/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Nice defaults for the premium LaTeX editing mode auctex.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+(prelude-require-packages '(auctex cdlatex))
+(require 'smartparens-latex)
+;; for case
+(require 'cl)
+
+(eval-after-load "company"
+ '(progn
+ (prelude-require-packages '(company-auctex))
+ (company-auctex-init)))
+
+(defcustom prelude-latex-fast-math-entry 'LaTeX-math-mode
+ "Method used for fast math symbol entry in LaTeX."
+ :link '(function-link :tag "AUCTeX Math Mode" LaTeX-math-mode)
+ :link '(emacs-commentary-link :tag "CDLaTeX" "cdlatex.el")
+ :group 'prelude
+ :type '(choice (const :tag "None" nil)
+ (const :tag "AUCTeX Math Mode" LaTeX-math-mode)
+ (const :tag "CDLaTeX" cdlatex)))
+
+;; AUCTeX configuration
+(setq TeX-auto-save t)
+(setq TeX-parse-self t)
+(setq TeX-close-quote "")
+(setq TeX-open-quote "")
+
+(setq-default TeX-master nil)
+
+;; use pdflatex
+(setq TeX-PDF-mode t)
+
+;; sensible defaults for OS X, other OSes should be covered out-of-the-box
+(when (eq system-type 'darwin)
+ (setq TeX-view-program-selection
+ '((output-dvi "DVI Viewer")
+ (output-pdf "PDF Viewer")
+ (output-html "HTML Viewer")))
+
+ (setq TeX-view-program-list
+ '(("DVI Viewer" "open %o")
+ ("PDF Viewer" "open %o")
+ ("HTML Viewer" "open %o"))))
+
+(defun prelude-latex-mode-defaults ()
+ "Default Prelude hook for `LaTeX-mode'."
+ (turn-on-auto-fill)
+ (abbrev-mode +1)
+ (smartparens-mode +1)
+ (case prelude-latex-fast-math-entry
+ (LaTeX-math-mode (LaTeX-math-mode 1))
+ (cdlatex (turn-on-cdlatex))))
+
+(setq prelude-latex-mode-hook 'prelude-latex-mode-defaults)
+
+(add-hook 'LaTeX-mode-hook (lambda ()
+ (run-hooks 'prelude-latex-mode-hook)))
+
+(provide 'prelude-latex)
+
+;;; prelude-latex.el ends here
diff --git a/emacs/.emacs.d/modules/prelude-lisp.el b/emacs/.emacs.d/modules/prelude-lisp.el
new file mode 100644
index 0000000..65ca528
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-lisp.el
@@ -0,0 +1,64 @@
+;;; prelude-lisp.el --- Emacs Prelude: Configuration common to all lisp modes.
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: https://github.com/bbatsov/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Configuration shared between all modes related to lisp-like languages.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+(require 'prelude-programming)
+(prelude-require-packages '(rainbow-delimiters))
+
+;; Lisp configuration
+(define-key read-expression-map (kbd "TAB") 'completion-at-point)
+
+;; wrap keybindings
+(define-key lisp-mode-shared-map (kbd "M-(") (prelude-wrap-with "("))
+;; FIXME: Pick terminal-friendly binding.
+;;(define-key lisp-mode-shared-map (kbd "M-[") (prelude-wrap-with "["))
+(define-key lisp-mode-shared-map (kbd "M-\"") (prelude-wrap-with "\""))
+
+;; a great lisp coding hook
+(defun prelude-lisp-coding-defaults ()
+ (smartparens-strict-mode +1)
+ (rainbow-delimiters-mode +1))
+
+(setq prelude-lisp-coding-hook 'prelude-lisp-coding-defaults)
+
+;; interactive modes don't need whitespace checks
+(defun prelude-interactive-lisp-coding-defaults ()
+ (smartparens-strict-mode +1)
+ (rainbow-delimiters-mode +1)
+ (whitespace-mode -1))
+
+(setq prelude-interactive-lisp-coding-hook 'prelude-interactive-lisp-coding-defaults)
+
+(provide 'prelude-lisp)
+
+;;; prelude-lisp.el ends here
diff --git a/emacs/.emacs.d/modules/prelude-mediawiki.el b/emacs/.emacs.d/modules/prelude-mediawiki.el
new file mode 100644
index 0000000..5796ad9
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-mediawiki.el
@@ -0,0 +1,47 @@
+;;; prelude-mediawiki.el --- Emacs Prelude: mediawiki editing config
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: https://github.com/bbatsov/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Basic configs for access to WikEmacs and Wikipedia.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+(prelude-require-packages '(mediawiki))
+
+(eval-after-load 'mediawiki
+ '(progn
+ (setq mediawiki-site-alist '(("Wikipedia" "http://en.wikipedia.org/w" "" "" "Main Page")
+ ("WikEmacs" "http://wikemacs.org/w/" "" "" "Main Page")))
+
+ ;; Emacs users care more for WikEmacs than Wikipedia :-)
+ (setq mediawiki-site-default "WikEmacs")))
+
+(provide 'prelude-mediawiki)
+
+;;; prelude-mediawiki.el ends here
diff --git a/emacs/.emacs.d/modules/prelude-ocaml.el b/emacs/.emacs.d/modules/prelude-ocaml.el
new file mode 100644
index 0000000..a354d48
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-ocaml.el
@@ -0,0 +1,92 @@
+;;; prelude-ocaml.el --- Emacs Prelude: decent Perl coding settings.
+;;
+;; Copyright © 2014-2017 Geoff Shannon
+;;
+;; Author: Geoff Shannon
+;; URL: https://github.com/bbatsov/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; tuareg is the preferred ocaml mode for Emacs
+
+;; These setups for ocaml assume that you are using the OPAM package
+;; manager (http://opam.ocaml.org/).
+
+;; Because of the apparent complexity of getting emacs environment
+;; variables setup to use opam correctly, it is instead easier to use
+;; opam itself to execute any necessary commands.
+
+;; Also, the standard OCaml toplevel usage has been replaced in favor
+;; of UTOP, the universal toplevel, and we assume that you are using
+;; the Jane Street Core libraries rather than the regular OCaml
+;; standard libraries
+
+;; The minimum required setup for using Prelude's OCaml setup would be
+;; to install OPAM, and then, minimally `opam install core utop'. A
+;; good getting started guide is available at
+;; https://github.com/realworldocaml/book/wiki/Installation-Instructions
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+(prelude-require-packages '(tuareg utop merlin flycheck-ocaml))
+
+(require 'tuareg)
+(require 'utop)
+(require 'merlin)
+
+(setq auto-mode-alist
+ (append '(("\\.ml[ily]?\\'" . tuareg-mode)
+ ("\\.topml\\'" . tuareg-mode))
+ auto-mode-alist))
+
+(with-eval-after-load 'merlin
+ ;; Disable Merlin's own error checking
+ (setq merlin-error-after-save nil)
+
+ ;; Enable Flycheck checker
+ (flycheck-ocaml-setup))
+
+(add-hook 'tuareg-mode-hook #'utop-minor-mode)
+(add-hook 'tuareg-mode-hook #'merlin-mode)
+
+(add-hook 'tuareg-mode-hook (lambda ()
+ (progn
+ (define-key tuareg-mode-map (kbd "C-c C-s")
+ 'utop)
+ (setq compile-command
+ "opam config exec corebuild "))))
+
+;; Setup merlin completions company is used by default in prelude
+(add-to-list 'company-backends 'merlin-company-backend)
+
+;; Merlin also offers support for autocomplete, uncomment this next line
+;; to activate it.
+;; (setq merlin-use-auto-complete-mode t)
+
+(setq utop-command "opam config exec utop -- -emacs"
+ merlin-error-after-save nil)
+
+(provide 'prelude-ocaml)
+
+;;; prelude-ocaml.el ends here
diff --git a/emacs/.emacs.d/modules/prelude-org.el b/emacs/.emacs.d/modules/prelude-org.el
new file mode 100644
index 0000000..d810cac
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-org.el
@@ -0,0 +1,58 @@
+;;; prelude-org.el --- Emacs Prelude: org-mode configuration.
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: https://github.com/bbatsov/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Some basic configuration for org-mode.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+(add-to-list 'auto-mode-alist '("\\.org\\’" . org-mode))
+(global-set-key "\C-cl" 'org-store-link)
+(global-set-key "\C-ca" 'org-agenda)
+(global-set-key "\C-cb" 'org-iswitchb)
+(setq org-log-done t)
+
+(defun prelude-org-mode-defaults ()
+ (let ((oldmap (cdr (assoc 'prelude-mode minor-mode-map-alist)))
+ (newmap (make-sparse-keymap)))
+ (set-keymap-parent newmap oldmap)
+ (define-key newmap (kbd "C-c +") nil)
+ (define-key newmap (kbd "C-c -") nil)
+ (define-key newmap (kbd "C-a") nil)
+ (make-local-variable 'minor-mode-overriding-map-alist)
+ (push `(prelude-mode . ,newmap) minor-mode-overriding-map-alist))
+)
+
+(setq prelude-org-mode-hook 'prelude-org-mode-defaults)
+
+(add-hook 'org-mode-hook (lambda () (run-hooks 'prelude-org-mode-hook)))
+
+(provide 'prelude-org)
+
+;;; prelude-org.el ends here
diff --git a/emacs/.emacs.d/modules/prelude-perl.el b/emacs/.emacs.d/modules/prelude-perl.el
new file mode 100644
index 0000000..b9a2f4d
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-perl.el
@@ -0,0 +1,70 @@
+;;; prelude-perl.el --- Emacs Prelude: decent Perl coding settings.
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: https://github.com/bbatsov/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; cperl-mode is the best Perl mode for Emacs out there.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+(require 'prelude-programming)
+
+;; use cperl-mode instead of perl-mode
+(defalias 'perl-mode 'cperl-mode)
+
+(define-key 'help-command "P" 'cperl-perldoc)
+
+(defun prelude-cperl-mode-defaults ()
+ (setq cperl-indent-level 4)
+ (setq cperl-continued-statement-offset 8)
+ ;; cperl-hairy affects all those variables, but I prefer
+ ;; a more fine-grained approach as far as they are concerned
+ (setq cperl-font-lock t)
+ (setq cperl-electric-lbrace-space t)
+ (setq cperl-electric-parens nil)
+ (setq cperl-electric-linefeed nil)
+ (setq cperl-electric-keywords nil)
+ (setq cperl-info-on-command-no-prompt t)
+ (setq cperl-clobber-lisp-bindings t)
+ (setq cperl-lazy-help-time 3)
+
+ ;; if you want all the bells and whistles
+ ;; (setq cperl-hairy)
+
+ (set-face-background 'cperl-array-face nil)
+ (set-face-background 'cperl-hash-face nil)
+ (setq cperl-invalid-face nil))
+
+(setq prelude-cperl-mode-hook 'prelude-cperl-mode-defaults)
+
+(add-hook 'cperl-mode-hook (lambda ()
+ (run-hooks 'prelude-cperl-mode-hook)) t)
+
+(provide 'prelude-perl)
+
+;;; prelude-perl.el ends here
diff --git a/emacs/.emacs.d/modules/prelude-programming.el b/emacs/.emacs.d/modules/prelude-programming.el
new file mode 100644
index 0000000..f487652
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-programming.el
@@ -0,0 +1,91 @@
+;;; prelude-programming.el --- Emacs Prelude: prog-mode configuration
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: https://github.com/bbatsov/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Some basic prog-mode configuration and programming related utilities.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+(defun prelude-local-comment-auto-fill ()
+ (set (make-local-variable 'comment-auto-fill-only-comments) t))
+
+(defun prelude-font-lock-comment-annotations ()
+ "Highlight a bunch of well known comment annotations.
+
+This functions should be added to the hooks of major modes for programming."
+ (font-lock-add-keywords
+ nil '(("\\<\\(\\(FIX\\(ME\\)?\\|TODO\\|OPTIMIZE\\|HACK\\|REFACTOR\\):\\)"
+ 1 font-lock-warning-face t))))
+
+;; show the name of the current function definition in the modeline
+(require 'which-func)
+(which-function-mode 1)
+
+;; in Emacs 24 programming major modes generally derive from a common
+;; mode named prog-mode; for others, we'll arrange for our mode
+;; defaults function to run prelude-prog-mode-hook directly. To
+;; augment and/or counteract these defaults your own function
+;; to prelude-prog-mode-hook, using:
+;;
+;; (add-hook 'prelude-prog-mode-hook 'my-prog-mode-defaults t)
+;;
+;; (the final optional t sets the *append* argument)
+
+;; smart curly braces
+(sp-pair "{" nil :post-handlers
+ '(((lambda (&rest _ignored)
+ (crux-smart-open-line-above)) "RET")))
+
+;; enlist a more liberal guru
+(setq guru-warn-only t)
+
+(defun prelude-prog-mode-defaults ()
+ "Default coding hook, useful with any programming language."
+ (when (and (executable-find ispell-program-name)
+ prelude-flyspell)
+ (flyspell-prog-mode))
+ (when prelude-guru
+ (guru-mode +1))
+ (smartparens-mode +1)
+ (prelude-enable-whitespace)
+ (prelude-local-comment-auto-fill)
+ (prelude-font-lock-comment-annotations))
+
+(setq prelude-prog-mode-hook 'prelude-prog-mode-defaults)
+
+(add-hook 'prog-mode-hook (lambda ()
+ (run-hooks 'prelude-prog-mode-hook)))
+
+;; enable on-the-fly syntax checking
+(if (fboundp 'global-flycheck-mode)
+ (global-flycheck-mode +1)
+ (add-hook 'prog-mode-hook 'flycheck-mode))
+
+(provide 'prelude-programming)
+;;; prelude-programming.el ends here
diff --git a/emacs/.emacs.d/modules/prelude-python.el b/emacs/.emacs.d/modules/prelude-python.el
new file mode 100644
index 0000000..49a43ff
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-python.el
@@ -0,0 +1,111 @@
+;;; prelude-python.el --- Emacs Prelude: python.el configuration.
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: https://github.com/bbatsov/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Some basic configuration for python.el (the latest and greatest
+;; Python mode Emacs has to offer).
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+(prelude-require-package 'anaconda-mode)
+
+(when (boundp 'company-backends)
+ (prelude-require-package 'company-anaconda)
+ (add-to-list 'company-backends 'company-anaconda))
+
+(require 'electric)
+(require 'prelude-programming)
+
+;; Copy pasted from ruby-mode.el
+(defun prelude-python--encoding-comment-required-p ()
+ (re-search-forward "[^\0-\177]" nil t))
+
+(defun prelude-python--detect-encoding ()
+ (let ((coding-system
+ (or save-buffer-coding-system
+ buffer-file-coding-system)))
+ (if coding-system
+ (symbol-name
+ (or (coding-system-get coding-system 'mime-charset)
+ (coding-system-change-eol-conversion coding-system nil)))
+ "ascii-8bit")))
+
+(defun prelude-python--insert-coding-comment (encoding)
+ (let ((newlines (if (looking-at "^\\s *$") "\n" "\n\n")))
+ (insert (format "# coding: %s" encoding) newlines)))
+
+(defun prelude-python-mode-set-encoding ()
+ "Insert a magic comment header with the proper encoding if necessary."
+ (save-excursion
+ (widen)
+ (goto-char (point-min))
+ (when (prelude-python--encoding-comment-required-p)
+ (goto-char (point-min))
+ (let ((coding-system (prelude-python--detect-encoding)))
+ (when coding-system
+ (if (looking-at "^#!") (beginning-of-line 2))
+ (cond ((looking-at "\\s *#\\s *.*\\(en\\)?coding\\s *:\\s *\\([-a-z0-9_]*\\)")
+ ;; update existing encoding comment if necessary
+ (unless (string= (match-string 2) coding-system)
+ (goto-char (match-beginning 2))
+ (delete-region (point) (match-end 2))
+ (insert coding-system)))
+ ((looking-at "\\s *#.*coding\\s *[:=]"))
+ (t (prelude-python--insert-coding-comment coding-system)))
+ (when (buffer-modified-p)
+ (basic-save-buffer-1)))))))
+
+(when (fboundp 'exec-path-from-shell-copy-env)
+ (exec-path-from-shell-copy-env "PYTHONPATH"))
+
+(defun prelude-python-mode-defaults ()
+ "Defaults for Python programming."
+ (subword-mode +1)
+ (anaconda-mode 1)
+ (eldoc-mode 1)
+ (setq-local electric-layout-rules
+ '((?: . (lambda ()
+ (and (zerop (first (syntax-ppss)))
+ (python-info-statement-starts-block-p)
+ 'after)))))
+ (when (fboundp #'python-imenu-create-flat-index)
+ (setq-local imenu-create-index-function
+ #'python-imenu-create-flat-index))
+ (add-hook 'post-self-insert-hook
+ #'electric-layout-post-self-insert-function nil 'local)
+ (add-hook 'after-save-hook 'prelude-python-mode-set-encoding nil 'local))
+
+(setq prelude-python-mode-hook 'prelude-python-mode-defaults)
+
+(add-hook 'python-mode-hook (lambda ()
+ (run-hooks 'prelude-python-mode-hook)))
+
+(provide 'prelude-python)
+
+;;; prelude-python.el ends here
diff --git a/emacs/.emacs.d/modules/prelude-ruby.el b/emacs/.emacs.d/modules/prelude-ruby.el
new file mode 100644
index 0000000..13ba6b4
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-ruby.el
@@ -0,0 +1,78 @@
+;;; prelude-ruby.el --- Emacs Prelude: A nice setup for Ruby (and Rails) devs.
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: https://github.com/bbatsov/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Some basic configuration for Ruby and Rails development.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+(require 'prelude-programming)
+
+(prelude-require-packages '(ruby-tools inf-ruby yari))
+
+;; Rake files are ruby, too, as are gemspecs, rackup files, and gemfiles.
+(add-to-list 'auto-mode-alist '("\\.rake\\'" . ruby-mode))
+(add-to-list 'auto-mode-alist '("Rakefile\\'" . ruby-mode))
+(add-to-list 'auto-mode-alist '("\\.gemspec\\'" . ruby-mode))
+(add-to-list 'auto-mode-alist '("\\.ru\\'" . ruby-mode))
+(add-to-list 'auto-mode-alist '("Gemfile\\'" . ruby-mode))
+(add-to-list 'auto-mode-alist '("Guardfile\\'" . ruby-mode))
+(add-to-list 'auto-mode-alist '("Capfile\\'" . ruby-mode))
+(add-to-list 'auto-mode-alist '("\\.cap\\'" . ruby-mode))
+(add-to-list 'auto-mode-alist '("\\.thor\\'" . ruby-mode))
+(add-to-list 'auto-mode-alist '("\\.rabl\\'" . ruby-mode))
+(add-to-list 'auto-mode-alist '("Thorfile\\'" . ruby-mode))
+(add-to-list 'auto-mode-alist '("Vagrantfile\\'" . ruby-mode))
+(add-to-list 'auto-mode-alist '("\\.jbuilder\\'" . ruby-mode))
+(add-to-list 'auto-mode-alist '("Podfile\\'" . ruby-mode))
+(add-to-list 'auto-mode-alist '("\\.podspec\\'" . ruby-mode))
+(add-to-list 'auto-mode-alist '("Puppetfile\\'" . ruby-mode))
+(add-to-list 'auto-mode-alist '("Berksfile\\'" . ruby-mode))
+(add-to-list 'auto-mode-alist '("Appraisals\\'" . ruby-mode))
+
+;; We never want to edit Rubinius bytecode
+(add-to-list 'completion-ignored-extensions ".rbc")
+
+(define-key 'help-command (kbd "R") 'yari)
+
+(eval-after-load 'ruby-mode
+ '(progn
+ (defun prelude-ruby-mode-defaults ()
+ (inf-ruby-minor-mode +1)
+ (ruby-tools-mode +1)
+ ;; CamelCase aware editing operations
+ (subword-mode +1))
+
+ (setq prelude-ruby-mode-hook 'prelude-ruby-mode-defaults)
+
+ (add-hook 'ruby-mode-hook (lambda ()
+ (run-hooks 'prelude-ruby-mode-hook)))))
+
+(provide 'prelude-ruby)
+;;; prelude-ruby.el ends here
diff --git a/emacs/.emacs.d/modules/prelude-rust.el b/emacs/.emacs.d/modules/prelude-rust.el
new file mode 100644
index 0000000..bb4c4a8
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-rust.el
@@ -0,0 +1,66 @@
+;;; prelude-rust.el --- Emacs Prelude: Rust programming support.
+;;
+;; Authors: Doug MacEachern, Manoel Vilela
+;; Version: 1.0.1
+;; Keywords: convenience rust
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Prelude configuration for Rust
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+(require 'prelude-programming)
+
+;; You may need installing the following packages on your system:
+;; * rustc (Rust Compiler)
+;; * cargo (Rust Package Manager)
+;; * racer (Rust Completion Tool)
+;; * rustfmt (Rust Tool for formatting code)
+
+(prelude-require-packages '(rust-mode
+ racer
+ flycheck-rust
+ cargo))
+
+(setq rust-format-on-save t)
+
+(eval-after-load 'rust-mode
+ '(progn
+ (add-hook 'rust-mode-hook 'racer-mode)
+ (add-hook 'racer-mode-hook 'eldoc-mode)
+ (add-hook 'rust-mode-hook 'cargo-minor-mode)
+ (add-hook 'rust-mode-hook 'flycheck-rust-setup)
+ (add-hook 'flycheck-mode-hook 'flycheck-rust-setup)
+
+ (defun prelude-rust-mode-defaults ()
+ (local-set-key (kbd "C-c C-d") 'racer-describe)
+ ;; CamelCase aware editing operations
+ (subword-mode +1))
+
+ (setq prelude-rust-mode-hook 'prelude-rust-mode-defaults)
+
+ (add-hook 'rust-mode-hook (lambda ()
+ (run-hooks 'prelude-rust-mode-hook)))))
+
+(provide 'prelude-rust)
+;;; prelude-rust.el ends here
diff --git a/emacs/.emacs.d/modules/prelude-scala.el b/emacs/.emacs.d/modules/prelude-scala.el
new file mode 100644
index 0000000..6270bea
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-scala.el
@@ -0,0 +1,48 @@
+;;; prelude-scala.el --- Emacs Prelude: scala-mode configuration.
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: https://github.com/bbatsov/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Some basic support for the Scala programming language
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+(require 'prelude-programming)
+(prelude-require-packages '(scala-mode ensime))
+
+(defun prelude-scala-mode-defaults ()
+ (subword-mode +1)
+ (ensime-mode +1))
+
+(setq prelude-scala-mode-hook 'prelude-scala-mode-defaults)
+
+(add-hook 'scala-mode-hook (lambda ()
+ (run-hooks 'prelude-scala-mode-hook)))
+(provide 'prelude-scala)
+
+;;; prelude-scala.el ends here
diff --git a/emacs/.emacs.d/modules/prelude-scheme.el b/emacs/.emacs.d/modules/prelude-scheme.el
new file mode 100644
index 0000000..a429c3d
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-scheme.el
@@ -0,0 +1,50 @@
+;;; prelude-scheme.el --- Emacs Prelude: Some defaults for Scheme.
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: https://github.com/bbatsov/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Some basic configuration for Scheme programming.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+(prelude-require-package 'geiser)
+
+(require 'prelude-lisp)
+(require 'geiser)
+
+;; geiser replies on a REPL to provide autodoc and completion
+(setq geiser-mode-start-repl-p t)
+
+;; keep the home clean
+(setq geiser-repl-history-filename
+ (expand-file-name "geiser-history" prelude-savefile-dir))
+
+(add-hook 'scheme-mode-hook (lambda () (run-hooks 'prelude-lisp-coding-hook)))
+
+(provide 'prelude-scheme)
+
+;;; prelude-scheme.el ends here
diff --git a/emacs/.emacs.d/modules/prelude-scss.el b/emacs/.emacs.d/modules/prelude-scss.el
new file mode 100644
index 0000000..be92668
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-scss.el
@@ -0,0 +1,49 @@
+;;; prelude-scss.el --- Emacs Prelude: scss support
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: http://www.batsov.com/emacs-prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Some basic configuration for scss-mode.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+(require 'prelude-css)
+(prelude-require-packages '(scss-mode))
+
+;; turn off annoying auto-compile on save
+(setq scss-compile-at-save nil)
+
+(defun prelude-scss-mode-defaults ()
+ (prelude-css-mode-defaults))
+
+(setq prelude-scss-mode-hook 'prelude-scss-mode-defaults)
+
+(add-hook 'scss-mode-hook (lambda () (run-hooks 'prelude-scss-mode-hook)))
+
+(provide 'prelude-scss)
+;;; prelude-scss.el ends here
diff --git a/emacs/.emacs.d/modules/prelude-shell.el b/emacs/.emacs.d/modules/prelude-shell.el
new file mode 100644
index 0000000..8d15547
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-shell.el
@@ -0,0 +1,51 @@
+;;; prelude-shell.el --- Emacs Prelude: sh-mode configuration.
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: https://github.com/bbatsov/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Some basic configuration for cc-mode and the modes derived from it.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+(require 'sh-script)
+
+;; recognize prezto files as zsh scripts
+(defvar prelude-prezto-files '("zlogin" "zlogin" "zlogout" "zpreztorc" "zprofile" "zshenv" "zshrc"))
+
+(mapc (lambda (file)
+ (add-to-list 'auto-mode-alist `(,(format "\\%s\\'" file) . sh-mode)))
+ prelude-prezto-files)
+
+(add-hook 'sh-mode-hook
+ (lambda ()
+ (if (and buffer-file-name
+ (member (file-name-nondirectory buffer-file-name) prelude-prezto-files))
+ (sh-set-shell "zsh"))))
+
+(provide 'prelude-shell)
+;;; prelude-shell.el ends here
diff --git a/emacs/.emacs.d/modules/prelude-web.el b/emacs/.emacs.d/modules/prelude-web.el
new file mode 100644
index 0000000..665f903
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-web.el
@@ -0,0 +1,73 @@
+;;; prelude-web.el --- Emacs Prelude: web template support
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: http://www.batsov.com/emacs-prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Some basic configuration for web-mode.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+(prelude-require-packages '(web-mode))
+
+(require 'web-mode)
+
+(add-to-list 'auto-mode-alist '("\\.phtml\\'" . web-mode))
+(add-to-list 'auto-mode-alist '("\\.tpl\\.php\\'" . web-mode))
+(add-to-list 'auto-mode-alist '("\\.tpl\\'" . web-mode))
+(add-to-list 'auto-mode-alist '("\\.blade\\.php\\'" . web-mode))
+(add-to-list 'auto-mode-alist '("\\.jsp\\'" . web-mode))
+(add-to-list 'auto-mode-alist '("\\.as[cp]x\\'" . web-mode))
+(add-to-list 'auto-mode-alist '("\\.erb\\'" . web-mode))
+(add-to-list 'auto-mode-alist '("\\.html?\\'" . web-mode))
+(add-to-list 'auto-mode-alist
+'("/\\(views\\|html\\|theme\\|templates\\)/.*\\.php\\'" . web-mode))
+
+;; make web-mode play nice with smartparens
+(setq web-mode-enable-auto-pairing nil)
+
+(sp-with-modes '(web-mode)
+ (sp-local-pair "%" "%"
+ :unless '(sp-in-string-p)
+ :post-handlers '(((lambda (&rest _ignored)
+ (just-one-space)
+ (save-excursion (insert " ")))
+ "SPC" "=" "#")))
+ (sp-local-tag "%" "<% " " %>")
+ (sp-local-tag "=" "<%= " " %>")
+ (sp-local-tag "#" "<%# " " %>"))
+
+(eval-after-load 'web-mode
+ '(progn
+ (defun prelude-web-mode-defaults ())
+ (setq prelude-web-mode-hook 'prelude-web-mode-defaults)
+
+ (add-hook 'web-mode-hook (lambda ()
+ (run-hooks 'prelude-web-mode-hook)))))
+
+(provide 'prelude-web)
+;;; prelude-web.el ends here
diff --git a/emacs/.emacs.d/modules/prelude-xml.el b/emacs/.emacs.d/modules/prelude-xml.el
new file mode 100644
index 0000000..d6248d3
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-xml.el
@@ -0,0 +1,50 @@
+;;; prelude-xml.el --- Emacs Prelude: XML editing configuration.
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: Bozhidar Batsov
+;; URL: https://github.com/bbatsov/prelude
+;; Version: 1.0.0
+;; Keywords: convenience
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Some basic nxml-mode configuration.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+(require 'nxml-mode)
+
+(push '("<\\?xml" . nxml-mode) magic-mode-alist)
+
+;; pom files should be treated as xml files
+(add-to-list 'auto-mode-alist '("\\.pom$" . nxml-mode))
+
+(setq nxml-child-indent 4)
+(setq nxml-attribute-indent 4)
+(setq nxml-auto-insert-xml-declaration-flag nil)
+(setq nxml-bind-meta-tab-to-complete-flag t)
+(setq nxml-slash-auto-complete-flag t)
+
+(provide 'prelude-xml)
+
+;;; prelude-xml.el ends here
diff --git a/emacs/.emacs.d/modules/prelude-yaml.el b/emacs/.emacs.d/modules/prelude-yaml.el
new file mode 100644
index 0000000..3e11508
--- /dev/null
+++ b/emacs/.emacs.d/modules/prelude-yaml.el
@@ -0,0 +1,44 @@
+;;; prelude-yaml.el --- Emacs Prelude: YAML programming support.
+;;
+;; Copyright © 2011-2017 Bozhidar Batsov
+;;
+;; Author: ToBeReplaced
+;; URL: http://batsov.com/prelude
+;; Version: 1.0.0
+;; Keywords: convenience yaml
+
+;; This file is not part of GNU Emacs.
+
+;;; Commentary:
+
+;; Prelude configuration for YAML.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+(prelude-require-packages '(yaml-mode))
+
+;; yaml-mode doesn't derive from prog-mode, but we can at least enable
+;; whitespace-mode and apply cleanup.
+(add-hook 'yaml-mode-hook 'whitespace-mode)
+(add-hook 'yaml-mode-hook 'subword-mode)
+(add-hook 'yaml-mode-hook
+ (lambda () (add-hook 'before-save-hook 'prelude-cleanup-maybe nil t)))
+
+(provide 'prelude-yaml)
+;;; prelude-yaml.el ends here
diff --git a/emacs/.emacs.d/personal/.dir-locals.el b/emacs/.emacs.d/personal/.dir-locals.el
new file mode 100644
index 0000000..69fa3ca
--- /dev/null
+++ b/emacs/.emacs.d/personal/.dir-locals.el
@@ -0,0 +1,5 @@
+;; This will make sure that nothing in your personal directory will be
+;; forced through the emacs-lisp-checkdoc flychecker. That's a great
+;; checker for real modules, but these are just config files, and you
+;; deserve not to get warnings all the time
+((emacs-lisp-mode . ((flycheck-disabled-checkers . (emacs-lisp-checkdoc)))))
diff --git a/emacs/.emacs.d/personal/.gitkeep b/emacs/.emacs.d/personal/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/emacs/.emacs.d/personal/preload/.gitkeep b/emacs/.emacs.d/personal/preload/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/emacs/.emacs.d/sample/prelude-modules.el b/emacs/.emacs.d/sample/prelude-modules.el
new file mode 100644
index 0000000..08cbe9c
--- /dev/null
+++ b/emacs/.emacs.d/sample/prelude-modules.el
@@ -0,0 +1,40 @@
+;;; Uncomment the modules you'd like to use and restart Prelude afterwards
+
+;; Emacs IRC client
+(require 'prelude-erc)
+;; (require 'prelude-ido) ;; Super charges Emacs completion for C-x C-f and more
+(require 'prelude-ivy) ;; A mighty modern alternative to ido
+;; (require 'prelude-helm) ;; Interface for narrowing and search
+;; (require 'prelude-helm-everywhere) ;; Enable Helm everywhere
+(require 'prelude-company)
+;; (require 'prelude-key-chord) ;; Binds useful features to key combinations
+;; (require 'prelude-mediawiki)
+;; (require 'prelude-evil)
+
+;;; Programming languages support
+(require 'prelude-c)
+;; (require 'prelude-clojure)
+;; (require 'prelude-coffee)
+;; (require 'prelude-common-lisp)
+;; (require 'prelude-css)
+(require 'prelude-emacs-lisp)
+;; (require 'prelude-erlang)
+;; (require 'prelude-elixir)
+;; (require 'prelude-go)
+;; (require 'prelude-haskell)
+(require 'prelude-js)
+;; (require 'prelude-latex)
+(require 'prelude-lisp)
+;; (require 'prelude-ocaml)
+(require 'prelude-org) ;; Org-mode helps you keep TODO lists, notes and more
+(require 'prelude-perl)
+;; (require 'prelude-python)
+;; (require 'prelude-ruby)
+;; (require 'prelude-rust)
+;; (require 'prelude-scala)
+(require 'prelude-scheme)
+(require 'prelude-shell)
+;; (require 'prelude-scss)
+;; (require 'prelude-web) ;; Emacs mode for web templates
+(require 'prelude-xml)
+;; (require 'prelude-yaml)
diff --git a/emacs/.emacs.d/sample/prelude-pinned-packages.el b/emacs/.emacs.d/sample/prelude-pinned-packages.el
new file mode 100644
index 0000000..6d79431
--- /dev/null
+++ b/emacs/.emacs.d/sample/prelude-pinned-packages.el
@@ -0,0 +1,133 @@
+(add-to-list 'package-archives
+ '("melpa-stable" . "https://stable.melpa.org/packages/") t)
+
+(setq package-pinned-packages
+ '(
+ (ace-window . "melpa-stable")
+ (alchemist . "melpa-stable")
+ (anaconda-mode . "melpa-stable")
+ (anzu . "melpa-stable")
+ (async . "melpa-stable")
+ (avy . "melpa-stable")
+ (browse-kill-ring . "melpa-stable")
+ (caml . "melpa-stable")
+ (cask-mode . "melpa-stable")
+ (cdlatex . "melpa-stable")
+ (cider . "melpa-stable")
+ (clojure-mode . "melpa-stable")
+ (cmake-mode . "melpa-stable")
+ (coffee-mode . "melpa-stable")
+ (company . "melpa-stable")
+ (company-anaconda . "melpa-stable")
+ (company-auctex . "melpa-stable")
+ (company-go . "melpa-stable")
+ (crux . "melpa-stable")
+ (cython-mode . "melpa-stable")
+ (d-mode . "melpa-stable")
+ (dart-mode . "melpa-stable")
+ (dash . "melpa-stable")
+ (diff-hl . "melpa-stable")
+ (diminish . "melpa-stable")
+ (discover-my-major . "melpa-stable")
+ (dockerfile-mode . "melpa-stable")
+ (easy-kill . "melpa-stable")
+ (elisp-slime-nav . "melpa-stable")
+ (elixir-mode . "melpa-stable")
+ (elm-mode . "melpa-stable")
+ (ensime . "melpa-stable")
+ (epl . "melpa-stable")
+ (erlang . "melpa-stable")
+ (evil . "melpa-stable")
+ (evil-numbers . "melpa-stable")
+ (evil-surround . "melpa-stable")
+ (evil-visualstar . "melpa-stable")
+ (exec-path-from-shell . "melpa-stable")
+ (expand-region . "melpa-stable")
+ (f . "melpa-stable")
+ (feature-mode . "melpa-stable")
+ (flx . "melpa-stable")
+ (flx-ido . "melpa-stable")
+ (flycheck . "melpa-stable")
+ (flycheck-ocaml . "melpa-stable")
+ (geiser . "melpa-stable")
+ (gh . "melpa-stable")
+ (gist . "melpa-stable")
+ (git-commit . "melpa-stable")
+ (git-timemachine . "melpa-stable")
+ (gitconfig-mode . "melpa-stable")
+ (gitignore-mode . "melpa-stable")
+ (go-eldoc . "melpa-stable")
+ (go-guru . "melpa-stable")
+ (go-mode . "melpa-stable")
+ (go-projectile . "melpa-stable")
+ (go-rename . "melpa-stable")
+ (gotest . "melpa-stable")
+ (goto-chg . "melpa-stable")
+ (grizzl . "melpa-stable")
+ (groovy-mode . "melpa-stable")
+ (guru-mode . "melpa-stable")
+ (haml-mode . "melpa-stable")
+ (haskell-mode . "melpa-stable")
+ (helm . "melpa-stable")
+ (helm-ag . "melpa-stable")
+ (helm-core . "melpa-stable")
+ (helm-descbinds . "melpa-stable")
+ (helm-projectile . "melpa-stable")
+ (imenu-anywhere . "melpa-stable")
+ (inf-ruby . "melpa-stable")
+ (js2-mode . "melpa-stable")
+ (json-mode . "melpa-stable")
+ (json-reformat . "melpa-stable")
+ (json-snatcher . "melpa-stable")
+ (kivy-mode . "melpa-stable")
+ (less-css-mode . "melpa-stable")
+ (logito . "melpa-stable")
+ (lua-mode . "melpa-stable")
+ (macrostep . "melpa-stable")
+ (magit . "melpa-stable")
+ (magit-popup . "melpa-stable")
+ (makey . "melpa-stable")
+ (markdown-mode . "melpa-stable")
+ (marshal . "melpa-stable")
+ (mediawiki . "melpa-stable")
+ (merlin . "melpa-stable")
+ (operate-on-number . "melpa-stable")
+ (ov . "melpa-stable")
+ (pcache . "melpa-stable")
+ (php-mode . "melpa-stable")
+ (pkg-info . "melpa-stable")
+ (pkgbuild-mode . "melpa-stable")
+ (popup . "melpa-stable")
+ (projectile . "melpa-stable")
+ (protobuf-mode . "melpa-stable")
+ (puppet-mode . "melpa-stable")
+ (pythonic . "melpa-stable")
+ (queue . "gnu")
+ (rich-minority . "melpa-stable")
+ (ruby-tools . "melpa-stable")
+ (s . "melpa-stable")
+ (sass-mode . "melpa-stable")
+ (sbt-mode . "melpa-stable")
+ (scala-mode . "melpa-stable")
+ (scss-mode . "melpa-stable")
+ (slim-mode . "melpa-stable")
+ (slime . "melpa-stable")
+ (smart-mode-line . "melpa-stable")
+ (smartparens . "melpa-stable")
+ (smartrep . "melpa-stable")
+ (smex . "melpa-stable")
+ (spinner . "gnu")
+ (stylus-mode . "melpa-stable")
+ (swift-mode . "melpa-stable")
+ (thrift . "melpa-stable")
+ (tuareg . "melpa-stable")
+ (utop . "melpa-stable")
+ (volatile-highlights . "melpa-stable")
+ (web-mode . "melpa-stable")
+ (which-key . "melpa-stable")
+ (with-editor . "melpa-stable")
+ (yaml-mode . "melpa-stable")
+ (yasnippet . "melpa-stable")
+ (zenburn-theme . "melpa-stable")
+ (zop-to-char . "melpa-stable")
+ ))
diff --git a/emacs/.emacs.d/snippets/c++-mode/.yas-parents b/emacs/.emacs.d/snippets/c++-mode/.yas-parents
deleted file mode 100644
index ce9828b..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/.yas-parents
+++ /dev/null
@@ -1 +0,0 @@
-cc-mode
diff --git a/emacs/.emacs.d/snippets/c++-mode/.yas-setup.el b/emacs/.emacs.d/snippets/c++-mode/.yas-setup.el
deleted file mode 100644
index 59c0295..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/.yas-setup.el
+++ /dev/null
@@ -1,12 +0,0 @@
-(require 'yasnippet)
-
-(defun yas-c++-class-name (str)
- "Search for a class name like `DerivedClass' in STR
-(which may look like `DerivedClass : ParentClass1, ParentClass2, ...')
-
-If found, the class name is returned, otherwise STR is returned"
- (yas-substr str "[^: ]*"))
-
-(defun yas-c++-class-method-declare-choice ()
- "Choose and return the end of a C++11 class method declaration"
- (yas-choose-value '(";" " = default;" " = delete;")))
diff --git a/emacs/.emacs.d/snippets/c++-mode/.yas-setup.elc b/emacs/.emacs.d/snippets/c++-mode/.yas-setup.elc
deleted file mode 100644
index 6cbc4c7..0000000
Binary files a/emacs/.emacs.d/snippets/c++-mode/.yas-setup.elc and /dev/null differ
diff --git a/emacs/.emacs.d/snippets/c++-mode/acl b/emacs/.emacs.d/snippets/c++-mode/acl
deleted file mode 100644
index 9d5d042..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/acl
+++ /dev/null
@@ -1,8 +0,0 @@
-# -*- mode: snippet -*-
-# name: accumulate
-# key: acl
-# --
-auto sum = std::accumulate(std::begin(${1:container}), std::end($1), 0, [](int total, $2) {
- $3
-});
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/acm b/emacs/.emacs.d/snippets/c++-mode/acm
deleted file mode 100644
index 6e885bc..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/acm
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: accumulate
-# key: acm
-# --
-auto sum = std::accumulate(std::begin(${1:container}), std::end($1), 0);
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/ajf b/emacs/.emacs.d/snippets/c++-mode/ajf
deleted file mode 100644
index 105419e..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/ajf
+++ /dev/null
@@ -1,9 +0,0 @@
-# -*- mode: snippet -*-
-# name: adjacent_find
-# key: ajf
-# --
-auto pos = std::adjacent_find(std::begin(${1:container}), std::end($1));
-if (pos != std::end($1)) {
- $2
-}
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/alo b/emacs/.emacs.d/snippets/c++-mode/alo
deleted file mode 100644
index f16ad54..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/alo
+++ /dev/null
@@ -1,10 +0,0 @@
-# -*- mode: snippet -*-
-# name: all_of
-# key: alo
-# --
-if (std::all_of(std::begin(${1:container}), std::end($1), []($2) {
- $3
-})) {
- $4
-}
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/ano b/emacs/.emacs.d/snippets/c++-mode/ano
deleted file mode 100644
index 36e017f..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/ano
+++ /dev/null
@@ -1,10 +0,0 @@
-# -*- mode: snippet -*-
-# name: any_of
-# key: ano
-# --
-if (std::any_of(std::begin(${1:container}), std::end($1), []($2) {
- $3
-})) {
- $4
-}
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/assert b/emacs/.emacs.d/snippets/c++-mode/assert
deleted file mode 100644
index f8f6a49..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/assert
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: assert
-# key: ass
-# --
-assert($0);
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/beginend b/emacs/.emacs.d/snippets/c++-mode/beginend
deleted file mode 100644
index 51748ae..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/beginend
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name : v.begin(), v.end()
-# key: beginend
-# --
-${1:v}.begin(), $1.end
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/boost_require b/emacs/.emacs.d/snippets/c++-mode/boost_require
deleted file mode 100644
index 804bb3f..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/boost_require
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: boost_require
-# key: req
-# group: boost
-# --
-BOOST_REQUIRE( ${1:condition} );
-$0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/cerr b/emacs/.emacs.d/snippets/c++-mode/cerr
deleted file mode 100644
index 2be4917..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/cerr
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: cerr
-# key: err
-# --
-cerr << $0;
diff --git a/emacs/.emacs.d/snippets/c++-mode/cin b/emacs/.emacs.d/snippets/c++-mode/cin
deleted file mode 100644
index 401ccda..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/cin
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: cin
-# key: cin
-# --
-cin >> $0;
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/class b/emacs/.emacs.d/snippets/c++-mode/class
deleted file mode 100644
index 18d0b54..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/class
+++ /dev/null
@@ -1,11 +0,0 @@
-# -*- mode: snippet -*-
-# name: class
-# key: cls
-# --
-class ${1:Name}
-{
-public:
- ${1:$(yas/substr yas-text "[^: ]*")}();
- ${2:virtual ~${1:$(yas/substr yas-text "[^: ]*")}();}
-};
-$0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/class11 b/emacs/.emacs.d/snippets/c++-mode/class11
deleted file mode 100644
index 8151299..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/class11
+++ /dev/null
@@ -1,44 +0,0 @@
-# -*- mode: snippet -*-
-# name: class11
-# key: cls11
-# group: c++11
-# uuid: d7c41f87-9b8a-479d-bb12-89f4cbdd46a7
-# contributor: Ved Vyas
-# desc: Snippet for C++11 classes based on c++-mode/class. Allows for Rule of
-# [0, All]. A choice between ";", " = default;", and " = delete;" is presented
-# for each method. The methods and some of the optional keywords/specifiers are
-# exposed as fields that users can easily skip-and-clear.
-# Hackish query-replace-regexp to renumber non-mirror fields in the region
-# between public and protected (can use N as a field number in the snippet):
-# \${[0-9N]*:\([^\$]\) -> ${\,(+ 2 \#):\1
-# References:
-# 1. http://en.cppreference.com/w/cpp/language/rule_of_three#Rule_of_five
-# 2. https://en.wikipedia.org/wiki/Rule_of_three_%28C%2B%2B_programming%29#Example_in_C.2B.2B
-# 3. http://stackoverflow.com/a/4782927
-# --
-class ${1:Name}
-{
-public:
-${2: ${3://! Default constructor
- }${1:$(yas-c++-class-name yas-text)}()${4:;$(yas-c++-class-method-declare-choice)}
-
-}${5: ${6://! Copy constructor
- }${1:$(yas-c++-class-name yas-text)}(const ${1:$(yas-c++-class-name yas-text)} &other)${7:;$(yas-c++-class-method-declare-choice)}
-
-}${8: ${9://! Move constructor
- }${1:$(yas-c++-class-name yas-text)}(${1:$(yas-c++-class-name yas-text)} &&other)${10: noexcept}${11:;$(yas-c++-class-method-declare-choice)}
-
-}${12: ${13://! Destructor
- }${14:virtual }~${1:$(yas-c++-class-name yas-text)}()${15: noexcept}${16:;$(yas-c++-class-method-declare-choice)}
-
-}${17: ${18://! Copy assignment operator
- }${1:$(yas-c++-class-name yas-text)}& operator=(const ${1:$(yas-c++-class-name yas-text)} &other)${19:;$(yas-c++-class-method-declare-choice)}
-
-}${20: ${21://! Move assignment operator
- }${1:$(yas-c++-class-name yas-text)}& operator=(${1:$(yas-c++-class-name yas-text)} &&other)${22: noexcept}${23:;$(yas-c++-class-method-declare-choice)}
-
-}$0
-
-protected:
-private:
-};
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/cni b/emacs/.emacs.d/snippets/c++-mode/cni
deleted file mode 100644
index e8694d2..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/cni
+++ /dev/null
@@ -1,8 +0,0 @@
-# -*- mode: snippet -*-
-# name: count_if
-# key: cni
-# --
-auto n = std::count_if(std::begin(${1:container}), std::end($1), []($2) {
- $3
-});
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/cnt b/emacs/.emacs.d/snippets/c++-mode/cnt
deleted file mode 100644
index 0004798..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/cnt
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: count
-# key: cnt
-# --
-auto n = std::count(std::begin(${1:container}), std::end($1), $2);
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/const_[] b/emacs/.emacs.d/snippets/c++-mode/const_[]
deleted file mode 100644
index ef92ffb..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/const_[]
+++ /dev/null
@@ -1,8 +0,0 @@
-# -*- mode: snippet -*-
-# name: const_[]
-# key: c[
-# --
-const ${1:Type}& operator[](${2:int index}) const
-{
- $0
-}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/constructor b/emacs/.emacs.d/snippets/c++-mode/constructor
deleted file mode 100644
index 95ed499..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/constructor
+++ /dev/null
@@ -1,8 +0,0 @@
-# -*- mode: snippet -*-
-# name: constructor
-# key: ct
-# --
-${1:Class}::$1(${2:args}) ${3: : ${4:init}}
-{
- $0
-}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/cout b/emacs/.emacs.d/snippets/c++-mode/cout
deleted file mode 100644
index 1c8e600..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/cout
+++ /dev/null
@@ -1,8 +0,0 @@
-# -*- mode: snippet -*-
-# contributor: York Zhao
-# name: cout
-# key: cout
-# --
-`(progn (goto-char (point-min)) (unless (re-search-forward
-"^using\\s-+namespace std;" nil 'no-errer) "std::"))
-`cout << $0${1: << "${2:\n}"};
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/cpb b/emacs/.emacs.d/snippets/c++-mode/cpb
deleted file mode 100644
index 0ca826c..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/cpb
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: copy_backward
-# key: cpb
-# --
-std::copy_backward(std::begin(${1:container}), std::end($1), std::end($1));
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/cpi b/emacs/.emacs.d/snippets/c++-mode/cpi
deleted file mode 100644
index 4c17712..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/cpi
+++ /dev/null
@@ -1,9 +0,0 @@
-# -*- mode: snippet -*-
-# name: copy_if
-# key: cpi
-# --
-std::copy_if(std::begin(${1:container}), std::end($1), std::begin($2),
-[]($3) {
- $4
-});
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/cpn b/emacs/.emacs.d/snippets/c++-mode/cpn
deleted file mode 100644
index a96996e..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/cpn
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: copy_n
-# key: cpn
-# --
-std::copy_n(std::begin(${1:container}), $2, std::end($1));
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/cpp b/emacs/.emacs.d/snippets/c++-mode/cpp
deleted file mode 100644
index 99ea53c..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/cpp
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: cpp
-# key: cpp
-# --
-#include "`(file-name-nondirectory (file-name-sans-extension (buffer-file-name)))`.h"
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/cpy b/emacs/.emacs.d/snippets/c++-mode/cpy
deleted file mode 100644
index 14b36b6..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/cpy
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: copy
-# key: cpy
-# --
-std::copy(std::begin(${1:container}), std::end($1), std::begin($2));
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/cstd b/emacs/.emacs.d/snippets/c++-mode/cstd
deleted file mode 100644
index 6148875..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/cstd
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: cstd
-# key: cstd
-# --
-#include
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/d+= b/emacs/.emacs.d/snippets/c++-mode/d+=
deleted file mode 100644
index b3bf110..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/d+=
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: d+=
-# key: d+=
-# --
-${1:MyClass}& operator+=(${2:const $1 &});
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/d_operator b/emacs/.emacs.d/snippets/c++-mode/d_operator
deleted file mode 100644
index c7f40fc..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/d_operator
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: d_operator<<
-# key: <<
-# --
-friend std::ostream& operator<<(std::ostream&, const ${1:Class}&);
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/d_operator[] b/emacs/.emacs.d/snippets/c++-mode/d_operator[]
deleted file mode 100644
index d0555f7..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/d_operator[]
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: d_operator[]
-# key: [
-# --
-${1:Type}& operator[](${2:int index});
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/d_operator[]_const b/emacs/.emacs.d/snippets/c++-mode/d_operator[]_const
deleted file mode 100644
index b4c1f8f..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/d_operator[]_const
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: d_operator[]_const
-# key: c[
-# --
-const ${1:Type}& operator[](${2:int index}) const;
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/d_operator_istream b/emacs/.emacs.d/snippets/c++-mode/d_operator_istream
deleted file mode 100644
index 36f88e0..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/d_operator_istream
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: d_operator>>
-# key: >>
-# --
-friend std::istream& operator>>(std::istream&, const ${1:Class}&);
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/d_operator_ostream b/emacs/.emacs.d/snippets/c++-mode/d_operator_ostream
deleted file mode 100644
index c7f40fc..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/d_operator_ostream
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: d_operator<<
-# key: <<
-# --
-friend std::ostream& operator<<(std::ostream&, const ${1:Class}&);
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/delete b/emacs/.emacs.d/snippets/c++-mode/delete
deleted file mode 100644
index 61119d1..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/delete
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: delete
-# key: dl
-# --
-delete ${1:pointer};
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/delete[] b/emacs/.emacs.d/snippets/c++-mode/delete[]
deleted file mode 100644
index 69223c2..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/delete[]
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: delete[]
-# key: dla
-# --
-delete[] ${1:arr};
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/doc b/emacs/.emacs.d/snippets/c++-mode/doc
deleted file mode 100644
index b58550a..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/doc
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: doc
-# key: doc
-# --
-/**
- * $0
- */
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/dynamic_casting b/emacs/.emacs.d/snippets/c++-mode/dynamic_casting
deleted file mode 100644
index f09c171..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/dynamic_casting
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: dynamic_casting
-# key: cast
-# --
-check_and_cast<${1:Type} *>(${2:msg});
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/enum b/emacs/.emacs.d/snippets/c++-mode/enum
deleted file mode 100644
index 7b22035..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/enum
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: enum
-# key: enum
-# --
-enum ${1:NAME}{
-$0
-};
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/eql b/emacs/.emacs.d/snippets/c++-mode/eql
deleted file mode 100644
index 01368cc..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/eql
+++ /dev/null
@@ -1,8 +0,0 @@
-# -*- mode: snippet -*-
-# name: equal
-# key: eql
-# --
-if (std::equal(std::begin(${1:container}), std::end($1), std::begin($2))) {
- $3
-}
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/erm b/emacs/.emacs.d/snippets/c++-mode/erm
deleted file mode 100644
index 16b8f36..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/erm
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: remove
-# key: erm
-# --
-${1:container}.erase(std::remove(std::begin($1), std::end($1), $2), std::end($1));
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/ffo b/emacs/.emacs.d/snippets/c++-mode/ffo
deleted file mode 100644
index 36c6894..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/ffo
+++ /dev/null
@@ -1,10 +0,0 @@
-# -*- mode: snippet -*-
-# name: find_first_of
-# key: ffo
-# --
-auto pos = std::find_first_of(std::begin(${1:container}), std::end($1),
- std::begin($2), std::end($3));
-if (pos != std::end($1)) {
- $4
-}
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/fil b/emacs/.emacs.d/snippets/c++-mode/fil
deleted file mode 100644
index 12d065a..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/fil
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: fill
-# key: fil
-# --
-std::fill(std::begin(${1:container}), std::end($1), $2);
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/fin b/emacs/.emacs.d/snippets/c++-mode/fin
deleted file mode 100644
index 41eaf6c..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/fin
+++ /dev/null
@@ -1,11 +0,0 @@
-# -*- mode: snippet -*-
-# name: find_if_not
-# key: fin
-# --
-auto pos = std::find_if_not(std::begin(${1:container}), std::end($1),[]($2) {
- $3
-});
-if (pos != std::end($1)) {
- $4
-}
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/fixture b/emacs/.emacs.d/snippets/c++-mode/fixture
deleted file mode 100644
index 1a25aee..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/fixture
+++ /dev/null
@@ -1,9 +0,0 @@
-# -*- mode: snippet -*-
-# name: fixture
-# key: fixt
-# --
-BOOST_FIXTURE_TEST_SUITE( ${1:name}, ${2:Fixture} )
-
-$0
-
-BOOST_AUTO_TEST_SUITE_END()
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/fln b/emacs/.emacs.d/snippets/c++-mode/fln
deleted file mode 100644
index ef2028a..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/fln
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: fill_n
-# key: fln
-# --
-std::fill_n(std::begin(${1:container}), $2, $3);
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/fnd b/emacs/.emacs.d/snippets/c++-mode/fnd
deleted file mode 100644
index 6009138..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/fnd
+++ /dev/null
@@ -1,9 +0,0 @@
-# -*- mode: snippet -*-
-# name: find
-# key: fnd
-# --
-auto pos = std::find(std::begin(${1:container}), std::end($1), $2);
-if (pos != std::end($1)) {
- $3
-}
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/fne b/emacs/.emacs.d/snippets/c++-mode/fne
deleted file mode 100644
index 7f27e7a..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/fne
+++ /dev/null
@@ -1,10 +0,0 @@
-# -*- mode: snippet -*-
-# name: find_end
-# key: fne
-# --
-auto pos = std::find_std::end(std::begin(${1:container}), std::end($1),
- std::begin($2), std::end($3));
-if (pos != std::end($1)) {
- $4
-}
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/fni b/emacs/.emacs.d/snippets/c++-mode/fni
deleted file mode 100644
index de0a6e8..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/fni
+++ /dev/null
@@ -1,11 +0,0 @@
-# -*- mode: snippet -*-
-# name: find_if
-# key: fni
-# --
-auto pos = std::find_if(std::begin(${1:container}), std::end($1), []($2) {
- $3
-});
-if (pos != std::end($1)) {
- $4
-}
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/fori b/emacs/.emacs.d/snippets/c++-mode/fori
deleted file mode 100644
index 7676a89..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/fori
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: fori
-# key: fori
-# --
-for (${1:auto }${2:it} = ${3:var}.begin(); $2 != $3.end(); ++$2) {
- $0
-}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/fre b/emacs/.emacs.d/snippets/c++-mode/fre
deleted file mode 100644
index 09d1a78..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/fre
+++ /dev/null
@@ -1,8 +0,0 @@
-# -*- mode: snippet -*-
-# name: for_each
-# key: fre
-# --
-std::for_each(std::begin(${1:container}), std::end($1), []($2) {
- $3
-});
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/friend b/emacs/.emacs.d/snippets/c++-mode/friend
deleted file mode 100644
index d3c9009..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/friend
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: friend
-# key: fr
-# --
-friend $0;
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/fun_declaration b/emacs/.emacs.d/snippets/c++-mode/fun_declaration
deleted file mode 100644
index 03184dc..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/fun_declaration
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: fun_declaration
-# key: f
-# --
-${1:type} ${2:name}(${3:args})${4: const};
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/gnn b/emacs/.emacs.d/snippets/c++-mode/gnn
deleted file mode 100644
index b3b74b5..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/gnn
+++ /dev/null
@@ -1,8 +0,0 @@
-# -*- mode: snippet -*-
-# name: generate_n
-# key: gnn
-# --
-std::generate_n(std::begin(${1:container}), $2, []($3) {
- $4
-});
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/gnr b/emacs/.emacs.d/snippets/c++-mode/gnr
deleted file mode 100644
index e48e7c1..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/gnr
+++ /dev/null
@@ -1,8 +0,0 @@
-# -*- mode: snippet -*-
-# name: generate
-# key: gnr
-# --
-std::generate(std::begin(${1:container}), std::end($1), []($2) {
- $3
-});
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/gtest b/emacs/.emacs.d/snippets/c++-mode/gtest
deleted file mode 100644
index 8ba9c57..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/gtest
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: gtest
-# key: gtest
-# group: testing
-# --
-#include
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/ignore b/emacs/.emacs.d/snippets/c++-mode/ignore
deleted file mode 100644
index ac4085d..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/ignore
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: ignore
-# key: ignore
-# --
-${1:std::}cin.ignore(std::numeric_limits::max(), '\n');
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/ihp b/emacs/.emacs.d/snippets/c++-mode/ihp
deleted file mode 100644
index bf975b9..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/ihp
+++ /dev/null
@@ -1,8 +0,0 @@
-# -*- mode: snippet -*-
-# name: is_heap
-# key: ihp
-# --
-if (std::is_heap(std::begin(${1:container}), std::end($1))) {
- $2
-}
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/ihu b/emacs/.emacs.d/snippets/c++-mode/ihu
deleted file mode 100644
index 765508e..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/ihu
+++ /dev/null
@@ -1,9 +0,0 @@
-# -*- mode: snippet -*-
-# name: is_heap_until
-# key: ihu
-# --
-auto pos = std::is_heap_until(std::begin(${1:container}), std::end($1));
-if (pos != std::end($1)) {
- $2
-}
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/inline b/emacs/.emacs.d/snippets/c++-mode/inline
deleted file mode 100644
index da5c320..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/inline
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: inline
-# key: il
-# --
-inline $0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/io b/emacs/.emacs.d/snippets/c++-mode/io
deleted file mode 100644
index 1355dac..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/io
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: io
-# key: io
-# --
-#include
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/ipr b/emacs/.emacs.d/snippets/c++-mode/ipr
deleted file mode 100644
index c7ffd71..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/ipr
+++ /dev/null
@@ -1,8 +0,0 @@
-# -*- mode: snippet -*-
-# name: is_permutation
-# key: ipr
-# --
-if (std::is_permutation(std::begin(${1:container}), std::end($1), std::begin($2))) {
- $3
-}
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/ipt b/emacs/.emacs.d/snippets/c++-mode/ipt
deleted file mode 100644
index b7a1509..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/ipt
+++ /dev/null
@@ -1,10 +0,0 @@
-# -*- mode: snippet -*-
-# name: is_partitioned
-# key: ipt
-# --
-if (std::is_partitioned(std::begin(${1:container}), std::end($1), []($2) {
- $3
-})) {
- $4
-}
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/iss b/emacs/.emacs.d/snippets/c++-mode/iss
deleted file mode 100644
index 11c4cf0..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/iss
+++ /dev/null
@@ -1,8 +0,0 @@
-# -*- mode: snippet -*-
-# name: is_sorted
-# key: iss
-# --
-if (std::is_sorted(std::begin(${1:container}), std::end($1))) {
- $2
-}
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/isu b/emacs/.emacs.d/snippets/c++-mode/isu
deleted file mode 100644
index 0c443ff..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/isu
+++ /dev/null
@@ -1,9 +0,0 @@
-# -*- mode: snippet -*-
-# name: is_sorted_until
-# key: isu
-# --
-auto pos = std::is_sorted_until(std::begin(${1:container}), std::end($1));
-if (pos != std::end($1)) {
- $2
-}
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/ita b/emacs/.emacs.d/snippets/c++-mode/ita
deleted file mode 100644
index 45da1bc..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/ita
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: iota
-# key: ita
-# --
-std::iota(std::begin(${1:container}), std::end($1), $2);
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/iterator b/emacs/.emacs.d/snippets/c++-mode/iterator
deleted file mode 100644
index 1aad629..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/iterator
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: iterator
-# key: iter
-# --
-${1:std::}${2:vector}::iterator ${3:iter};
diff --git a/emacs/.emacs.d/snippets/c++-mode/ltr b/emacs/.emacs.d/snippets/c++-mode/ltr
deleted file mode 100644
index 1aec200..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/ltr
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: transform
-# key: ltr
-# --
-${1:container}.erase(0, $1.find_first_not_of(" \t\n\r"));
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/lwr b/emacs/.emacs.d/snippets/c++-mode/lwr
deleted file mode 100644
index 4736a05..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/lwr
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: transform
-# key: lwr
-# --
-std::transform(std::begin(${1:container}), std::end($1), std::begin($1), [](char c) {
-return std::tolower(c);});
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/lxc b/emacs/.emacs.d/snippets/c++-mode/lxc
deleted file mode 100644
index d60c1e5..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/lxc
+++ /dev/null
@@ -1,9 +0,0 @@
-# -*- mode: snippet -*-
-# name: lexigraphical_compare
-# key: lxc
-# --
-if (std::lexigraphical_compare(std::begin(${1:container}), std::end($1),
- std::begin($2), std::end($3)) {
- $4
-}
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/map b/emacs/.emacs.d/snippets/c++-mode/map
deleted file mode 100644
index 17ed9ae..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/map
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: map
-# key: map
-# --
-std::map<${1:type1}$0> ${2:var};
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/member_function b/emacs/.emacs.d/snippets/c++-mode/member_function
deleted file mode 100644
index 8b5ee6a..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/member_function
+++ /dev/null
@@ -1,8 +0,0 @@
-# -*- mode: snippet -*-
-# name: member_function
-# key: mf
-# --
-${1:type} ${2:Class}::${3:name}(${4:args})${5: const}
-{
- $0
-}
diff --git a/emacs/.emacs.d/snippets/c++-mode/mkh b/emacs/.emacs.d/snippets/c++-mode/mkh
deleted file mode 100644
index 9d50614..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/mkh
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: make_heap
-# key: mkh
-# --
-std::make_heap(std::begin(${1:container}), std::end($1));
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/mme b/emacs/.emacs.d/snippets/c++-mode/mme
deleted file mode 100644
index e40fa07..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/mme
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: minmax_element
-# key: mme
-# --
-auto minmax = std::minmax_element(std::begin(${1:container}), std::end($1));
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/mne b/emacs/.emacs.d/snippets/c++-mode/mne
deleted file mode 100644
index 0491705..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/mne
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: min_element
-# key: mne
-# --
-auto pos = std::min_element(std::begin(${1:container}), std::end($1));
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/module b/emacs/.emacs.d/snippets/c++-mode/module
deleted file mode 100644
index b962be4..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/module
+++ /dev/null
@@ -1,8 +0,0 @@
-# -*- mode: snippet -*-
-# name: module
-# key: mod
-# --
-class ${1:Class} : public cSimpleModule
-{
- $0
-}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/mpb b/emacs/.emacs.d/snippets/c++-mode/mpb
deleted file mode 100644
index 4ca0b09..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/mpb
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: move_backward
-# key: mpb
-# --
-std::move_backward(std::begin(${1:container}), std::end($1), std::end($1));
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/mrg b/emacs/.emacs.d/snippets/c++-mode/mrg
deleted file mode 100644
index d6bbc71..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/mrg
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: merge
-# key: mrg
-# --
-std::merge(std::begin(${1:container}), std::end($1),
-std::begin($2), std::end($3), std::begin($4));
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/msm b/emacs/.emacs.d/snippets/c++-mode/msm
deleted file mode 100644
index 6c729f6..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/msm
+++ /dev/null
@@ -1,11 +0,0 @@
-# -*- mode: snippet -*-
-# name: mismatch
-# key: msm
-# --
-auto values = std::mismatch(std::begin(${1:container}), std::end($1), std::begin($1));
-if (values.first == std::end($1)) {
- $2
-} else {
- $3
-}
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/mxe b/emacs/.emacs.d/snippets/c++-mode/mxe
deleted file mode 100644
index a2ffea4..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/mxe
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: max_element
-# key: mxe
-# --
-auto pos = std::max_element(std::begin(${1:container}), std::end($1));
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/namespace b/emacs/.emacs.d/snippets/c++-mode/namespace
deleted file mode 100644
index 5f702d8..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/namespace
+++ /dev/null
@@ -1,9 +0,0 @@
-# -*- mode: snippet -*-
-# name: namespace
-# key: ns
-# --
-namespace ${1:Namespace} {
-
- `yas/selected-text`
-
-} // $1
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/nno b/emacs/.emacs.d/snippets/c++-mode/nno
deleted file mode 100644
index 4372782..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/nno
+++ /dev/null
@@ -1,10 +0,0 @@
-# -*- mode: snippet -*-
-# name: none_of
-# key: nno
-# --
-if (std::none_of(std::begin(${1:container}), std::end($1), []($2) {
- $3
-})) {
- $4
-}
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/ns b/emacs/.emacs.d/snippets/c++-mode/ns
deleted file mode 100644
index 0b736e7..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/ns
+++ /dev/null
@@ -1,4 +0,0 @@
-#name : namespace ...
-# key: ns
-# --
-namespace
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/nth b/emacs/.emacs.d/snippets/c++-mode/nth
deleted file mode 100644
index e0c0fba..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/nth
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: nth_element
-# key: nth
-# --
-std::nth_element(std::begin(${1:container}), std::end($1), std::end($1));
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/nxp b/emacs/.emacs.d/snippets/c++-mode/nxp
deleted file mode 100644
index 46ece1e..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/nxp
+++ /dev/null
@@ -1,8 +0,0 @@
-# -*- mode: snippet -*-
-# name: next_permutation
-# key: nxp
-# --
-if (std::next_permutation(std::begin(${1:container}), std::end($1))) {
- $2
-}
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/oit b/emacs/.emacs.d/snippets/c++-mode/oit
deleted file mode 100644
index 74ad7e5..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/oit
+++ /dev/null
@@ -1,8 +0,0 @@
-# -*- mode: snippet -*-
-# name: copy
-# key: oit
-# --
-std::copy(std::begin(${1:container}), std::end($1), std::ostream_iterator<$2>{
-%\istd::cout, "$3"
-});
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/operator!= b/emacs/.emacs.d/snippets/c++-mode/operator!=
deleted file mode 100644
index 0b9c3c3..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/operator!=
+++ /dev/null
@@ -1,9 +0,0 @@
-# -*- mode: snippet -*-
-# name: operator!=
-# key: !=
-# group: operator overloading
-# --
-bool ${1:MyClass}::operator!=(const $1 &other) const
-{
- return !(*this == other);
-}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/operator+ b/emacs/.emacs.d/snippets/c++-mode/operator+
deleted file mode 100644
index cc1d9aa..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/operator+
+++ /dev/null
@@ -1,11 +0,0 @@
-# -*- mode: snippet -*-
-# name: operator+
-# key: +
-# group: operator overloading
-# --
-${1:MyClass} $1::operator+(const $1 &other)
-{
- $1 result = *this;
- result += other;
- return result;
-}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/operator+= b/emacs/.emacs.d/snippets/c++-mode/operator+=
deleted file mode 100644
index e913631..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/operator+=
+++ /dev/null
@@ -1,10 +0,0 @@
-# -*- mode: snippet -*-
-# name: operator+=
-# key: +=
-# group: operator overloading
-# --
-${1:MyClass}& $1::operator+=(${2:const $1 &rhs})
-{
- $0
- return *this;
-}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/operator= b/emacs/.emacs.d/snippets/c++-mode/operator=
deleted file mode 100644
index 272af5d..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/operator=
+++ /dev/null
@@ -1,14 +0,0 @@
-# -*- mode: snippet -*-
-# name: operator=
-# key: =
-# where this is a reference to myself
-# group: operator overloading
-# --
-${1:MyClass}& $1::operator=(const $1 &rhs)
-{
- // Check for self-assignment!
- if (this == &rhs)
- return *this;
- $0
- return *this;
-}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/operator== b/emacs/.emacs.d/snippets/c++-mode/operator==
deleted file mode 100644
index f8fb3e9..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/operator==
+++ /dev/null
@@ -1,9 +0,0 @@
-# -*- mode: snippet -*-
-# name: operator==
-# key: ==
-# group: operator overloading
-# --
-bool ${1:MyClass}::operator==(const $1 &other) const
-{
- $0
-}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/operator[] b/emacs/.emacs.d/snippets/c++-mode/operator[]
deleted file mode 100644
index 5fb110b..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/operator[]
+++ /dev/null
@@ -1,9 +0,0 @@
-# -*- mode: snippet -*-
-# name: operator[]
-# key: []
-# group: operator overloading
-# --
-${1:Type}& operator[](${2:int index})
-{
- $0
-}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/operator_istream b/emacs/.emacs.d/snippets/c++-mode/operator_istream
deleted file mode 100644
index e2296ab..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/operator_istream
+++ /dev/null
@@ -1,10 +0,0 @@
-# -*- mode: snippet -*-
-# name: operator>>
-# key: >>
-# group: operator overloading
-# --
-std::istream& operator>>(std::istream& is, const ${1:Class}& ${2:c})
-{
- $0
- return is;
-}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/operator_ostream b/emacs/.emacs.d/snippets/c++-mode/operator_ostream
deleted file mode 100644
index cd77eb4..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/operator_ostream
+++ /dev/null
@@ -1,10 +0,0 @@
-# -*- mode: snippet -*-
-# name: operator<<
-# key: <<
-# group: operator overloading
-# --
-std::ostream& operator<<(std::ostream& os, const ${1:Class}& ${2:c})
-{
- $0
- return os;
-}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/ostream b/emacs/.emacs.d/snippets/c++-mode/ostream
deleted file mode 100644
index 9371338..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/ostream
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: ostream
-# key: os
-# --
-#include
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/pack b/emacs/.emacs.d/snippets/c++-mode/pack
deleted file mode 100644
index 5172bb9..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/pack
+++ /dev/null
@@ -1,10 +0,0 @@
-# -*- mode: snippet -*-
-# name: pack
-# key: pack
-# --
-void cNetCommBuffer::pack(${1:type})
-{
-
-}
-
-$0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/phh b/emacs/.emacs.d/snippets/c++-mode/phh
deleted file mode 100644
index 4527265..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/phh
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: push_heap
-# key: phh
-# --
-std::push_heap(std::begin(${1:container}), std::end($1));
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/ppt b/emacs/.emacs.d/snippets/c++-mode/ppt
deleted file mode 100644
index fc05481..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/ppt
+++ /dev/null
@@ -1,11 +0,0 @@
-# -*- mode: snippet -*-
-# name: partition_point
-# key: ppt
-# --
-auto pos = std::partition_point(std::begin(${1:container}), std::end($1), []($2) {
- $3
-});
-if (pos != std::end($1)) {
- $4
-}
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/private b/emacs/.emacs.d/snippets/c++-mode/private
deleted file mode 100644
index bba11e4..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/private
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: private
-# key: pr
-# expand-env: ((yas-also-auto-indent-first-line t))
-# --
-private:
- $0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/protected b/emacs/.emacs.d/snippets/c++-mode/protected
deleted file mode 100644
index 9553957..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/protected
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: protected
-# key: pt
-# expand-env: ((yas-also-auto-indent-first-line t))
-# --
-protected:
- $0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/prp b/emacs/.emacs.d/snippets/c++-mode/prp
deleted file mode 100644
index a94f0e9..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/prp
+++ /dev/null
@@ -1,8 +0,0 @@
-# -*- mode: snippet -*-
-# name: prev_permutation
-# key: prp
-# --
-if (std::prev_permutation(std::begin(${1:container}), std::end($1))) {
- $2
-}
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/psc b/emacs/.emacs.d/snippets/c++-mode/psc
deleted file mode 100644
index ad8ff42..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/psc
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: partial_sort_copy
-# key: psc
-# --
-std::partial_sort_copy(std::begin(${1:container}), std::end($1),
- std::begin($2), std::end($3));
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/pst b/emacs/.emacs.d/snippets/c++-mode/pst
deleted file mode 100644
index e7287e2..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/pst
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: partial_sort
-# key: pst
-# --
-std::partial_sort(std::begin(${1:container}), std::end($1), std::end($1));
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/ptc b/emacs/.emacs.d/snippets/c++-mode/ptc
deleted file mode 100644
index dcd7e38..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/ptc
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: partition_copy
-# key: ptc
-# --
-std::partition_copy(std::begin(${1:container}), std::end($1),
- std::begin($2), std::end($3));
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/ptn b/emacs/.emacs.d/snippets/c++-mode/ptn
deleted file mode 100644
index 44f3c42..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/ptn
+++ /dev/null
@@ -1,11 +0,0 @@
-# -*- mode: snippet -*-
-# name: partition
-# key: ptn
-# --
-auto pos = std::partition(std::begin(${1:container}), std::end($1), []($2) {
- $3
-});
-if (pos != std::end($1)) {
- $4
-}
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/public b/emacs/.emacs.d/snippets/c++-mode/public
deleted file mode 100644
index eea5b34..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/public
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: public
-# key: pb
-# expand-env: ((yas-also-auto-indent-first-line t))
-# --
-public:
- $0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/rci b/emacs/.emacs.d/snippets/c++-mode/rci
deleted file mode 100644
index 1149255..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/rci
+++ /dev/null
@@ -1,9 +0,0 @@
-# -*- mode: snippet -*-
-# name: replace_copy_if
-# key: rci
-# --
-std::replace_copy_if(std::begin(${1:container}), std::end($1),
- std::begin($1), []($2) {
- $3
-}, $4);
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/rmc b/emacs/.emacs.d/snippets/c++-mode/rmc
deleted file mode 100644
index 681c10b..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/rmc
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: remove_copy
-# key: rmc
-# --
-std::remove_copy(std::begin(${1:container}), std::end($1),
- std::begin($1), $2);
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/rmf b/emacs/.emacs.d/snippets/c++-mode/rmf
deleted file mode 100644
index c1713ff..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/rmf
+++ /dev/null
@@ -1,9 +0,0 @@
-# -*- mode: snippet -*-
-# name: remove_copy_if
-# key: rmf
-# --
-std::remove_copy_if(std::begin(${1:container}), std::end($1),
- std::begin($1), []($2) {
- $3
-});
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/rmi b/emacs/.emacs.d/snippets/c++-mode/rmi
deleted file mode 100644
index c78f926..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/rmi
+++ /dev/null
@@ -1,11 +0,0 @@
-# -*- mode: snippet -*-
-# name: remove_if
-# key: rmi
-# --
-auto pos = std::remove_if(std::begin(${1:container}), std::end($1), []($2) {
- $3
-});
-if (pos != std::end($1)) {
- $4
-}
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/rmv b/emacs/.emacs.d/snippets/c++-mode/rmv
deleted file mode 100644
index 01fa9f9..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/rmv
+++ /dev/null
@@ -1,9 +0,0 @@
-# -*- mode: snippet -*-
-# name: remove
-# key: rmv
-# --
-auto pos = std::remove(std::begin(${1:container}), std::end($1), $2);
-if (pos != std::end($1)) {
- $3
-}
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/rpc b/emacs/.emacs.d/snippets/c++-mode/rpc
deleted file mode 100644
index a4116f1..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/rpc
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: replace_copy
-# key: rpc
-# --
-std::replace_copy(std::begin(${1:container}), std::end($1), std::begin($1), $2, $3);
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/rpi b/emacs/.emacs.d/snippets/c++-mode/rpi
deleted file mode 100644
index bc96c47..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/rpi
+++ /dev/null
@@ -1,8 +0,0 @@
-# -*- mode: snippet -*-
-# name: replace_if
-# key: rpi
-# --
-std::replace_if(std::begin(${1:container}), std::end($1), []($2) {
-$3
-}, $4);
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/rpl b/emacs/.emacs.d/snippets/c++-mode/rpl
deleted file mode 100644
index 9badf4b..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/rpl
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: replace
-# key: rpl
-# --
-std::replace(std::begin(${1:container}), std::end($1), $2, $3);
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/rtc b/emacs/.emacs.d/snippets/c++-mode/rtc
deleted file mode 100644
index 373f85d..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/rtc
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: rotate_copy
-# key: rtc
-# --
-std::rotate_copy(std::begin(${1:container}), std::begin($2), std::end($1),
- std::begin($3));
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/rte b/emacs/.emacs.d/snippets/c++-mode/rte
deleted file mode 100644
index a098782..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/rte
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: rotate
-# key: rte
-# --
-std::rotate(std::begin(${1:container}), std::begin($2), std::end($1));
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/rvc b/emacs/.emacs.d/snippets/c++-mode/rvc
deleted file mode 100644
index 2e4618d..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/rvc
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: reverse_copy
-# key: rvc
-# --
-std::reverse_copy(std::begin(${1:container}), std::end($1), std::begin($2));
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/rvr b/emacs/.emacs.d/snippets/c++-mode/rvr
deleted file mode 100644
index 71d00c5..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/rvr
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: reverse
-# key: rvr
-# --
-std::reverse(std::begin(${1:container}), std::end($1));
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/shf b/emacs/.emacs.d/snippets/c++-mode/shf
deleted file mode 100644
index ef7adb1..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/shf
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: random_shuffle
-# key: shf
-# --
-std::random_shuffle(std::begin(${1:container}), std::end($1));
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/spt b/emacs/.emacs.d/snippets/c++-mode/spt
deleted file mode 100644
index 40ef2c8..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/spt
+++ /dev/null
@@ -1,10 +0,0 @@
-# -*- mode: snippet -*-
-# name: stable_partition
-# key: spt
-# --
-auto pos = std::stable_partition(std::begin(${1:container}), std::end($1), []($2) {
- $3});
-if (pos != std::end($1)) {
- $4
-}
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/srh b/emacs/.emacs.d/snippets/c++-mode/srh
deleted file mode 100644
index 2c9df59..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/srh
+++ /dev/null
@@ -1,10 +0,0 @@
-# -*- mode: snippet -*-
-# name: search
-# key: srh
-# --
-auto pos = std::search(std::begin(${1:container}), std::end($1),
- std::begin($2), std::end($3));
-if (pos != std::end($1)) {
- $4
-}
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/srn b/emacs/.emacs.d/snippets/c++-mode/srn
deleted file mode 100644
index c7d929d..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/srn
+++ /dev/null
@@ -1,9 +0,0 @@
-# -*- mode: snippet -*-
-# name: search_n
-# key: srn
-# --
-auto pos = std::search_n(std::begin(${1:container}), std::end($1),$2,$3);
-if (pos != std::end($1)) {
- $4
-}
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/srt b/emacs/.emacs.d/snippets/c++-mode/srt
deleted file mode 100644
index 8d44cfd..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/srt
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: sort
-# key: srt
-# --
-std::sort(std::begin(${1:container}), std::end($1));
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/sstream b/emacs/.emacs.d/snippets/c++-mode/sstream
deleted file mode 100644
index 738fd11..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/sstream
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name:
-# key: ss
-# --
-#include
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/std b/emacs/.emacs.d/snippets/c++-mode/std
deleted file mode 100644
index 04d8772..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/std
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: std
-# key: std
-# --
-using namespace std;
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/std_colon b/emacs/.emacs.d/snippets/c++-mode/std_colon
deleted file mode 100644
index d9ea8e7..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/std_colon
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: std::
-# key: st
-# --
-std::$0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/sth b/emacs/.emacs.d/snippets/c++-mode/sth
deleted file mode 100644
index c8e6fb1..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/sth
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: sort_heap
-# key: sth
-# --
-std::sort_heap(std::begin(${1:container}), std::end($1));
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/sti b/emacs/.emacs.d/snippets/c++-mode/sti
deleted file mode 100644
index 37a2182..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/sti
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: cin
-# key: sti
-# --
-std::cin >>
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/sto b/emacs/.emacs.d/snippets/c++-mode/sto
deleted file mode 100644
index 30db50b..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/sto
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: cout
-# key: sto
-# --
-std::cout <<
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/str b/emacs/.emacs.d/snippets/c++-mode/str
deleted file mode 100644
index 95b865c..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/str
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: str
-# key: str
-# --
-#include
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/sts b/emacs/.emacs.d/snippets/c++-mode/sts
deleted file mode 100644
index a5c4d12..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/sts
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: stable_sort
-# key: sts
-# --
-std::stable_sort(std::begin(${1:container}), std::end($1));
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/stv b/emacs/.emacs.d/snippets/c++-mode/stv
deleted file mode 100644
index 1354c3d..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/stv
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: vector
-# key: stv
-# --
-std::vector<$2> $3
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/swr b/emacs/.emacs.d/snippets/c++-mode/swr
deleted file mode 100644
index 9357578..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/swr
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: swap_ranges
-# key: swr
-# --
-std::swap_ranges(std::begin(${1:container}), std::end($1), std::begin($2));
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/template b/emacs/.emacs.d/snippets/c++-mode/template
deleted file mode 100644
index 64814b8..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/template
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: template
-# key: temp
-# --
-template<${1:$$(yas/choose-value '("typename" "class"))} ${2:T}>
-$0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/test case b/emacs/.emacs.d/snippets/c++-mode/test case
deleted file mode 100644
index 4977ae8..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/test case
+++ /dev/null
@@ -1,9 +0,0 @@
-# -*- mode: snippet -*-
-# name: test case
-# key: tc
-# group: testing
-# --
-BOOST_AUTO_TEST_CASE( ${1:test_case} )
-{
- $0
-}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/test_main b/emacs/.emacs.d/snippets/c++-mode/test_main
deleted file mode 100644
index 9321cf3..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/test_main
+++ /dev/null
@@ -1,10 +0,0 @@
-# -*- mode: snippet -*-
-# name: test_main
-# key: test_main
-# group: testing
-# --
-int main(int argc, char **argv)
-{
- ::testing::InitGoogleTest(&argc, argv);
- return RUN_ALL_TESTS();
-}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/test_suite b/emacs/.emacs.d/snippets/c++-mode/test_suite
deleted file mode 100644
index 84d0f46..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/test_suite
+++ /dev/null
@@ -1,10 +0,0 @@
-# -*- mode: snippet -*-
-# name: test_suite
-# key: ts
-# group: testing
-# --
-BOOST_AUTO_TEST_SUITE( ${1:test_suite1} )
-
-$0
-
-BOOST_AUTO_TEST_SUITE_END()
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/tfm b/emacs/.emacs.d/snippets/c++-mode/tfm
deleted file mode 100644
index 12d4881..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/tfm
+++ /dev/null
@@ -1,9 +0,0 @@
-# -*- mode: snippet -*-
-# name: transform
-# key: tfm
-# --
-std::transform(std::begin(${1:container}), std::end($1),
- std::begin($1), []($2) {
-$3%
-});
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/this b/emacs/.emacs.d/snippets/c++-mode/this
deleted file mode 100644
index 5c7e6a3..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/this
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: this
-# key: th
-# --
-this
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/throw b/emacs/.emacs.d/snippets/c++-mode/throw
deleted file mode 100644
index 95616db..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/throw
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: throw
-# key: throw
-# --
-throw ${1:MyError}($0);
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/trm b/emacs/.emacs.d/snippets/c++-mode/trm
deleted file mode 100644
index d7ffea1..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/trm
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: generate_n
-# key: trm
-# --
-${1:container}.erase($1.find_last_not_of(" \t\n\r") + 1);
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/try b/emacs/.emacs.d/snippets/c++-mode/try
deleted file mode 100644
index f44c67f..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/try
+++ /dev/null
@@ -1,10 +0,0 @@
-# -*- mode: snippet -*-
-# name: try
-# key: try
-# a bit too intrusive now still, not always I want to do this
-# --
-try {
- $0
-} catch (${1:type}) {
-
-}
diff --git a/emacs/.emacs.d/snippets/c++-mode/tryw b/emacs/.emacs.d/snippets/c++-mode/tryw
deleted file mode 100644
index cf61928..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/tryw
+++ /dev/null
@@ -1,9 +0,0 @@
-# -*- mode: snippet -*-
-# name: tryw
-# key: tryw
-# --
-try {
- `(or yas/selected-text (car kill-ring))`
-} catch ${1:Exception} {
-
-}
diff --git a/emacs/.emacs.d/snippets/c++-mode/ucp b/emacs/.emacs.d/snippets/c++-mode/ucp
deleted file mode 100644
index 1dc71ff..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/ucp
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: unique_copy
-# key: ucp
-# --
-std::unique_copy(std::begin(${1:container}), std::end($1),
- std::ostream_iterator(std::cout, "\n"));
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/upr b/emacs/.emacs.d/snippets/c++-mode/upr
deleted file mode 100644
index 8c9e0f8..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/upr
+++ /dev/null
@@ -1,9 +0,0 @@
-# -*- mode: snippet -*-
-# name: transform
-# key: upr
-# --
-std::transform(std::begin(${1:container}), std::end($1), std::begin($1), [](char c) {
-return std::toupper(c);
-});
-$2
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/uqe b/emacs/.emacs.d/snippets/c++-mode/uqe
deleted file mode 100644
index c35ff16..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/uqe
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: unique
-# key: uqe
-# --
-auto pos = std::unique(std::begin(${1:container}), std::end($1));
-$0
diff --git a/emacs/.emacs.d/snippets/c++-mode/using b/emacs/.emacs.d/snippets/c++-mode/using
deleted file mode 100644
index 27ec885..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/using
+++ /dev/null
@@ -1,5 +0,0 @@
-#name : using namespace ...
-# key: using
-# --
-using namespace ${std};
-$0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c++-mode/vector b/emacs/.emacs.d/snippets/c++-mode/vector
deleted file mode 100644
index ef118a2..0000000
--- a/emacs/.emacs.d/snippets/c++-mode/vector
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: vector
-# key: vec
-# --
-std::vector<${1:Class}> ${2:var}${3:(${4:10}, $1($5))};
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/latex-mode/acronym b/emacs/.emacs.d/snippets/latex-mode/acronym
deleted file mode 100644
index ea2314c..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/acronym
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: acronym
-# key: ac
-# --
-\newacronym{${1:label}}{${1:$(upcase yas-text)}}{${2:Name}}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/latex-mode/alertblock b/emacs/.emacs.d/snippets/latex-mode/alertblock
deleted file mode 100644
index d259d2b..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/alertblock
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: alertblock
-# key: al
-# --
-\begin{alertblock}{$2}
- $0
-\end{alertblock}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/latex-mode/alg b/emacs/.emacs.d/snippets/latex-mode/alg
deleted file mode 100644
index 24a9c94..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/alg
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: alg
-# key: alg
-# --
-\begin{algorithmic}
-$0
-\end{algorithmic}
diff --git a/emacs/.emacs.d/snippets/latex-mode/article b/emacs/.emacs.d/snippets/latex-mode/article
deleted file mode 100644
index ec46c9a..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/article
+++ /dev/null
@@ -1,11 +0,0 @@
-# -*- mode: snippet -*-
-# name: full template of article class
-# key: article
-# --
-\documentclass[${1:options}]{article}
-
-\author{$3}
-
-\begin{document}
-$0
-\end{document}
diff --git a/emacs/.emacs.d/snippets/latex-mode/begin b/emacs/.emacs.d/snippets/latex-mode/begin
deleted file mode 100644
index dabcbe8..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/begin
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: begin
-# key: begin
-# --
-\begin{${1:environment}}
-$0
-\end{$1}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/latex-mode/block b/emacs/.emacs.d/snippets/latex-mode/block
deleted file mode 100644
index 6b16f4b..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/block
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: block
-# key: bl
-# --
-\begin{block}{$1}
- $0
-\end{block}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/latex-mode/capgls b/emacs/.emacs.d/snippets/latex-mode/capgls
deleted file mode 100644
index d469185..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/capgls
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: Gls
-# key: G
-# --
-\Gls{${1:label}}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/latex-mode/caption b/emacs/.emacs.d/snippets/latex-mode/caption
deleted file mode 100644
index 98e25fb..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/caption
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: caption
-# key: ca
-# --
-\caption{$0}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/latex-mode/cite b/emacs/.emacs.d/snippets/latex-mode/cite
deleted file mode 100644
index 2e24838..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/cite
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: cite
-# key: c
-# --
-\cite{$1} $0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/latex-mode/code b/emacs/.emacs.d/snippets/latex-mode/code
deleted file mode 100644
index cef9570..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/code
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: code
-# key: code
-# --
-\begin{lstlisting}
-$0
-\end{lstlisting}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/latex-mode/columns b/emacs/.emacs.d/snippets/latex-mode/columns
deleted file mode 100644
index 80388f1..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/columns
+++ /dev/null
@@ -1,13 +0,0 @@
-# -*- mode: snippet -*-
-# name: columns
-# key: cols
-# --
-\begin{columns}
- \begin{column}{.${1:5}\textwidth}
- $0
- \end{column}
-
- \begin{column}{.${2:5}\textwidth}
-
- \end{column}
-\end{columns}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/latex-mode/documentclass b/emacs/.emacs.d/snippets/latex-mode/documentclass
deleted file mode 100644
index 9c03a21..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/documentclass
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: documentclass
-# key: doc
-# --
-\documentclass[${1:options}]{$2}
-$0
diff --git a/emacs/.emacs.d/snippets/latex-mode/emph b/emacs/.emacs.d/snippets/latex-mode/emph
deleted file mode 100644
index 36b19d7..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/emph
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: emph
-# key: e
-# --
-\emph{$1}$0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/latex-mode/enumerate b/emacs/.emacs.d/snippets/latex-mode/enumerate
deleted file mode 100644
index d49ce37..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/enumerate
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: enumerate
-# key: enum
-# --
-\begin{enumerate}
-\item $0
-\end{enumerate}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/latex-mode/figure b/emacs/.emacs.d/snippets/latex-mode/figure
deleted file mode 100644
index a25d601..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/figure
+++ /dev/null
@@ -1,9 +0,0 @@
-# -*- mode: snippet -*-
-# name: figure
-# key: fig
-# --
-\begin{figure}[ht]
- \centering
- \includegraphics[${1:options}]{figures/${2:path.pdf}}
- \caption{\label{fig:${3:label}} $0}
-\end{figure}
diff --git a/emacs/.emacs.d/snippets/latex-mode/frac b/emacs/.emacs.d/snippets/latex-mode/frac
deleted file mode 100644
index b35f8ef..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/frac
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: frac
-# key: frac
-# --
-\frac{${1:numerator}}{${2:denominator}}$0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/latex-mode/frame b/emacs/.emacs.d/snippets/latex-mode/frame
deleted file mode 100644
index f94357d..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/frame
+++ /dev/null
@@ -1,8 +0,0 @@
-# -*- mode: snippet -*-
-# name: frame
-# key: fr
-# --
-\begin{frame}${1:[$2]}
- ${3:\frametitle{$4}}
- $0
-\end{frame}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/latex-mode/fsrtable b/emacs/.emacs.d/snippets/latex-mode/fsrtable
deleted file mode 100644
index db8385c..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/fsrtable
+++ /dev/null
@@ -1,10 +0,0 @@
-# -*- mode: snippet -*-
-# name: fsrtable
-# key: fsrtable
-# --
-\\\\
-\begin{tabular}{ccc}
-\toprule
-Ja & Nein & Enthaltung \\\\\midrule
-0 & 0 & 0 \\\\\bottomrule
-\end{tabular}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/latex-mode/gls b/emacs/.emacs.d/snippets/latex-mode/gls
deleted file mode 100644
index c6a7aac..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/gls
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: gls
-# key: g
-# --
-\gls{${1:label}}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/latex-mode/glspl b/emacs/.emacs.d/snippets/latex-mode/glspl
deleted file mode 100644
index 699927b..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/glspl
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: glspl
-# key: gp
-# --
-\glspl{${1:label}}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/latex-mode/if b/emacs/.emacs.d/snippets/latex-mode/if
deleted file mode 100644
index 2d80b81..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/if
+++ /dev/null
@@ -1,8 +0,0 @@
-# -*- mode: snippet -*-
-# name: if
-# key: if
-# --
-\IF {$${1:cond}$}
- $0
-\ELSE
-\ENDIF
diff --git a/emacs/.emacs.d/snippets/latex-mode/includegraphics b/emacs/.emacs.d/snippets/latex-mode/includegraphics
deleted file mode 100644
index d46c9a4..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/includegraphics
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: includegraphics
-# key: ig
-# --
-\includegraphics${1:[$2]}{$0}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/latex-mode/item b/emacs/.emacs.d/snippets/latex-mode/item
deleted file mode 100644
index d4773f5..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/item
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: item
-# key: -
-# --
-\item $0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/latex-mode/itemize b/emacs/.emacs.d/snippets/latex-mode/itemize
deleted file mode 100644
index 09a848f..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/itemize
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: itemize
-# key: it
-# --
-\begin{itemize}
-\item $0
-\end{itemize}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/latex-mode/label b/emacs/.emacs.d/snippets/latex-mode/label
deleted file mode 100644
index 96a72b4..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/label
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: label
-# key: lab
-# --
-\label{$0}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/latex-mode/listing b/emacs/.emacs.d/snippets/latex-mode/listing
deleted file mode 100644
index 3c95b17..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/listing
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: listing
-# key: lst
-# --
-\begin{lstlisting}[float,label=lst:${1:label},caption=nextHopInfo: ${2:caption}]
-$0
-\end{lstlisting}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/latex-mode/moderncv b/emacs/.emacs.d/snippets/latex-mode/moderncv
deleted file mode 100644
index 8de90bb..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/moderncv
+++ /dev/null
@@ -1,15 +0,0 @@
-# -*- mode: snippet -*-
-# name: full template of moderncv class
-# key: moderncv
-# --
-\documentclass[${1:options}]{moderncv}
-
-\firstname{$3}
-\familyname{$4}
-
-\moderncvstyle{${5:casual}}
-\moderncvcolor{${6:blue}}
-
-\begin{document}
-$0
-\end{document}
diff --git a/emacs/.emacs.d/snippets/latex-mode/moderncv-cvcomputer b/emacs/.emacs.d/snippets/latex-mode/moderncv-cvcomputer
deleted file mode 100644
index 1d69393..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/moderncv-cvcomputer
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: moderncv-cvcomputer
-# key: cvcomp
-# --
-\cvcomputer{${1:category}}{${2:programs}}{${3:category}}{${4:programs}}
-$0
diff --git a/emacs/.emacs.d/snippets/latex-mode/moderncv-cventry b/emacs/.emacs.d/snippets/latex-mode/moderncv-cventry
deleted file mode 100644
index 8a7b656..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/moderncv-cventry
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: moderncv-cventry
-# key: cventry
-# --
-\cventry{${1:year}}{${2:job}}{${3:employer}}{${4:city}}{${5:description}}
-$0
diff --git a/emacs/.emacs.d/snippets/latex-mode/moderncv-cvitem b/emacs/.emacs.d/snippets/latex-mode/moderncv-cvitem
deleted file mode 100644
index 268973a..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/moderncv-cvitem
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: moderncv-cvitem
-# key: cvi
-# --
-\cvitem{${1:item}}{}
-$0
diff --git a/emacs/.emacs.d/snippets/latex-mode/moderncv-cvitemwithcomment b/emacs/.emacs.d/snippets/latex-mode/moderncv-cvitemwithcomment
deleted file mode 100644
index 1a38902..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/moderncv-cvitemwithcomment
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: moderncv-cvitemwithcomment
-# key: cviwc
-# --
-\cvitemwithcomment{${1:item}}{${2:item}}{${3:item}}
-$0
diff --git a/emacs/.emacs.d/snippets/latex-mode/moderncv-cvlanguage b/emacs/.emacs.d/snippets/latex-mode/moderncv-cvlanguage
deleted file mode 100644
index c9dd65b..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/moderncv-cvlanguage
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: moderncv-cvlanguage
-# key: cvlang
-# --
-\cvlanguage{${1:language}}{${2:skill-level}}{${3:comment}}
-$0
diff --git a/emacs/.emacs.d/snippets/latex-mode/moderncv-cvline b/emacs/.emacs.d/snippets/latex-mode/moderncv-cvline
deleted file mode 100644
index a193fed..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/moderncv-cvline
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: moderncv-cvline
-# key: cvline
-# --
-\cvline{${1:hobby}}{${2:Description}}
-$0
diff --git a/emacs/.emacs.d/snippets/latex-mode/moderncv-cvlistdoubleitem b/emacs/.emacs.d/snippets/latex-mode/moderncv-cvlistdoubleitem
deleted file mode 100644
index 41f86c6..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/moderncv-cvlistdoubleitem
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: moderncv-cvlistdoubleitem
-# key: cvditem
-# --
-\cvlistdoubleitem{${1:item}}{${2:item}}
-$0
diff --git a/emacs/.emacs.d/snippets/latex-mode/moderncv-cvlistitem b/emacs/.emacs.d/snippets/latex-mode/moderncv-cvlistitem
deleted file mode 100644
index d50fc8c..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/moderncv-cvlistitem
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: moderncv-cvlistitem
-# key: cvitem
-# --
-\cvlistitem{${1:item}}
-$0
diff --git a/emacs/.emacs.d/snippets/latex-mode/moderncv-cvskill b/emacs/.emacs.d/snippets/latex-mode/moderncv-cvskill
deleted file mode 100644
index c5c8161..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/moderncv-cvskill
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: moderncv-cvskill
-# key: cvskill
-# --
-\cvitemwithcomment{${1:skill}}{\skill{${2:level}}}{${3:comment}}
-$0
diff --git a/emacs/.emacs.d/snippets/latex-mode/movie b/emacs/.emacs.d/snippets/latex-mode/movie
deleted file mode 100644
index a01d032..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/movie
+++ /dev/null
@@ -1,15 +0,0 @@
-# -*- mode: snippet -*-
-# name: movie
-# key: movie
-# --
-\begin{center}
-\includemovie[
- label=test,
- controls=false,
- text={\includegraphics[width=4in]{${1:image.pdf}}}
-]{4in}{4in}{${2:video file}}
-
-\movieref[rate=3]{test}{Play Fast}
-\movieref[rate=1]{test}{Play Normal Speed}
-\movieref[rate=0.2]{test}{Play Slow}
-\movieref[resume]{test}{Pause/Resume}
diff --git a/emacs/.emacs.d/snippets/latex-mode/newcommand b/emacs/.emacs.d/snippets/latex-mode/newcommand
deleted file mode 100644
index e9e03ca..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/newcommand
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: newcommand
-# key: cmd
-# --
-\newcommand{\\${1:name}}${2:[${3:0}]}{$0}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/latex-mode/newglossaryentry b/emacs/.emacs.d/snippets/latex-mode/newglossaryentry
deleted file mode 100644
index 66c964a..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/newglossaryentry
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: newglossaryentry
-# key: gl
-# --
-\newglossaryentry{${1:AC}}{name=${2:Andrea Crotti}${3:, description=${4:description}}}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/latex-mode/note b/emacs/.emacs.d/snippets/latex-mode/note
deleted file mode 100644
index 1122d7a..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/note
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: note
-# key: no
-# --
-\note{$0}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/latex-mode/python b/emacs/.emacs.d/snippets/latex-mode/python
deleted file mode 100644
index 0ba0fc4..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/python
+++ /dev/null
@@ -1,8 +0,0 @@
-# -*- mode: snippet -*-
-# name: python
-# key: py
-# --
-\lstset{language=python}
-\begin[language=python]{lstlisting}
-$0
-\end{lstlisting}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/latex-mode/question b/emacs/.emacs.d/snippets/latex-mode/question
deleted file mode 100644
index 235eb59..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/question
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: question
-# key: q
-# --
-\question{$0}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/latex-mode/section b/emacs/.emacs.d/snippets/latex-mode/section
deleted file mode 100644
index 88faeab..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/section
+++ /dev/null
@@ -1,8 +0,0 @@
-# -*- mode: snippet -*-
-# name: section
-# key: sec
-# --
-\section{${1:name}}
-\label{sec:${2:label}}
-
-$0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/latex-mode/subf b/emacs/.emacs.d/snippets/latex-mode/subf
deleted file mode 100644
index 0497748..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/subf
+++ /dev/null
@@ -1,8 +0,0 @@
-# -*- mode: snippet -*-
-# name: subf
-# key: sf
-# --
-\subfigure[${1:caption}]{
- \label{fig:${2:label}}
- \includegraphics[width=.${3:3}\textwidth]{${4:path}}}
-$0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/latex-mode/subfigure b/emacs/.emacs.d/snippets/latex-mode/subfigure
deleted file mode 100644
index e93678b..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/subfigure
+++ /dev/null
@@ -1,13 +0,0 @@
-# -*- mode: snippet -*-
-# name: subfigure
-# key: subfig
-# --
-\begin{figure}[ht]
- \centering
- \subfigure[$1]
- {\label{fig:${2:label}}
- \includegraphics[width=.${3:5}\textwidth]{${4:path}}}
-
- \caption{${5:caption}}
-\label{fig:${6:label}}
-\end{figure}
diff --git a/emacs/.emacs.d/snippets/latex-mode/subsec b/emacs/.emacs.d/snippets/latex-mode/subsec
deleted file mode 100644
index 5658494..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/subsec
+++ /dev/null
@@ -1,8 +0,0 @@
-# -*- mode: snippet -*-
-# name: subsec
-# key: sub
-# --
-\subsection{${1:name}}
-\label{subsec:${2:label}}
-
-$0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/latex-mode/textbf b/emacs/.emacs.d/snippets/latex-mode/textbf
deleted file mode 100644
index 84171d7..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/textbf
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: textbf
-# key: b
-# --
-\textbf{$1}$0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/latex-mode/textit b/emacs/.emacs.d/snippets/latex-mode/textit
deleted file mode 100644
index 8c1ca27..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/textit
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: textit
-# key: i
-# --
-\textit{$1}$0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/latex-mode/usepackage b/emacs/.emacs.d/snippets/latex-mode/usepackage
deleted file mode 100644
index 223ba70..0000000
--- a/emacs/.emacs.d/snippets/latex-mode/usepackage
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: usepackage
-# key: use
-# --
-\usepackage{$0}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/.yas-parents b/emacs/.emacs.d/snippets/python-mode/.yas-parents
deleted file mode 100644
index 75d003f..0000000
--- a/emacs/.emacs.d/snippets/python-mode/.yas-parents
+++ /dev/null
@@ -1 +0,0 @@
-prog-mode
diff --git a/emacs/.emacs.d/snippets/python-mode/.yas-setup.el b/emacs/.emacs.d/snippets/python-mode/.yas-setup.el
deleted file mode 100644
index 1af8703..0000000
--- a/emacs/.emacs.d/snippets/python-mode/.yas-setup.el
+++ /dev/null
@@ -1,39 +0,0 @@
-(require 'yasnippet)
-(defvar yas-text)
-
-(defun python-split-args (arg-string)
- "Split a python argument string into ((name, default)..) tuples"
- (mapcar (lambda (x)
- (split-string x "[[:blank:]]*=[[:blank:]]*" t))
- (split-string arg-string "[[:blank:]]*,[[:blank:]]*" t)))
-
-(defun python-args-to-docstring ()
- "return docstring format for the python arguments in yas-text"
- (let* ((indent (concat "\n" (make-string (current-column) 32)))
- (args (python-split-args yas-text))
- (max-len (if args (apply 'max (mapcar (lambda (x) (length (nth 0 x))) args)) 0))
- (formatted-args (mapconcat
- (lambda (x)
- (concat (nth 0 x) (make-string (- max-len (length (nth 0 x))) ? ) " -- "
- (if (nth 1 x) (concat "\(default " (nth 1 x) "\)"))))
- args
- indent)))
- (unless (string= formatted-args "")
- (mapconcat 'identity (list "Keyword Arguments:" formatted-args) indent))))
-
-(defun python-args-to-docstring-numpy ()
- "return docstring format for the python arguments in yas-text"
- (let* ((args (python-split-args yas-text))
- (format-arg (lambda(arg)
- (concat (nth 0 arg) " : " (if (nth 1 arg) ", optional") "\n")))
- (formatted-params (mapconcat format-arg args "\n"))
- (formatted-ret (mapconcat format-arg (list (list "out")) "\n")))
- (unless (string= formatted-params "")
- (mapconcat 'identity
- (list "\nParameters\n----------" formatted-params
- "\nReturns\n-------" formatted-ret)
- "\n"))))
-
-
-(add-hook 'python-mode-hook
- '(lambda () (set (make-local-variable 'yas-indent-line) 'fixed)))
diff --git a/emacs/.emacs.d/snippets/python-mode/.yas-setup.elc b/emacs/.emacs.d/snippets/python-mode/.yas-setup.elc
deleted file mode 100644
index 58fca13..0000000
Binary files a/emacs/.emacs.d/snippets/python-mode/.yas-setup.elc and /dev/null differ
diff --git a/emacs/.emacs.d/snippets/python-mode/__contains__ b/emacs/.emacs.d/snippets/python-mode/__contains__
deleted file mode 100644
index 4d4ad50..0000000
--- a/emacs/.emacs.d/snippets/python-mode/__contains__
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: __contains__
-# key: cont
-# group: dunder methods
-# --
-def __contains__(self, el):
- $0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/__enter__ b/emacs/.emacs.d/snippets/python-mode/__enter__
deleted file mode 100644
index 3dcc3ba..0000000
--- a/emacs/.emacs.d/snippets/python-mode/__enter__
+++ /dev/null
@@ -1,9 +0,0 @@
-# -*- mode: snippet -*-
-# name: __enter__
-# key: ent
-# group: dunder methods
-# --
-def __enter__(self):
- $0
-
- return self
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/__exit__ b/emacs/.emacs.d/snippets/python-mode/__exit__
deleted file mode 100644
index cd9de7d..0000000
--- a/emacs/.emacs.d/snippets/python-mode/__exit__
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: __exit__
-# key: ex
-# group: dunder methods
-# --
-def __exit__(self, type, value, traceback):
- $0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/__getitem__ b/emacs/.emacs.d/snippets/python-mode/__getitem__
deleted file mode 100644
index 939bd1a..0000000
--- a/emacs/.emacs.d/snippets/python-mode/__getitem__
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: __getitem__
-# key: getit
-# group: dunder methods
-# --
-def __getitem__(self, ${1:key}):
- $0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/__len__ b/emacs/.emacs.d/snippets/python-mode/__len__
deleted file mode 100644
index 9e6c164..0000000
--- a/emacs/.emacs.d/snippets/python-mode/__len__
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: __len__
-# key: len
-# group: dunder methods
-# --
-def __len__(self):
- $0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/__new__ b/emacs/.emacs.d/snippets/python-mode/__new__
deleted file mode 100644
index 8ccb151..0000000
--- a/emacs/.emacs.d/snippets/python-mode/__new__
+++ /dev/null
@@ -1,8 +0,0 @@
-# -*- mode: snippet -*-
-# name: __new__
-# key: new
-# group: dunder methods
-# --
-def __new__(mcs, name, bases, dct):
- $0
- return type.__new__(mcs, name, bases, dct)
diff --git a/emacs/.emacs.d/snippets/python-mode/__setitem__ b/emacs/.emacs.d/snippets/python-mode/__setitem__
deleted file mode 100644
index c7db5b1..0000000
--- a/emacs/.emacs.d/snippets/python-mode/__setitem__
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: __setitem__
-# key: setit
-# group: dunder methods
-# --
-def __setitem__(self, ${1:key}, ${2:val}):
- $0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/all b/emacs/.emacs.d/snippets/python-mode/all
deleted file mode 100644
index b92c4dc..0000000
--- a/emacs/.emacs.d/snippets/python-mode/all
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: all
-# key: all
-# --
-__all__ = [
- $0
-]
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/arg b/emacs/.emacs.d/snippets/python-mode/arg
deleted file mode 100644
index f5145ec..0000000
--- a/emacs/.emacs.d/snippets/python-mode/arg
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: arg
-# key: arg
-# group: argparser
-# --
-parser.add_argument('-$1', '--$2',
- $0)
diff --git a/emacs/.emacs.d/snippets/python-mode/arg_positional b/emacs/.emacs.d/snippets/python-mode/arg_positional
deleted file mode 100644
index b54fc46..0000000
--- a/emacs/.emacs.d/snippets/python-mode/arg_positional
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: arg_positional
-# key: arg
-# group: argparser
-# --
-parser.add_argument('${1:varname}', $0)
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/assert b/emacs/.emacs.d/snippets/python-mode/assert
deleted file mode 100644
index ec82efe..0000000
--- a/emacs/.emacs.d/snippets/python-mode/assert
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: assert
-# key: ass
-# group: testing
-# --
-assert $0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/assertEqual b/emacs/.emacs.d/snippets/python-mode/assertEqual
deleted file mode 100644
index 29282b9..0000000
--- a/emacs/.emacs.d/snippets/python-mode/assertEqual
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: assertEqual
-# key: ae
-# group: testing
-# --
-self.assertEqual($1, $2)
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/assertFalse b/emacs/.emacs.d/snippets/python-mode/assertFalse
deleted file mode 100644
index 41a9dcf..0000000
--- a/emacs/.emacs.d/snippets/python-mode/assertFalse
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: assertFalse
-# key: af
-# group: testing
-# --
-self.assertFalse($0)
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/assertIn b/emacs/.emacs.d/snippets/python-mode/assertIn
deleted file mode 100644
index 74e1ee7..0000000
--- a/emacs/.emacs.d/snippets/python-mode/assertIn
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: assertIn
-# key: ai
-# group: testing
-# --
-self.assertIn(${1:member}, ${2:container})
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/assertNotEqual b/emacs/.emacs.d/snippets/python-mode/assertNotEqual
deleted file mode 100644
index 6837407..0000000
--- a/emacs/.emacs.d/snippets/python-mode/assertNotEqual
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: assertNotEqual
-# key: ane
-# group: testing
-# --
-self.assertNotEqual($1, $2)
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/assertNotIn b/emacs/.emacs.d/snippets/python-mode/assertNotIn
deleted file mode 100644
index 4780a7e..0000000
--- a/emacs/.emacs.d/snippets/python-mode/assertNotIn
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: assetNotIn
-# key: an
-# group: testing
-# --
-self.assertNotIn(${1:member}, ${2:container})
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/assertRaises b/emacs/.emacs.d/snippets/python-mode/assertRaises
deleted file mode 100644
index db125da..0000000
--- a/emacs/.emacs.d/snippets/python-mode/assertRaises
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: assertRaises
-# key: ar
-# group: testing
-# --
-self.assertRaises(${1:Exception}, ${2:fun})
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/assertRaises.with b/emacs/.emacs.d/snippets/python-mode/assertRaises.with
deleted file mode 100644
index c97807e..0000000
--- a/emacs/.emacs.d/snippets/python-mode/assertRaises.with
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: assertRaises
-# key: ar
-# --
-with self.assertRaises(${1:Exception}):
- $0
diff --git a/emacs/.emacs.d/snippets/python-mode/assertTrue b/emacs/.emacs.d/snippets/python-mode/assertTrue
deleted file mode 100644
index 1cc59ac..0000000
--- a/emacs/.emacs.d/snippets/python-mode/assertTrue
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: assertTrue
-# key: at
-# group: testing
-# --
-self.assertTrue($0)
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/celery_pdb b/emacs/.emacs.d/snippets/python-mode/celery_pdb
deleted file mode 100644
index 6095b2d..0000000
--- a/emacs/.emacs.d/snippets/python-mode/celery_pdb
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: celery pdb
-# key: cdb
-# group: debug
-# --
-from celery.contrib import rdb; rdb.set_trace()
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/classmethod b/emacs/.emacs.d/snippets/python-mode/classmethod
deleted file mode 100644
index 8e0e106..0000000
--- a/emacs/.emacs.d/snippets/python-mode/classmethod
+++ /dev/null
@@ -1,8 +0,0 @@
-# -*- mode: snippet -*-
-# name: classmethod
-# key: cm
-# group: object oriented
-# --
-@classmethod
-def ${1:meth}(cls, $2):
- $0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/cls b/emacs/.emacs.d/snippets/python-mode/cls
deleted file mode 100644
index f857cdb..0000000
--- a/emacs/.emacs.d/snippets/python-mode/cls
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: class
-# key: cls
-# group: object oriented
-# --
-class ${1:class}:
- $0
diff --git a/emacs/.emacs.d/snippets/python-mode/dec b/emacs/.emacs.d/snippets/python-mode/dec
deleted file mode 100644
index b22c9e9..0000000
--- a/emacs/.emacs.d/snippets/python-mode/dec
+++ /dev/null
@@ -1,14 +0,0 @@
-# -*- mode: snippet -*-
-# name: dec
-# key: dec
-# group : definitions
-# --
-def ${1:decorator}(func):
- $2
- def _$1(*args, **kwargs):
- $3
- ret = func(*args, **kwargs)
- $4
- return ret
-
- return _$1
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/deftest b/emacs/.emacs.d/snippets/python-mode/deftest
deleted file mode 100644
index 394553a..0000000
--- a/emacs/.emacs.d/snippets/python-mode/deftest
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: deftest
-# key: dt
-# group: testing
-# --
-def test_${1:long_name}(self):
- $0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/django_test_class b/emacs/.emacs.d/snippets/python-mode/django_test_class
deleted file mode 100644
index 386e305..0000000
--- a/emacs/.emacs.d/snippets/python-mode/django_test_class
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet; require-final-newline: nil -*-
-# name: django_test_class
-# key: tcs
-# group: testing
-# --
-class ${1:Model}Test(TestCase):
- $0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/doc b/emacs/.emacs.d/snippets/python-mode/doc
deleted file mode 100644
index 2929e78..0000000
--- a/emacs/.emacs.d/snippets/python-mode/doc
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: doc
-# key: d
-# --
-"""$0
-"""
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/doctest b/emacs/.emacs.d/snippets/python-mode/doctest
deleted file mode 100644
index a5e4bb5..0000000
--- a/emacs/.emacs.d/snippets/python-mode/doctest
+++ /dev/null
@@ -1,8 +0,0 @@
-# -*- mode: snippet -*-
-# name: doctest
-# key: doc
-# group: testing
-# --
->>> ${1:function calls}
-${2:desired output}
-$0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/embed b/emacs/.emacs.d/snippets/python-mode/embed
deleted file mode 100644
index 8d21a7c..0000000
--- a/emacs/.emacs.d/snippets/python-mode/embed
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: embed
-# key: embed
-# --
-from IPython import embed; embed()
diff --git a/emacs/.emacs.d/snippets/python-mode/eq b/emacs/.emacs.d/snippets/python-mode/eq
deleted file mode 100644
index e19c328..0000000
--- a/emacs/.emacs.d/snippets/python-mode/eq
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: __eq__
-# key: eq
-# group: dunder methods
-# --
-def __eq__(self, other):
- return self.$1 == other.$1
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/for b/emacs/.emacs.d/snippets/python-mode/for
deleted file mode 100644
index 0033c87..0000000
--- a/emacs/.emacs.d/snippets/python-mode/for
+++ /dev/null
@@ -1,6 +0,0 @@
-# name: for ... in ... : ...
-# key: for
-# group : control structure
-# --
-for ${var} in ${collection}:
- $0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/from b/emacs/.emacs.d/snippets/python-mode/from
deleted file mode 100644
index 3a4acfc..0000000
--- a/emacs/.emacs.d/snippets/python-mode/from
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: from
-# key: from
-# group : general
-# --
-from ${1:lib} import ${2:funs}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/function b/emacs/.emacs.d/snippets/python-mode/function
deleted file mode 100644
index d7e8f12..0000000
--- a/emacs/.emacs.d/snippets/python-mode/function
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: function
-# key: f
-# group: definitions
-# --
-def ${1:fun}(${2:args}):
- $0
diff --git a/emacs/.emacs.d/snippets/python-mode/function_docstring b/emacs/.emacs.d/snippets/python-mode/function_docstring
deleted file mode 100644
index f372d26..0000000
--- a/emacs/.emacs.d/snippets/python-mode/function_docstring
+++ /dev/null
@@ -1,11 +0,0 @@
-# -*- mode: snippet -*-
-# name: function_docstring
-# key: fd
-# group: definitions
-# NOTE: Use minimum indentation, because Emacs 25+ doesn't dedent docstrings.
-# --
-def ${1:name}($2):
- \"\"\"$3
- ${2:$(python-args-to-docstring)}
- \"\"\"
- $0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/function_docstring_numpy b/emacs/.emacs.d/snippets/python-mode/function_docstring_numpy
deleted file mode 100644
index 00ea351..0000000
--- a/emacs/.emacs.d/snippets/python-mode/function_docstring_numpy
+++ /dev/null
@@ -1,11 +0,0 @@
-# -*- mode: snippet -*-
-# contributor: Egor Panfilov
-# name: function_docstring_numpy
-# key: fdn
-# group: definitions
-# --
-def ${1:name}($2):
- \"\"\"$3
- ${2:$(python-args-to-docstring-numpy)}
- \"\"\"
- $0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/if b/emacs/.emacs.d/snippets/python-mode/if
deleted file mode 100644
index d1538a9..0000000
--- a/emacs/.emacs.d/snippets/python-mode/if
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: if
-# key: if
-# group : control structure
-# --
-if ${1:cond}:
- $0
diff --git a/emacs/.emacs.d/snippets/python-mode/ife b/emacs/.emacs.d/snippets/python-mode/ife
deleted file mode 100644
index 4b8f613..0000000
--- a/emacs/.emacs.d/snippets/python-mode/ife
+++ /dev/null
@@ -1,9 +0,0 @@
-# -*- mode: snippet -*-
-# name: ife
-# key: ife
-# group : control structure
-# --
-if $1:
- $2
-else:
- $0
diff --git a/emacs/.emacs.d/snippets/python-mode/ifmain b/emacs/.emacs.d/snippets/python-mode/ifmain
deleted file mode 100644
index 9575798..0000000
--- a/emacs/.emacs.d/snippets/python-mode/ifmain
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: ifmain
-# key: ifm
-# --
-if __name__ == '__main__':
- ${1:main()}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/import b/emacs/.emacs.d/snippets/python-mode/import
deleted file mode 100644
index f34bc39..0000000
--- a/emacs/.emacs.d/snippets/python-mode/import
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: import
-# key: imp
-# group : general
-# --
-import ${1:lib}${2: as ${3:alias}}
-$0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/init b/emacs/.emacs.d/snippets/python-mode/init
deleted file mode 100644
index aece55c..0000000
--- a/emacs/.emacs.d/snippets/python-mode/init
+++ /dev/null
@@ -1,8 +0,0 @@
-# -*- mode: snippet -*-
-# name: init
-# key: init
-# group : definitions
-# --
-def __init__(self${1:, args}):
- ${2:"${3:docstring}"
- }$0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/init_docstring b/emacs/.emacs.d/snippets/python-mode/init_docstring
deleted file mode 100644
index 51af8db..0000000
--- a/emacs/.emacs.d/snippets/python-mode/init_docstring
+++ /dev/null
@@ -1,10 +0,0 @@
-# -*- mode: snippet -*-
-# name: init_docstring
-# key: id
-# group : definitions
-# --
-def __init__(self$1):
- \"\"\"$2
- ${1:$(python-args-to-docstring)}
- \"\"\"
- $0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/interact b/emacs/.emacs.d/snippets/python-mode/interact
deleted file mode 100644
index 4b412c8..0000000
--- a/emacs/.emacs.d/snippets/python-mode/interact
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: interact
-# key: int
-# --
-import code; code.interact(local=locals())
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/ipdbdebug b/emacs/.emacs.d/snippets/python-mode/ipdbdebug
deleted file mode 100644
index f45ad75..0000000
--- a/emacs/.emacs.d/snippets/python-mode/ipdbdebug
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet; require-final-newline: nil -*-
-# name: ipdb trace
-# key: itr
-# group: debug
-# --
-import ipdb; ipdb.set_trace()
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/iter b/emacs/.emacs.d/snippets/python-mode/iter
deleted file mode 100644
index a4fed13..0000000
--- a/emacs/.emacs.d/snippets/python-mode/iter
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: __iter__
-# key: iter
-# group: dunder methods
-# --
-def __iter__(self):
- return ${1:iter($2)}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/lambda b/emacs/.emacs.d/snippets/python-mode/lambda
deleted file mode 100644
index 08b268b..0000000
--- a/emacs/.emacs.d/snippets/python-mode/lambda
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: lambda
-# key: lam
-# --
-lambda ${1:x}: $0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/list b/emacs/.emacs.d/snippets/python-mode/list
deleted file mode 100644
index 63cef24..0000000
--- a/emacs/.emacs.d/snippets/python-mode/list
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: list
-# key: li
-# group : definitions
-# --
-[${1:el} for $1 in ${2:list}]
-$0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/logger_name b/emacs/.emacs.d/snippets/python-mode/logger_name
deleted file mode 100644
index 9759dd9..0000000
--- a/emacs/.emacs.d/snippets/python-mode/logger_name
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: logger_name
-# key: ln
-# --
-logger = logging.getLogger(${1:__name__})
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/logging b/emacs/.emacs.d/snippets/python-mode/logging
deleted file mode 100644
index 568eeea..0000000
--- a/emacs/.emacs.d/snippets/python-mode/logging
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: logging
-# key: log
-# --
-logger = logging.getLogger("${1:name}")
-logger.setLevel(logging.${2:level})
diff --git a/emacs/.emacs.d/snippets/python-mode/main b/emacs/.emacs.d/snippets/python-mode/main
deleted file mode 100644
index 9f3c721..0000000
--- a/emacs/.emacs.d/snippets/python-mode/main
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: main
-# key: main
-# --
-def main():
- $0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/metaclass b/emacs/.emacs.d/snippets/python-mode/metaclass
deleted file mode 100644
index 1e688e4..0000000
--- a/emacs/.emacs.d/snippets/python-mode/metaclass
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: metaclass
-# key: mt
-# group: object oriented
-# --
-__metaclass__ = type
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/method b/emacs/.emacs.d/snippets/python-mode/method
deleted file mode 100644
index 985ef0c..0000000
--- a/emacs/.emacs.d/snippets/python-mode/method
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: method
-# key: m
-# group: object oriented
-# --
-def ${1:method}(self${2:, $3}):
- $0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/method_docstring b/emacs/.emacs.d/snippets/python-mode/method_docstring
deleted file mode 100644
index 8f5e78d..0000000
--- a/emacs/.emacs.d/snippets/python-mode/method_docstring
+++ /dev/null
@@ -1,10 +0,0 @@
-# -*- mode: snippet -*-
-# name: method_docstring
-# key: md
-# group: object oriented
-# --
-def ${1:name}(self$2):
- \"\"\"$3
- ${2:$(python-args-to-docstring)}
- \"\"\"
- $0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/not_impl b/emacs/.emacs.d/snippets/python-mode/not_impl
deleted file mode 100644
index 515e353..0000000
--- a/emacs/.emacs.d/snippets/python-mode/not_impl
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: not_impl
-# key: not_impl
-# --
-raise NotImplementedError
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/np b/emacs/.emacs.d/snippets/python-mode/np
deleted file mode 100644
index 9f6327c..0000000
--- a/emacs/.emacs.d/snippets/python-mode/np
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: np
-# key: np
-# group : general
-# --
-import numpy as np
-$0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/parse_args b/emacs/.emacs.d/snippets/python-mode/parse_args
deleted file mode 100644
index aa61070..0000000
--- a/emacs/.emacs.d/snippets/python-mode/parse_args
+++ /dev/null
@@ -1,9 +0,0 @@
-# -*- mode: snippet -*-
-# name: parse_args
-# key: pargs
-# group: argparser
-# --
-def parse_arguments():
- parser = argparse.ArgumentParser(description='$1')
- $0
- return parser.parse_args()
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/parser b/emacs/.emacs.d/snippets/python-mode/parser
deleted file mode 100644
index 29a04ea..0000000
--- a/emacs/.emacs.d/snippets/python-mode/parser
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: parser
-# key: pars
-# group: argparser
-# --
-parser = argparse.ArgumentParser(description='$1')
-$0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/pass b/emacs/.emacs.d/snippets/python-mode/pass
deleted file mode 100644
index 4734f7f..0000000
--- a/emacs/.emacs.d/snippets/python-mode/pass
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: pass
-# key: ps
-# --
-pass
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/pl b/emacs/.emacs.d/snippets/python-mode/pl
deleted file mode 100644
index f0fdd05..0000000
--- a/emacs/.emacs.d/snippets/python-mode/pl
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: Import pyplot
-# key: plt
-# group : general
-# --
-import matplotlib.pyplot as plt
-$0
diff --git a/emacs/.emacs.d/snippets/python-mode/print b/emacs/.emacs.d/snippets/python-mode/print
deleted file mode 100644
index cc1c797..0000000
--- a/emacs/.emacs.d/snippets/python-mode/print
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: print
-# key: p
-# --
-print($0)
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/prop b/emacs/.emacs.d/snippets/python-mode/prop
deleted file mode 100644
index 34e4fa1..0000000
--- a/emacs/.emacs.d/snippets/python-mode/prop
+++ /dev/null
@@ -1,17 +0,0 @@
-# contributor: Mads D. Kristensen
-# name: prop
-# --
-def ${1:foo}():
- doc = """${2:Doc string}"""
- def fget(self):
- return self._$1
-
- def fset(self, value):
- self._$1 = value
-
- def fdel(self):
- del self._$1
- return locals()
-$1 = property(**$1())
-
-$0
diff --git a/emacs/.emacs.d/snippets/python-mode/reg b/emacs/.emacs.d/snippets/python-mode/reg
deleted file mode 100644
index c4ebeac..0000000
--- a/emacs/.emacs.d/snippets/python-mode/reg
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: reg
-# key: reg
-# group : general
-# --
-${1:regexp} = re.compile(r"${2:expr}")
-$0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/repr b/emacs/.emacs.d/snippets/python-mode/repr
deleted file mode 100644
index a1f6783..0000000
--- a/emacs/.emacs.d/snippets/python-mode/repr
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: __repr__
-# key: repr
-# group: dunder methods
-# --
-def __repr__(self):
- $0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/return b/emacs/.emacs.d/snippets/python-mode/return
deleted file mode 100644
index 641a308..0000000
--- a/emacs/.emacs.d/snippets/python-mode/return
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: return
-# key: r
-# --
-return $0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/scls b/emacs/.emacs.d/snippets/python-mode/scls
deleted file mode 100644
index 4a10e28..0000000
--- a/emacs/.emacs.d/snippets/python-mode/scls
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: subclass
-# key: scls
-# group: object oriented
-# --
-class ${1:class}(${2:super-class}):
- $0
diff --git a/emacs/.emacs.d/snippets/python-mode/script b/emacs/.emacs.d/snippets/python-mode/script
deleted file mode 100644
index 55e42e9..0000000
--- a/emacs/.emacs.d/snippets/python-mode/script
+++ /dev/null
@@ -1,11 +0,0 @@
-# -*- mode: snippet -*-
-# name: script
-# key: script
-# --
-#!/usr/bin/env python
-
-def main():
- pass
-
-if __name__ == '__main__':
- main()
diff --git a/emacs/.emacs.d/snippets/python-mode/self b/emacs/.emacs.d/snippets/python-mode/self
deleted file mode 100644
index 4461022..0000000
--- a/emacs/.emacs.d/snippets/python-mode/self
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: self
-# key: .
-# group: object oriented
-# --
-self.$0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/self_without_dot b/emacs/.emacs.d/snippets/python-mode/self_without_dot
deleted file mode 100644
index a1a0526..0000000
--- a/emacs/.emacs.d/snippets/python-mode/self_without_dot
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: self_without_dot
-# key: s
-# group: object oriented
-# --
-self
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/selfassign b/emacs/.emacs.d/snippets/python-mode/selfassign
deleted file mode 100644
index 95d7b2b..0000000
--- a/emacs/.emacs.d/snippets/python-mode/selfassign
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: selfassign
-# key: sn
-# group: object oriented
-# --
-self.$1 = $1
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/setdef b/emacs/.emacs.d/snippets/python-mode/setdef
deleted file mode 100644
index 2398eb1..0000000
--- a/emacs/.emacs.d/snippets/python-mode/setdef
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: setdef
-# key: setdef
-# --
-${1:var}.setdefault(${2:key}, []).append(${3:value})
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/setup b/emacs/.emacs.d/snippets/python-mode/setup
deleted file mode 100644
index 107abc1..0000000
--- a/emacs/.emacs.d/snippets/python-mode/setup
+++ /dev/null
@@ -1,14 +0,0 @@
-# -*- mode: snippet -*-
-# name: setup
-# key: setup
-# group: distribute
-# --
-from setuptools import setup
-
-package = '${1:name}'
-version = '${2:0.1}'
-
-setup(name=package,
- version=version,
- description="${3:description}",
- url='${4:url}'$0)
diff --git a/emacs/.emacs.d/snippets/python-mode/size b/emacs/.emacs.d/snippets/python-mode/size
deleted file mode 100644
index 47a0f38..0000000
--- a/emacs/.emacs.d/snippets/python-mode/size
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: size
-# key: size
-# --
-sys.getsizeof($0)
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/static b/emacs/.emacs.d/snippets/python-mode/static
deleted file mode 100644
index 19c3df9..0000000
--- a/emacs/.emacs.d/snippets/python-mode/static
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: static
-# key: sm
-# --
-@staticmethod
-def ${1:func}($0):
diff --git a/emacs/.emacs.d/snippets/python-mode/str b/emacs/.emacs.d/snippets/python-mode/str
deleted file mode 100644
index b0572e3..0000000
--- a/emacs/.emacs.d/snippets/python-mode/str
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: __str__
-# key: str
-# group: dunder methods
-# --
-def __str__(self):
- $0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/super b/emacs/.emacs.d/snippets/python-mode/super
deleted file mode 100644
index 23fba5d..0000000
--- a/emacs/.emacs.d/snippets/python-mode/super
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: super
-# key: super
-# group: object oriented
-# --
-super(`(replace-regexp-in-string "\\([.]\\)[^.]+$" ", self)." (python-info-current-defun) nil nil 1)`($1)
-$0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/test_class b/emacs/.emacs.d/snippets/python-mode/test_class
deleted file mode 100644
index 7342c5f..0000000
--- a/emacs/.emacs.d/snippets/python-mode/test_class
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: test_class
-# key: tcs
-# group : testing
-# --
-class Test${1:toTest}(${2:unittest.TestCase}):
- $0
diff --git a/emacs/.emacs.d/snippets/python-mode/test_file b/emacs/.emacs.d/snippets/python-mode/test_file
deleted file mode 100644
index e4b5315..0000000
--- a/emacs/.emacs.d/snippets/python-mode/test_file
+++ /dev/null
@@ -1,12 +0,0 @@
-# -*- mode: snippet -*-
-# name: test_file
-# key: tf
-# group : testing
-# --
-import unittest
-${1:from ${2:test_file} import *}
-
-$0
-
-if __name__ == '__main__':
- unittest.main()
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/trace b/emacs/.emacs.d/snippets/python-mode/trace
deleted file mode 100644
index e475d62..0000000
--- a/emacs/.emacs.d/snippets/python-mode/trace
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: trace
-# key: tr
-# group: debug
-# --
-import pdb; pdb.set_trace()
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/try b/emacs/.emacs.d/snippets/python-mode/try
deleted file mode 100644
index 8836de6..0000000
--- a/emacs/.emacs.d/snippets/python-mode/try
+++ /dev/null
@@ -1,8 +0,0 @@
-# -*- mode: snippet -*-
-# name: try
-# key: try
-# --
-try:
- $1
-except ${2:Exception}:
- $0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/tryelse b/emacs/.emacs.d/snippets/python-mode/tryelse
deleted file mode 100644
index f2e44e4..0000000
--- a/emacs/.emacs.d/snippets/python-mode/tryelse
+++ /dev/null
@@ -1,10 +0,0 @@
-# -*- mode: snippet -*-
-# name: tryelse
-# key: try
-# --
-try:
- $1
-except $2:
- $3
-else:
- $0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/unicode b/emacs/.emacs.d/snippets/python-mode/unicode
deleted file mode 100644
index 52d6b8d..0000000
--- a/emacs/.emacs.d/snippets/python-mode/unicode
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: __unicode__
-# key: un
-# group: dunder methods
-# --
-def __unicode__(self):
- $0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/unicode_literals b/emacs/.emacs.d/snippets/python-mode/unicode_literals
deleted file mode 100644
index 08e2eb5..0000000
--- a/emacs/.emacs.d/snippets/python-mode/unicode_literals
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: unicode_literals
-# key: fu
-# group: future
-# --
-from __future__ import unicode_literals
diff --git a/emacs/.emacs.d/snippets/python-mode/utf8 b/emacs/.emacs.d/snippets/python-mode/utf8
deleted file mode 100644
index 2ebd82e..0000000
--- a/emacs/.emacs.d/snippets/python-mode/utf8
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: utf-8 encoding
-# key: utf8
-# --
-# -*- coding: utf-8 -*-
diff --git a/emacs/.emacs.d/snippets/python-mode/while b/emacs/.emacs.d/snippets/python-mode/while
deleted file mode 100644
index 7b3539c..0000000
--- a/emacs/.emacs.d/snippets/python-mode/while
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: while
-# key: wh
-# group: control structure
-# --
-while ${1:True}:
- $0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/with b/emacs/.emacs.d/snippets/python-mode/with
deleted file mode 100644
index 7fcbd38..0000000
--- a/emacs/.emacs.d/snippets/python-mode/with
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: with
-# key: with
-# group : control structure
-# --
-with ${1:expr}${2: as ${3:alias}}:
- $0
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/with_statement b/emacs/.emacs.d/snippets/python-mode/with_statement
deleted file mode 100644
index 1be3692..0000000
--- a/emacs/.emacs.d/snippets/python-mode/with_statement
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- mode: snippet -*-
-# name: with_statement
-# key: fw
-# group: future
-# --
-from __future__ import with_statement
\ No newline at end of file
diff --git a/emacs/.emacs.d/themes/.gitkeep b/emacs/.emacs.d/themes/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/emacs/.emacs.d/utils/installer.sh b/emacs/.emacs.d/utils/installer.sh
new file mode 100755
index 0000000..15f6e7e
--- /dev/null
+++ b/emacs/.emacs.d/utils/installer.sh
@@ -0,0 +1,246 @@
+install_prelude () {
+ printf " Cloning the Prelude's GitHub repository...\n$RESET"
+ if [ x$PRELUDE_VERBOSE != x ]
+ then
+ /usr/bin/env git clone $PRELUDE_URL "$PRELUDE_INSTALL_DIR"
+ else
+ /usr/bin/env git clone $PRELUDE_URL "$PRELUDE_INSTALL_DIR" > /dev/null
+ fi
+ if ! [ $? -eq 0 ]
+ then
+ printf "$RED A fatal error occurred during Prelude's installation. Aborting..."
+ exit 1
+ fi
+}
+
+make_prelude_dirs () {
+ printf " Making the required directories.\n$RESET"
+ mkdir -p "$PRELUDE_INSTALL_DIR/savefile"
+}
+
+colors_ () {
+ case "$SHELL" in
+ *zsh)
+ autoload colors && colors
+ eval RESET='$reset_color'
+ for COLOR in RED GREEN YELLOW BLUE MAGENTA CYAN BLACK WHITE
+ do
+ eval $COLOR='$fg_no_bold[${(L)COLOR}]'
+ eval B$COLOR='$fg_bold[${(L)COLOR}]'
+ done
+ ;;
+ *)
+ RESET='\e[0m' # Reset
+ RED='\e[0;31m' # Red
+ GREEN='\e[0;32m' # Green
+ YELLOW='\e[0;33m' # Yellow
+ BLUE='\e[0;34m' # Blue
+ PURPLE='\e[0;35m' # Magenta
+ CYAN='\e[0;36m' # Cyan
+ WHITE='\e[0;37m' # White
+ BRED='\e[1;31m' # Bold Red
+ BGREEN='\e[1;32m' # Bold Green
+ BYELLOW='\e[1;33m' # Bold Yellow
+ BBLUE='\e[1;34m' # Bold Blue
+ BPURPLE='\e[1;35m' # Bold Magenta
+ BCYAN='\e[1;36m' # Bold Cyan
+ BWHITE='\e[1;37m' # Bold White
+ ;;
+ esac
+}
+
+# Commandline args:
+# -d/--directory [dir]
+# Install prelude into the specified directory. If 'dir' is a relative path prefix it with $HOME.
+# Defaults to '$HOME/.emacs.d'
+# -c/--colors
+# Enable colors
+# -s/--source [url]
+# Clone prelude from 'url'.
+# Defaults to 'https://github.com/bbatsov/prelude.git'
+# -i/--into
+# If one exists, install into the existing config
+# -n/--no-bytecompile
+# Skip the compilation of the prelude files.
+# -h/--help
+# Print help
+# -v/--verbose
+# Verbose output, for debugging
+
+usage() {
+ printf "Usage: $0 [OPTION]\n"
+ printf " -c, --colors \t \t \t Enable colors.\n"
+ printf " -d, --directory [dir] \t Install prelude into the specified directory.\n"
+ printf " \t \t \t \t If 'dir' is a relative path prefix with $HOME.\n"
+ printf " \t \t \t \t Defaults to $HOME/.emacs.d\n"
+ printf " -s, --source [url] \t \t Clone prelude from 'url'.\n"
+ printf " \t \t \t \t Defaults to 'https://github.com/bbatsov/prelude.git'.\n"
+ printf " -n, --no-bytecompile \t \t Skip the bytecompilation step of prelude.\n"
+ printf " -i, --into \t \t \t Install Prelude into a subdirectory in the existing configuration\n"
+ printf " \t \t \t \t The default behavious is to install prelude into the existing\n"
+ printf " \t \t \t \t emacs configuration.\n"
+ printf " -h, --help \t \t \t Display this help and exit\n"
+ printf " -v, --verbose \t \t Display verbose information\n"
+ printf "\n"
+}
+
+### Parse cli
+while [ $# -gt 0 ]
+do
+ case $1 in
+ -d | --directory)
+ PRELUDE_INSTALL_DIR=$2
+ shift 2
+ ;;
+ -c | --colors)
+ colors_
+ shift 1
+ ;;
+ -s | --source)
+ PRELUDE_URL=$2
+ shift 2
+ ;;
+ -i | --into)
+ PRELUDE_INTO='true'
+ shift 1
+ ;;
+ -n | --no-bytecompile)
+ PRELUDE_SKIP_BC='true'
+ shift 1
+ ;;
+ -h | --help)
+ usage
+ exit 0
+ ;;
+ -v | --verbose)
+ PRELUDE_VERBOSE='true';
+ shift 1
+ ;;
+ *)
+ printf "Unkown option: $1\n"
+ shift 1
+ ;;
+ esac
+done
+
+VERBOSE_COLOR=$BBLUE
+
+[ -z "$PRELUDE_URL" ] && PRELUDE_URL="https://github.com/bbatsov/prelude.git"
+[ -z "$PRELUDE_INSTALL_DIR" ] && PRELUDE_INSTALL_DIR="$HOME/.emacs.d"
+
+if [ x$PRELUDE_VERBOSE != x ]
+then
+ printf "$VERBOSE_COLOR"
+ printf "PRELUDE_VERBOSE = $PRELUDE_VERBOSE\n"
+ printf "INSTALL_DIR = $PRELUDE_INSTALL_DIR\n"
+ printf "SOURCE_URL = $PRELUDE_URL\n"
+ printf "$RESET"
+ if [ -n "$PRELUDE_SKIP_BC" ]
+ then
+ printf "Skipping bytecompilation.\n"
+ fi
+ if [ -n "$PRELUDE_INTO" ]
+ then
+ printf "Replacing existing config (if one exists).\n"
+ fi
+ printf "$RESET"
+fi
+
+# If prelude is already installed
+if [ -f "$PRELUDE_INSTALL_DIR/core/prelude-core.el" ]
+then
+ printf "\n\n$BRED"
+ printf "You already have Prelude installed.$RESET\nYou'll need to remove $PRELUDE_INSTALL_DIR/prelude if you want to install Prelude again.\n"
+ printf "If you want to update your copy of prelude, run 'git pull origin master' from your prelude directory\n\n"
+ exit 1;
+fi
+
+### Check dependencies
+printf "$CYAN Checking to see if git is installed... $RESET"
+if hash git 2>&-
+then
+ printf "$GREEN found.$RESET\n"
+else
+ printf "$RED not found. Aborting installation!$RESET\n"
+ exit 1
+fi;
+
+printf "$CYAN Checking to see if aspell is installed... "
+if hash aspell 2>&-
+then
+ printf "$GREEN found.$RESET\n"
+else
+ printf "$RED not found. Install aspell to benefit from flyspell-mode!$RESET\n"
+fi
+
+### Check emacs version
+if [ $(emacs --version 2>/dev/null | sed -n 's/.*[^0-9.]\([0-9]*\.[0-9.]*\).*/\1/p;q' | sed 's/\..*//g') -lt 24 ]
+then
+ printf "$YELLOW WARNING:$RESET Prelude depends on emacs $RED 24$RESET !\n"
+fi
+
+if [ -f "$HOME/.emacs" ]
+then
+ ## If $HOME/.emacs exists, emacs ignores prelude's init.el, so remove it
+ printf " Backing up the existing $HOME/.emacs to $HOME/.emacs.pre-prelude\n"
+ mv $HOME/.emacs $HOME/.emacs.pre-prelude
+fi
+
+if [ -d "$PRELUDE_INSTALL_DIR" ] || [ -f "$PRELUDE_INSTALL_DIR" ]
+then
+ # Existing file/directory found -> backup
+ printf " Backing up the existing config to $PRELUDE_INSTALL_DIR.pre-prelude.tar.\n"
+ tar -cf "$PRELUDE_INSTALL_DIR.pre-prelude.tar" "$PRELUDE_INSTALL_DIR" > /dev/null 2>&1
+ PRELUDE_INSTALL_DIR_ORIG="$PRELUDE_INSTALL_DIR"
+ # Overwrite existing?
+ [ -n "$PRELUDE_INTO" ] && PRELUDE_INSTALL_DIR="$PRELUDE_INSTALL_DIR/prelude"
+ # Clear destination directory for git clone to work
+ rm -fr "$PRELUDE_INSTALL_DIR"
+ mkdir "$PRELUDE_INSTALL_DIR"
+ # Replace existing config
+ install_prelude
+ make_prelude_dirs
+ # Reinstate files that weren't replaced
+ tar --skip-old-files -xf "$PRELUDE_INSTALL_DIR_ORIG.pre-prelude.tar" "$PRELUDE_INSTALL_DIR" > /dev/null 2>&1
+ [ -n "$PRELUDE_INTO" ] && cp "$PRELUDE_INSTALL_DIR/sample/prelude-modules.el" "$PRELUDE_INSTALL_DIR"
+elif [ -e "$PRELUDE_INSTALL_DIR" ]
+then
+ # File exist but not a regular file or directory
+ # WTF NOW?
+ printf "$BRED $PRELUDE_INSTALL_DIR exist but isn't a file or directory.\n"
+ printf "$BRED please remove this file or install prelude in a different directory"
+ printf "$BRED (-d flag)\n$RESET"
+ exit 1
+else
+ # Nothing yet so just install prelude
+ install_prelude
+ make_prelude_dirs
+ cp "$PRELUDE_INSTALL_DIR/sample/prelude-modules.el" "$PRELUDE_INSTALL_DIR"
+fi
+
+if [ -z "$PRELUDE_SKIP_BC" ];
+then
+ if which emacs > /dev/null 2>&1
+ then
+ printf " Bytecompiling Prelude.\n"
+ if [ x$PRELUDE_VERBOSE != x ]
+ then
+ emacs -batch -f batch-byte-compile "$PRELUDE_INSTALL_DIR/core"/*.el
+ else
+ emacs -batch -f batch-byte-compile "$PRELUDE_INSTALL_DIR/core"/*.el > /dev/null 2>&1
+ fi
+ else
+ printf "$YELLOW Emacs not found.$RESET Skipping bytecompilation.\n"
+ fi
+else
+ printf "Skipping bytecompilation.\n"
+fi
+
+printf "\n"
+printf "$BBLUE ____ _ _ \n"
+printf "$BBLUE | _ \ _ __ ___| |_ _ __| | ___ \n"
+printf "$BBLUE | |_) | __/ _ \ | | | |/ _ |/ _ \ \n"
+printf "$BBLUE | __/| | | __/ | |_| | (_| | __/ \n"
+printf "$BBLUE |_| |_| \___|_|\__,_|\__,_|\___| \n\n"
+printf "$GREEN ... is now installed and ready to do thy bidding, Master $USER!$RESET\n"
+printf "$GREEN Don't forget to adjust the modules you want to use in $PRELUDE_INSTALL_DIR/sample/prelude-modules.el!$RESET\n"
diff --git a/emacs/.emacs.d/vendor/.gitkeep b/emacs/.emacs.d/vendor/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/i3/.config/i3/config b/i3/.config/i3/config
index c471c6a..ffa1b83 100644
--- a/i3/.config/i3/config
+++ b/i3/.config/i3/config
@@ -135,6 +135,7 @@ exec_always --no-startup-id ff-theme-util
exec_always --no-startup-id fix_xcursor
exec --no-startup-id xautolock -time 10 -locker "python ~/.scripts/i3lock.py"
exec --no-startup-id nextcloud
+exec --no-startup-id emacs --daemon
###############################################################################
################################# Keybindings #################################
diff --git a/i3/.scripts/conkyi3 b/i3/.scripts/conkyi3
index 64ecd5a..8803cb4 100755
--- a/i3/.scripts/conkyi3
+++ b/i3/.scripts/conkyi3
@@ -1,4 +1,4 @@
#!/bin/bash
echo "{\"version\":1}"
echo "[[]"
-exec conky -c /home/tuan/.scripts/conkyrc
+exec conky -c ~/.scripts/conkyrc
diff --git a/i3/.scripts/dotfiles.sh b/i3/.scripts/dotfiles.sh
deleted file mode 100755
index 797ac94..0000000
--- a/i3/.scripts/dotfiles.sh
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/bin/bash
-
-# A script to manage my dotfiles and copy them to my git
-dotfiles=$HOME/.dotfiles
-
-# -avv for debugging purposes
-# -a for normal use
-copy(){
-# rsync -avv $HOME/$1 $dotfiles/$1
- rsync -a $HOME/$1 $dotfiles/$1
-}
-
-notify-send "Copied dotfiles."
-
-# i3 gaps
-# Powerline fonts must be installed
-printf "\nCopying i3 configs...\n"
-copy .config/i3/
-
-# Termite
-printf "\nCopying Termite configs...\n"
-copy .config/termite/
-
-# Scripts
-printf "\nCopying Scripts...\n"
-copy .scripts/
-
-# zsh
-printf "\nCopying zsh configs...\n"
-copy .zshrc
-copy .warprc
-
-# Emacs
-# printf "For Emacs (with elpy) following python modules are needed: jedi rope importmagic autopep8 yapf flake8"
-# printf "You must also add '~/.local/bin' to your path."
-printf "\nCopying emacs configs...\n"
-copy .emacs
-copy .emacs.d/snippets/
-
-# Latex templates
-copy Templates/
diff --git a/zsh/.zshrc b/zsh/.zshrc
index 9f5a6f5..9a55adf 100644
--- a/zsh/.zshrc
+++ b/zsh/.zshrc
@@ -58,9 +58,8 @@ PATH=$PATH:~/.local/bin
# User alias
alias df="df -h"
alias mkvirtenv="python -m virtualenv --system-site-packages"
-alias e="emacs"
+alias e="emacsclient -t"
alias nyan="nyancat"
-alias emacs="emacs -nw"
alias rm="rm -i"
alias dir="du -hd 1"
alias -s tex=emacs