summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobby Russell <robby@planetargon.com>2015-06-14 22:16:04 -0700
committerRobby Russell <robby@planetargon.com>2015-06-14 22:16:04 -0700
commitc0b283c76b70a438759fb58935e2eeb3c5bb4fea (patch)
treeb13f51473c3a90218f4cf5932066b93bec070871
parent6a340d99fd98e98178cfaab4cbb7875a8ed51e3b (diff)
parentd80918bf981d5df3f192346b44c0c35636ee7b2b (diff)
downloadzsh-c0b283c76b70a438759fb58935e2eeb3c5bb4fea.tar.gz
zsh-c0b283c76b70a438759fb58935e2eeb3c5bb4fea.tar.bz2
zsh-c0b283c76b70a438759fb58935e2eeb3c5bb4fea.zip
Merge pull request #3833 from coopermaruyama/master
coffeescript aliases for easy compiling
-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'