about summary refs log tree commit diff
path: root/emacs/.emacs.d/snippets
diff options
context:
space:
mode:
authorWilliam Carroll <wpcarro@gmail.com>2020-01-30T16·00+0000
committerWilliam Carroll <wpcarro@gmail.com>2020-01-30T16·00+0000
commit578ed1ba98510058cf48f897a9bf4e3391684120 (patch)
tree5eadabd3d232151c75ac2424eaa8771ab25e927e /emacs/.emacs.d/snippets
parent3684adf23f847114e1beeaab162398628ba571aa (diff)
Move move .emacs.d out of configs/shared
Moving all of my Emacs-related files into their own directory at the root of
this repository.
Diffstat (limited to 'emacs/.emacs.d/snippets')
-rw-r--r--emacs/.emacs.d/snippets/c-mode/.yas-parents1
-rw-r--r--emacs/.emacs.d/snippets/c-mode/stdio5
-rw-r--r--emacs/.emacs.d/snippets/c-mode/stdlib5
-rw-r--r--emacs/.emacs.d/snippets/c-mode/struct7
-rw-r--r--emacs/.emacs.d/snippets/emacs-lisp-mode/.yas-parents1
-rw-r--r--emacs/.emacs.d/snippets/emacs-lisp-mode/elisp-module-docs11
-rw-r--r--emacs/.emacs.d/snippets/emacs-lisp-mode/function8
-rw-r--r--emacs/.emacs.d/snippets/emacs-lisp-mode/generic-header7
-rw-r--r--emacs/.emacs.d/snippets/emacs-lisp-mode/library-header7
-rw-r--r--emacs/.emacs.d/snippets/emacs-lisp-mode/provide-footer6
-rw-r--r--emacs/.emacs.d/snippets/haskell-mode/.yas-parents1
-rw-r--r--emacs/.emacs.d/snippets/haskell-mode/derive-safe-copy5
-rw-r--r--emacs/.emacs.d/snippets/haskell-mode/import-qualified5
-rw-r--r--emacs/.emacs.d/snippets/haskell-mode/instance-defn6
-rw-r--r--emacs/.emacs.d/snippets/haskell-mode/language-extension5
-rw-r--r--emacs/.emacs.d/snippets/haskell-mode/separator5
-rw-r--r--emacs/.emacs.d/snippets/haskell-mode/undefined5
-rw-r--r--emacs/.emacs.d/snippets/html-mode/.yas-parents1
-rw-r--r--emacs/.emacs.d/snippets/html-mode/index-boilerplate18
-rw-r--r--emacs/.emacs.d/snippets/java-mode/.yas-parents1
-rw-r--r--emacs/.emacs.d/snippets/java-mode/public-static-void-main7
-rw-r--r--emacs/.emacs.d/snippets/lisp-mode/.yas-parents1
-rw-r--r--emacs/.emacs.d/snippets/lisp-mode/defpackage9
-rw-r--r--emacs/.emacs.d/snippets/lisp-mode/function7
-rw-r--r--emacs/.emacs.d/snippets/lisp-mode/typed-function8
-rw-r--r--emacs/.emacs.d/snippets/nix-mode/.yas-parents1
-rw-r--r--emacs/.emacs.d/snippets/nix-mode/shell-nix12
-rw-r--r--emacs/.emacs.d/snippets/org-mode/.yas-parents1
-rw-r--r--emacs/.emacs.d/snippets/org-mode/code-snippet7
-rw-r--r--emacs/.emacs.d/snippets/org-mode/href5
-rw-r--r--emacs/.emacs.d/snippets/python-mode/.yas-parents1
-rw-r--r--emacs/.emacs.d/snippets/python-mode/dunder-main6
-rw-r--r--emacs/.emacs.d/snippets/python-mode/function6
-rw-r--r--emacs/.emacs.d/snippets/python-mode/header7
-rw-r--r--emacs/.emacs.d/snippets/python-mode/init6
-rw-r--r--emacs/.emacs.d/snippets/python-mode/shebang6
-rw-r--r--emacs/.emacs.d/snippets/python-mode/utf-85
-rw-r--r--emacs/.emacs.d/snippets/racket-mode/.yas-parents1
-rw-r--r--emacs/.emacs.d/snippets/racket-mode/function5
-rw-r--r--emacs/.emacs.d/snippets/racket-mode/lambda5
-rw-r--r--emacs/.emacs.d/snippets/racket-mode/lambda-symbol5
-rw-r--r--emacs/.emacs.d/snippets/reason-mode/.yas-parents1
-rw-r--r--emacs/.emacs.d/snippets/reason-mode/function7
-rw-r--r--emacs/.emacs.d/snippets/reason-mode/switch7
-rw-r--r--emacs/.emacs.d/snippets/rjsx-mode/.yas-parents1
-rw-r--r--emacs/.emacs.d/snippets/rjsx-mode/action-extractor5
-rw-r--r--emacs/.emacs.d/snippets/rjsx-mode/console-log5
-rw-r--r--emacs/.emacs.d/snippets/rjsx-mode/const-defn5
-rw-r--r--emacs/.emacs.d/snippets/rjsx-mode/const-function7
-rw-r--r--emacs/.emacs.d/snippets/rjsx-mode/destructure-const5
-rw-r--r--emacs/.emacs.d/snippets/rjsx-mode/fat-arrow5
-rw-r--r--emacs/.emacs.d/snippets/rjsx-mode/fat-arrow-function7
-rw-r--r--emacs/.emacs.d/snippets/rjsx-mode/import-destructured5
-rw-r--r--emacs/.emacs.d/snippets/rjsx-mode/import-react5
-rw-r--r--emacs/.emacs.d/snippets/rjsx-mode/import-type5
-rw-r--r--emacs/.emacs.d/snippets/rjsx-mode/import-x-from-y5
-rw-r--r--emacs/.emacs.d/snippets/rjsx-mode/import-y5
-rw-r--r--emacs/.emacs.d/snippets/rjsx-mode/jest-describe-test10
-rw-r--r--emacs/.emacs.d/snippets/rjsx-mode/jest-test7
-rw-r--r--emacs/.emacs.d/snippets/rjsx-mode/react-class-component11
-rw-r--r--emacs/.emacs.d/snippets/rjsx-mode/redux-action5
-rw-r--r--emacs/.emacs.d/snippets/rjsx-mode/typed-redux-action5
-rw-r--r--emacs/.emacs.d/snippets/rust-mode/.yas-parents1
-rw-r--r--emacs/.emacs.d/snippets/rust-mode/for-loop7
-rw-r--r--emacs/.emacs.d/snippets/rust-mode/match7
-rw-r--r--emacs/.emacs.d/snippets/sh-mode/.yas-parents1
-rw-r--r--emacs/.emacs.d/snippets/sh-mode/function7
-rw-r--r--emacs/.emacs.d/snippets/text-mode/.yas-parents1
-rw-r--r--emacs/.emacs.d/snippets/text-mode/check-mark5
-rw-r--r--emacs/.emacs.d/snippets/text-mode/x-mark5
-rw-r--r--emacs/.emacs.d/snippets/web-mode/.yas-parents1
-rw-r--r--emacs/.emacs.d/snippets/web-mode/header7
-rw-r--r--emacs/.emacs.d/snippets/web-mode/index-boilerplate18
73 files changed, 399 insertions, 0 deletions
diff --git a/emacs/.emacs.d/snippets/c-mode/.yas-parents b/emacs/.emacs.d/snippets/c-mode/.yas-parents
new file mode 100644
index 000000000000..d58dacb7a0b1
--- /dev/null
+++ b/emacs/.emacs.d/snippets/c-mode/.yas-parents
@@ -0,0 +1 @@
+text-mode
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c-mode/stdio b/emacs/.emacs.d/snippets/c-mode/stdio
new file mode 100644
index 000000000000..52bc717e470e
--- /dev/null
+++ b/emacs/.emacs.d/snippets/c-mode/stdio
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: <stdio.h>
+# key: sio
+# --
+#include <stdio.h>
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c-mode/stdlib b/emacs/.emacs.d/snippets/c-mode/stdlib
new file mode 100644
index 000000000000..5d44e8ed7989
--- /dev/null
+++ b/emacs/.emacs.d/snippets/c-mode/stdlib
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: <stdlib.h>
+# key: slb
+# --
+#include <stdlib.h>
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/c-mode/struct b/emacs/.emacs.d/snippets/c-mode/struct
new file mode 100644
index 000000000000..6e9282f83c79
--- /dev/null
+++ b/emacs/.emacs.d/snippets/c-mode/struct
@@ -0,0 +1,7 @@
+# -*- mode: snippet -*-
+# name: struct
+# key: struct
+# --
+typedef struct $1 {
+  $2
+} $1_t;
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/emacs-lisp-mode/.yas-parents b/emacs/.emacs.d/snippets/emacs-lisp-mode/.yas-parents
new file mode 100644
index 000000000000..d58dacb7a0b1
--- /dev/null
+++ b/emacs/.emacs.d/snippets/emacs-lisp-mode/.yas-parents
@@ -0,0 +1 @@
+text-mode
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/emacs-lisp-mode/elisp-module-docs b/emacs/.emacs.d/snippets/emacs-lisp-mode/elisp-module-docs
new file mode 100644
index 000000000000..8ea7b8f07724
--- /dev/null
+++ b/emacs/.emacs.d/snippets/emacs-lisp-mode/elisp-module-docs
@@ -0,0 +1,11 @@
+# -*- mode: snippet -*-
+# name: Elisp module docs
+# key: emd
+# --
+;;; `(-> (buffer-file-name) f-filename)` --- $2 -*- lexical-binding: t -*-
+;; Author: William Carroll <wpcarro@gmail.com>
+
+;;; Commentary:
+;; $3
+
+;;; Code:
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/emacs-lisp-mode/function b/emacs/.emacs.d/snippets/emacs-lisp-mode/function
new file mode 100644
index 000000000000..bfa888d5265d
--- /dev/null
+++ b/emacs/.emacs.d/snippets/emacs-lisp-mode/function
@@ -0,0 +1,8 @@
+# -*- mode: snippet -*-
+# name: Function
+# key: fn
+# expand-env: ((yas-indent-line 'fixed))
+# --
+(defun $1 ($2)
+  "$3"
+  $4)
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/emacs-lisp-mode/generic-header b/emacs/.emacs.d/snippets/emacs-lisp-mode/generic-header
new file mode 100644
index 000000000000..bf6e525f8c65
--- /dev/null
+++ b/emacs/.emacs.d/snippets/emacs-lisp-mode/generic-header
@@ -0,0 +1,7 @@
+# -*- mode: snippet -*-
+# name: Header
+# key: hdr
+# --
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; $1
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
diff --git a/emacs/.emacs.d/snippets/emacs-lisp-mode/library-header b/emacs/.emacs.d/snippets/emacs-lisp-mode/library-header
new file mode 100644
index 000000000000..0f0ad5c4fc4e
--- /dev/null
+++ b/emacs/.emacs.d/snippets/emacs-lisp-mode/library-header
@@ -0,0 +1,7 @@
+# -*- mode: snippet -*-
+# name: Library header
+# key: lib
+# --
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Library
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/emacs-lisp-mode/provide-footer b/emacs/.emacs.d/snippets/emacs-lisp-mode/provide-footer
new file mode 100644
index 000000000000..2a0bcc33f7bb
--- /dev/null
+++ b/emacs/.emacs.d/snippets/emacs-lisp-mode/provide-footer
@@ -0,0 +1,6 @@
+# -*- mode: snippet -*-
+# name: Provide footer
+# key: elf
+# --
+(provide '`(-> (buffer-file-name) f-filename f-no-ext)`)
+;;; `(-> (buffer-file-name) f-filename)` ends here
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/haskell-mode/.yas-parents b/emacs/.emacs.d/snippets/haskell-mode/.yas-parents
new file mode 100644
index 000000000000..d58dacb7a0b1
--- /dev/null
+++ b/emacs/.emacs.d/snippets/haskell-mode/.yas-parents
@@ -0,0 +1 @@
+text-mode
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/haskell-mode/derive-safe-copy b/emacs/.emacs.d/snippets/haskell-mode/derive-safe-copy
new file mode 100644
index 000000000000..95f7d9deecd0
--- /dev/null
+++ b/emacs/.emacs.d/snippets/haskell-mode/derive-safe-copy
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: Derive Safe Copy
+# key: dsc
+# --
+deriveSafeCopy 0 'base ''$1
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/haskell-mode/import-qualified b/emacs/.emacs.d/snippets/haskell-mode/import-qualified
new file mode 100644
index 000000000000..4c4db62a8a47
--- /dev/null
+++ b/emacs/.emacs.d/snippets/haskell-mode/import-qualified
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: Import qualified
+# key: iq
+# --
+import qualified $1 as $2
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/haskell-mode/instance-defn b/emacs/.emacs.d/snippets/haskell-mode/instance-defn
new file mode 100644
index 000000000000..10d194ce41f0
--- /dev/null
+++ b/emacs/.emacs.d/snippets/haskell-mode/instance-defn
@@ -0,0 +1,6 @@
+# -*- mode: snippet -*-
+# name: Instance
+# key: inst
+# --
+instance $1 where
+  $2 = $3
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/haskell-mode/language-extension b/emacs/.emacs.d/snippets/haskell-mode/language-extension
new file mode 100644
index 000000000000..9d6084acb40d
--- /dev/null
+++ b/emacs/.emacs.d/snippets/haskell-mode/language-extension
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: language extension
+# key: lang
+# --
+{-# LANGUAGE $1 #-}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/haskell-mode/separator b/emacs/.emacs.d/snippets/haskell-mode/separator
new file mode 100644
index 000000000000..1ab0d762b611
--- /dev/null
+++ b/emacs/.emacs.d/snippets/haskell-mode/separator
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: Separator
+# key: -
+# --
+--------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/haskell-mode/undefined b/emacs/.emacs.d/snippets/haskell-mode/undefined
new file mode 100644
index 000000000000..7609f801f278
--- /dev/null
+++ b/emacs/.emacs.d/snippets/haskell-mode/undefined
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: Undefiend
+# key: nd
+# --
+undefined
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/html-mode/.yas-parents b/emacs/.emacs.d/snippets/html-mode/.yas-parents
new file mode 100644
index 000000000000..d58dacb7a0b1
--- /dev/null
+++ b/emacs/.emacs.d/snippets/html-mode/.yas-parents
@@ -0,0 +1 @@
+text-mode
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/html-mode/index-boilerplate b/emacs/.emacs.d/snippets/html-mode/index-boilerplate
new file mode 100644
index 000000000000..3cea6ce003ba
--- /dev/null
+++ b/emacs/.emacs.d/snippets/html-mode/index-boilerplate
@@ -0,0 +1,18 @@
+# -*- mode: snippet -*-
+# name: HTML index.html starter
+# key: html
+# --
+<!doctype html>
+
+<html lang="en">
+<head>
+  <meta charset="utf-8">
+  <title>$1</title>
+  <meta name="description" content="$2">
+  <meta name="author" content="William Carroll">
+  <link rel="stylesheet" href="index.css">
+</head>
+<body>
+  <script src="index.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/java-mode/.yas-parents b/emacs/.emacs.d/snippets/java-mode/.yas-parents
new file mode 100644
index 000000000000..d58dacb7a0b1
--- /dev/null
+++ b/emacs/.emacs.d/snippets/java-mode/.yas-parents
@@ -0,0 +1 @@
+text-mode
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/java-mode/public-static-void-main b/emacs/.emacs.d/snippets/java-mode/public-static-void-main
new file mode 100644
index 000000000000..1839a27eb5c0
--- /dev/null
+++ b/emacs/.emacs.d/snippets/java-mode/public-static-void-main
@@ -0,0 +1,7 @@
+# -*- mode: snippet -*-
+# name: public static void main
+# key: psvm
+# --
+public static void main(String[] args) {
+    $1
+}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/lisp-mode/.yas-parents b/emacs/.emacs.d/snippets/lisp-mode/.yas-parents
new file mode 100644
index 000000000000..d58dacb7a0b1
--- /dev/null
+++ b/emacs/.emacs.d/snippets/lisp-mode/.yas-parents
@@ -0,0 +1 @@
+text-mode
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/lisp-mode/defpackage b/emacs/.emacs.d/snippets/lisp-mode/defpackage
new file mode 100644
index 000000000000..7f110a9718e4
--- /dev/null
+++ b/emacs/.emacs.d/snippets/lisp-mode/defpackage
@@ -0,0 +1,9 @@
+# -*- mode: snippet -*-
+# name: Define package
+# key: defp
+# --
+(in-package #:cl-user)
+(defpackage #:$1
+  (:documentation "$2")
+  (:use #:cl))
+(in-package #:$1)
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/lisp-mode/function b/emacs/.emacs.d/snippets/lisp-mode/function
new file mode 100644
index 000000000000..b1769cd3d102
--- /dev/null
+++ b/emacs/.emacs.d/snippets/lisp-mode/function
@@ -0,0 +1,7 @@
+# -*- mode: snippet -*-
+# name: Function
+# key: fn
+# --
+(defun $1 ($2)
+  "$3"
+  $4)
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/lisp-mode/typed-function b/emacs/.emacs.d/snippets/lisp-mode/typed-function
new file mode 100644
index 000000000000..a3c236821e06
--- /dev/null
+++ b/emacs/.emacs.d/snippets/lisp-mode/typed-function
@@ -0,0 +1,8 @@
+# -*- mode: snippet -*-
+# name: Typed function
+# key: tfn
+# --
+(type $1 ($3) $4)
+(defun $1 ($2)
+  "$5"
+  $6)
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/nix-mode/.yas-parents b/emacs/.emacs.d/snippets/nix-mode/.yas-parents
new file mode 100644
index 000000000000..d58dacb7a0b1
--- /dev/null
+++ b/emacs/.emacs.d/snippets/nix-mode/.yas-parents
@@ -0,0 +1 @@
+text-mode
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/nix-mode/shell-nix b/emacs/.emacs.d/snippets/nix-mode/shell-nix
new file mode 100644
index 000000000000..4c308bb51b3a
--- /dev/null
+++ b/emacs/.emacs.d/snippets/nix-mode/shell-nix
@@ -0,0 +1,12 @@
+# -*- mode: snippet -*-
+# name: shell.nix boilerplate
+# key: import
+# --
+with import <nixpkgs> {};
+
+stdenv.mkDerivation {
+  name = "$1";
+  buildInputs = [
+    $2
+  ];
+}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/org-mode/.yas-parents b/emacs/.emacs.d/snippets/org-mode/.yas-parents
new file mode 100644
index 000000000000..d58dacb7a0b1
--- /dev/null
+++ b/emacs/.emacs.d/snippets/org-mode/.yas-parents
@@ -0,0 +1 @@
+text-mode
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/org-mode/code-snippet b/emacs/.emacs.d/snippets/org-mode/code-snippet
new file mode 100644
index 000000000000..4215b15992b6
--- /dev/null
+++ b/emacs/.emacs.d/snippets/org-mode/code-snippet
@@ -0,0 +1,7 @@
+# -*- mode: snippet -*-
+# name: Code Snippet
+# key: src
+# --
+#+BEGIN_SRC $1
+$2
+#+END_SRC
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/org-mode/href b/emacs/.emacs.d/snippets/org-mode/href
new file mode 100644
index 000000000000..ac65ea2e49be
--- /dev/null
+++ b/emacs/.emacs.d/snippets/org-mode/href
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: Org mode URL
+# key: href
+# --
+[[$1][$2]]
\ 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
new file mode 100644
index 000000000000..d58dacb7a0b1
--- /dev/null
+++ b/emacs/.emacs.d/snippets/python-mode/.yas-parents
@@ -0,0 +1 @@
+text-mode
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/dunder-main b/emacs/.emacs.d/snippets/python-mode/dunder-main
new file mode 100644
index 000000000000..4dd22dc0b2da
--- /dev/null
+++ b/emacs/.emacs.d/snippets/python-mode/dunder-main
@@ -0,0 +1,6 @@
+# -*- mode: snippet -*-
+# name: Dunder main (__main__)
+# key: mn
+# --
+if __name__ == "__main__":
+    main()
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/function b/emacs/.emacs.d/snippets/python-mode/function
new file mode 100644
index 000000000000..379ceda1a3a6
--- /dev/null
+++ b/emacs/.emacs.d/snippets/python-mode/function
@@ -0,0 +1,6 @@
+# -*- mode: snippet -*-
+# name: Function
+# key: fn
+# --
+def $1($2):
+    $3
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/header b/emacs/.emacs.d/snippets/python-mode/header
new file mode 100644
index 000000000000..db48adfec737
--- /dev/null
+++ b/emacs/.emacs.d/snippets/python-mode/header
@@ -0,0 +1,7 @@
+# -*- mode: snippet -*-
+# name: Header
+# key: hdr
+# --
+################################################################################
+# $1
+################################################################################
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/init b/emacs/.emacs.d/snippets/python-mode/init
new file mode 100644
index 000000000000..5c407495f53a
--- /dev/null
+++ b/emacs/.emacs.d/snippets/python-mode/init
@@ -0,0 +1,6 @@
+# -*- mode: snippet -*-
+# name: dunder init
+# key: ctor
+# --
+def __init__(self$1):
+    $2
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/python-mode/shebang b/emacs/.emacs.d/snippets/python-mode/shebang
new file mode 100644
index 000000000000..0f45ae782d32
--- /dev/null
+++ b/emacs/.emacs.d/snippets/python-mode/shebang
@@ -0,0 +1,6 @@
+# -*- mode: snippet -*-
+# name: shebang
+# key: shb
+# --
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
diff --git a/emacs/.emacs.d/snippets/python-mode/utf-8 b/emacs/.emacs.d/snippets/python-mode/utf-8
new file mode 100644
index 000000000000..3babc730305a
--- /dev/null
+++ b/emacs/.emacs.d/snippets/python-mode/utf-8
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: utf-8
+# key: utf
+# --
+# -*- coding: utf-8 -*-
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/racket-mode/.yas-parents b/emacs/.emacs.d/snippets/racket-mode/.yas-parents
new file mode 100644
index 000000000000..d58dacb7a0b1
--- /dev/null
+++ b/emacs/.emacs.d/snippets/racket-mode/.yas-parents
@@ -0,0 +1 @@
+text-mode
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/racket-mode/function b/emacs/.emacs.d/snippets/racket-mode/function
new file mode 100644
index 000000000000..882c48ded39d
--- /dev/null
+++ b/emacs/.emacs.d/snippets/racket-mode/function
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: Function
+# key: fn
+# --
+(define ($1) $2)
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/racket-mode/lambda b/emacs/.emacs.d/snippets/racket-mode/lambda
new file mode 100644
index 000000000000..b9a684588bc4
--- /dev/null
+++ b/emacs/.emacs.d/snippets/racket-mode/lambda
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: Lambda function
+# key: ld
+# --
+(λ ($1) $2)
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/racket-mode/lambda-symbol b/emacs/.emacs.d/snippets/racket-mode/lambda-symbol
new file mode 100644
index 000000000000..254b9fd96b18
--- /dev/null
+++ b/emacs/.emacs.d/snippets/racket-mode/lambda-symbol
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: Lambda symbol
+# key: l
+# --
+λ
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/reason-mode/.yas-parents b/emacs/.emacs.d/snippets/reason-mode/.yas-parents
new file mode 100644
index 000000000000..d58dacb7a0b1
--- /dev/null
+++ b/emacs/.emacs.d/snippets/reason-mode/.yas-parents
@@ -0,0 +1 @@
+text-mode
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/reason-mode/function b/emacs/.emacs.d/snippets/reason-mode/function
new file mode 100644
index 000000000000..6b4b6a5db2a7
--- /dev/null
+++ b/emacs/.emacs.d/snippets/reason-mode/function
@@ -0,0 +1,7 @@
+# -*- mode: snippet -*-
+# name: Function
+# key: fn
+# --
+let $1 = (~$2:$3) => {
+  $4
+};
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/reason-mode/switch b/emacs/.emacs.d/snippets/reason-mode/switch
new file mode 100644
index 000000000000..40f34ff8d1f1
--- /dev/null
+++ b/emacs/.emacs.d/snippets/reason-mode/switch
@@ -0,0 +1,7 @@
+# -*- mode: snippet -*-
+# name: Switch statement
+# key: sw
+# --
+switch ($1) {
+| $2 =>
+}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/rjsx-mode/.yas-parents b/emacs/.emacs.d/snippets/rjsx-mode/.yas-parents
new file mode 100644
index 000000000000..d58dacb7a0b1
--- /dev/null
+++ b/emacs/.emacs.d/snippets/rjsx-mode/.yas-parents
@@ -0,0 +1 @@
+text-mode
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/rjsx-mode/action-extractor b/emacs/.emacs.d/snippets/rjsx-mode/action-extractor
new file mode 100644
index 000000000000..62834a29ab04
--- /dev/null
+++ b/emacs/.emacs.d/snippets/rjsx-mode/action-extractor
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: exactness
+# key: $x
+# --
+$Exact<$Call<typeof $1>>
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/rjsx-mode/console-log b/emacs/.emacs.d/snippets/rjsx-mode/console-log
new file mode 100644
index 000000000000..82ec3fd8e379
--- /dev/null
+++ b/emacs/.emacs.d/snippets/rjsx-mode/console-log
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: Console.log helper
+# key: clg
+# --
+console.log($1)
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/rjsx-mode/const-defn b/emacs/.emacs.d/snippets/rjsx-mode/const-defn
new file mode 100644
index 000000000000..8e35e61fc2c4
--- /dev/null
+++ b/emacs/.emacs.d/snippets/rjsx-mode/const-defn
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: const definition
+# key: cn
+# --
+const $1 = '$2'
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/rjsx-mode/const-function b/emacs/.emacs.d/snippets/rjsx-mode/const-function
new file mode 100644
index 000000000000..13f2018f2269
--- /dev/null
+++ b/emacs/.emacs.d/snippets/rjsx-mode/const-function
@@ -0,0 +1,7 @@
+# -*- mode: snippet -*-
+# name: const function
+# key: cfn
+# --
+const $1 = ($2) => {
+  $3
+}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/rjsx-mode/destructure-const b/emacs/.emacs.d/snippets/rjsx-mode/destructure-const
new file mode 100644
index 000000000000..2a52c57c75cd
--- /dev/null
+++ b/emacs/.emacs.d/snippets/rjsx-mode/destructure-const
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: Destructuring a const
+# key: cds
+# --
+const { $1 } = $2
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/rjsx-mode/fat-arrow b/emacs/.emacs.d/snippets/rjsx-mode/fat-arrow
new file mode 100644
index 000000000000..187a2efc5a7c
--- /dev/null
+++ b/emacs/.emacs.d/snippets/rjsx-mode/fat-arrow
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: Fat arrow function
+# key: fa
+# --
+=>
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/rjsx-mode/fat-arrow-function b/emacs/.emacs.d/snippets/rjsx-mode/fat-arrow-function
new file mode 100644
index 000000000000..694914a83c95
--- /dev/null
+++ b/emacs/.emacs.d/snippets/rjsx-mode/fat-arrow-function
@@ -0,0 +1,7 @@
+# -*- mode: snippet -*-
+# name: Fat arrow function
+# key: faf
+# --
+() => {
+  $1
+}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/rjsx-mode/import-destructured b/emacs/.emacs.d/snippets/rjsx-mode/import-destructured
new file mode 100644
index 000000000000..ded3ce163a93
--- /dev/null
+++ b/emacs/.emacs.d/snippets/rjsx-mode/import-destructured
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: Import destructured
+# key: ids
+# --
+import { $1 } from '$2'
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/rjsx-mode/import-react b/emacs/.emacs.d/snippets/rjsx-mode/import-react
new file mode 100644
index 000000000000..0463f5cd5593
--- /dev/null
+++ b/emacs/.emacs.d/snippets/rjsx-mode/import-react
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: Import React dependency (ES6)
+# key: ir
+# --
+import React from 'react'
diff --git a/emacs/.emacs.d/snippets/rjsx-mode/import-type b/emacs/.emacs.d/snippets/rjsx-mode/import-type
new file mode 100644
index 000000000000..fcd51f687b61
--- /dev/null
+++ b/emacs/.emacs.d/snippets/rjsx-mode/import-type
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: import type
+# key: ixt
+# --
+import type { $1 } from '$2'
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/rjsx-mode/import-x-from-y b/emacs/.emacs.d/snippets/rjsx-mode/import-x-from-y
new file mode 100644
index 000000000000..09fa6df50506
--- /dev/null
+++ b/emacs/.emacs.d/snippets/rjsx-mode/import-x-from-y
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: import x from y
+# key: ix
+# --
+import $1 from '$2'
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/rjsx-mode/import-y b/emacs/.emacs.d/snippets/rjsx-mode/import-y
new file mode 100644
index 000000000000..9f550e300d12
--- /dev/null
+++ b/emacs/.emacs.d/snippets/rjsx-mode/import-y
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: import y
+# key: iy
+# --
+import '$1'
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/rjsx-mode/jest-describe-test b/emacs/.emacs.d/snippets/rjsx-mode/jest-describe-test
new file mode 100644
index 000000000000..ed382d4f74c4
--- /dev/null
+++ b/emacs/.emacs.d/snippets/rjsx-mode/jest-describe-test
@@ -0,0 +1,10 @@
+# -*- mode: snippet -*-
+# name: Jest describe/test block
+# key: dsc
+# --
+describe('$1', () => {
+  test('$2', () => {
+
+    expect($3).toEqual($4)
+  })
+})
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/rjsx-mode/jest-test b/emacs/.emacs.d/snippets/rjsx-mode/jest-test
new file mode 100644
index 000000000000..12ca2e786ded
--- /dev/null
+++ b/emacs/.emacs.d/snippets/rjsx-mode/jest-test
@@ -0,0 +1,7 @@
+# -*- mode: snippet -*-
+# name: Jest / Jasmine test
+# key: tst
+# --
+test('$1', () => {
+  expect($2).toBe($3)
+})
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/rjsx-mode/react-class-component b/emacs/.emacs.d/snippets/rjsx-mode/react-class-component
new file mode 100644
index 000000000000..f2a93a31d96d
--- /dev/null
+++ b/emacs/.emacs.d/snippets/rjsx-mode/react-class-component
@@ -0,0 +1,11 @@
+# -*- mode: snippet -*-
+# name: React class extends
+# key: clz
+# --
+class $1 extends React.Component {
+  render() {
+    $2
+  }
+}
+
+export default $1
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/rjsx-mode/redux-action b/emacs/.emacs.d/snippets/rjsx-mode/redux-action
new file mode 100644
index 000000000000..7d24ffee4165
--- /dev/null
+++ b/emacs/.emacs.d/snippets/rjsx-mode/redux-action
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: redux-action
+# key: rax
+# --
+export const ${1:$$(string/lower->caps yas-text)} = '`(downcase (buffer-dirname))`/${1:$(string/caps->kebab yas-text)}'
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/rjsx-mode/typed-redux-action b/emacs/.emacs.d/snippets/rjsx-mode/typed-redux-action
new file mode 100644
index 000000000000..c50e1f9d2e95
--- /dev/null
+++ b/emacs/.emacs.d/snippets/rjsx-mode/typed-redux-action
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: typed-redux-action
+# key: trax
+# --
+export const ${1:$$(string/lower->caps yas-text)}: '`(downcase (buffer-dirname))`/${1:$(string/caps->kebab yas-text)}' = '`(downcase (buffer-dirname))`/${1:$(string/caps->kebab yas-text)}'
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/rust-mode/.yas-parents b/emacs/.emacs.d/snippets/rust-mode/.yas-parents
new file mode 100644
index 000000000000..d58dacb7a0b1
--- /dev/null
+++ b/emacs/.emacs.d/snippets/rust-mode/.yas-parents
@@ -0,0 +1 @@
+text-mode
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/rust-mode/for-loop b/emacs/.emacs.d/snippets/rust-mode/for-loop
new file mode 100644
index 000000000000..4d8e0e3bbd24
--- /dev/null
+++ b/emacs/.emacs.d/snippets/rust-mode/for-loop
@@ -0,0 +1,7 @@
+# -*- mode: snippet -*-
+# name: for-loop
+# key: for
+# --
+for $1 in $2 {
+    $3
+}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/rust-mode/match b/emacs/.emacs.d/snippets/rust-mode/match
new file mode 100644
index 000000000000..bf0e876e2b98
--- /dev/null
+++ b/emacs/.emacs.d/snippets/rust-mode/match
@@ -0,0 +1,7 @@
+# -*- mode: snippet -*-
+# name: match
+# key: match
+# --
+match $1 {
+    $2 => $3,
+}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/sh-mode/.yas-parents b/emacs/.emacs.d/snippets/sh-mode/.yas-parents
new file mode 100644
index 000000000000..d58dacb7a0b1
--- /dev/null
+++ b/emacs/.emacs.d/snippets/sh-mode/.yas-parents
@@ -0,0 +1 @@
+text-mode
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/sh-mode/function b/emacs/.emacs.d/snippets/sh-mode/function
new file mode 100644
index 000000000000..efa946bb272f
--- /dev/null
+++ b/emacs/.emacs.d/snippets/sh-mode/function
@@ -0,0 +1,7 @@
+# -*- mode: snippet -*-
+# name: Create function
+# key: fn
+# --
+$1() {
+  $2
+}
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/text-mode/.yas-parents b/emacs/.emacs.d/snippets/text-mode/.yas-parents
new file mode 100644
index 000000000000..d58dacb7a0b1
--- /dev/null
+++ b/emacs/.emacs.d/snippets/text-mode/.yas-parents
@@ -0,0 +1 @@
+text-mode
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/text-mode/check-mark b/emacs/.emacs.d/snippets/text-mode/check-mark
new file mode 100644
index 000000000000..797781968881
--- /dev/null
+++ b/emacs/.emacs.d/snippets/text-mode/check-mark
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: Unicode checkmark
+# key: uck
+# --
+✓
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/text-mode/x-mark b/emacs/.emacs.d/snippets/text-mode/x-mark
new file mode 100644
index 000000000000..bc3c356a6157
--- /dev/null
+++ b/emacs/.emacs.d/snippets/text-mode/x-mark
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: Unicode ex-mark
+# key: ux
+# --
+✗
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/web-mode/.yas-parents b/emacs/.emacs.d/snippets/web-mode/.yas-parents
new file mode 100644
index 000000000000..d58dacb7a0b1
--- /dev/null
+++ b/emacs/.emacs.d/snippets/web-mode/.yas-parents
@@ -0,0 +1 @@
+text-mode
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/web-mode/header b/emacs/.emacs.d/snippets/web-mode/header
new file mode 100644
index 000000000000..ae59c7a50f9c
--- /dev/null
+++ b/emacs/.emacs.d/snippets/web-mode/header
@@ -0,0 +1,7 @@
+# -*- mode: snippet -*-
+# name: Header
+# key: hdr
+# --
+/*******************************************************************************
+ * $1
+ ******************************************************************************/
\ No newline at end of file
diff --git a/emacs/.emacs.d/snippets/web-mode/index-boilerplate b/emacs/.emacs.d/snippets/web-mode/index-boilerplate
new file mode 100644
index 000000000000..b791cdf86fe5
--- /dev/null
+++ b/emacs/.emacs.d/snippets/web-mode/index-boilerplate
@@ -0,0 +1,18 @@
+# -*- mode: snippet -*-
+# name: HTML index.html starter
+# key: html
+# --
+<!doctype html>
+
+<html lang="en">
+<head>
+  <meta charset="utf-8">
+  <title>$1</title>
+  <meta name="description" content="$2">
+  <meta name="author" content="William Carroll">
+  <link rel="stylesheet" href="index.css">
+</head>
+<body>
+  <script src="index.js"></script>
+</body>
+</html>