summaryrefslogtreecommitdiff
path: root/plugins/coffee
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/coffee')
-rw-r--r--plugins/coffee/README.md31
-rw-r--r--plugins/coffee/coffee.plugin.zsh16
2 files changed, 47 insertions, 0 deletions
diff --git a/plugins/coffee/README.md b/plugins/coffee/README.md
new file mode 100644
index 000000000..d0e7bbe74
--- /dev/null
+++ b/plugins/coffee/README.md
@@ -0,0 +1,31 @@
+## Coffeescript Plugin
+
+This plugin provides aliases for quickly compiling and previewing your
+cofeescript code.
+
+When writing Coffeescript it's very common to want to preview the output of a
+certain snippet of code, either because you want to test the output or because
+you'd like to execute it in a browser console which doesn't accept Coffeescript.
+
+Preview the compiled result of your coffeescript with `cf "code"` as per the
+following:
+
+```zsh
+$ cf 'if a then be else c'
+if (a) {
+ b;
+} else {
+ c;
+}
+```
+
+Also provides the following aliases:
+
+* **cfc:** Copies the compiled JS to your clipboard. Very useful when you want
+ to run the code in a JS console.
+
+* **cfp:** Compiles from your currently copied clipboard. Useful when you want
+ to compile large/multi-line snippets
+
+* **cfpc:** Paste coffeescript from clipboard, compile to JS, then copy the
+ the result back to clipboard.
diff --git a/plugins/coffee/coffee.plugin.zsh b/plugins/coffee/coffee.plugin.zsh
new file mode 100644
index 000000000..1a7bedd87
--- /dev/null
+++ b/plugins/coffee/coffee.plugin.zsh
@@ -0,0 +1,16 @@
+#!/bin/zsh
+
+# compile a string of coffeescript and print to output
+cf () {
+ coffee -peb $1
+}
+# compile & copy to clipboard
+cfc () {
+ cf $1 | pbcopy
+}
+
+# compile from pasteboard & print
+alias cfp='coffeeMe "$(pbpaste)"'
+
+# compile from pasteboard and copy to clipboard
+alias cfpc='cfp | pbcopy'