ohmyzsh/plugins/coffee/coffee.plugin.zsh

59 lines
1.4 KiB
Bash
Raw Normal View History

#!/bin/zsh
# Check if coffee is installed
if ! command -v coffee >/dev/null 2>&1; then
echo "Error: CoffeeScript compiler not found. Please install it with 'npm install -g coffee-script'" >&2
return 1
fi
# Compile a string of CoffeeScript and print to output
cf() {
if [[ -z "$1" ]]; then
echo "Error: No input provided" >&2
echo "Usage: cf 'CoffeeScript code'" >&2
return 1
fi
coffee -peb -- "$1" 2>/dev/null || {
echo "Error: Failed to compile CoffeeScript" >&2
return 1
}
}
# Compile & copy to clipboard
cfc() {
if [[ -z "$1" ]]; then
echo "Error: No input provided" >&2
echo "Usage: cfc 'CoffeeScript code'" >&2
return 1
fi
local result
result=$(cf "$1") || return 1
echo "$result" | clipcopy && echo "Compiled code copied to clipboard"
}
# Compile from clipboard & print
cfp() {
local input
input=$(clippaste)
if [[ -z "$input" ]]; then
echo "Error: Clipboard is empty" >&2
return 1
fi
cf "$input"
}
# Compile from clipboard and copy back to clipboard
cfpc() {
local input result
input=$(clippaste)
if [[ -z "$input" ]]; then
echo "Error: Clipboard is empty" >&2
return 1
fi
result=$(cf "$input") || return 1
echo "$result" | clipcopy && echo "Compiled code copied to clipboard"
}
# Export the functions
export -f cf cfc cfp cfpc