PZ5HUCRXCTUXIKAFUFDGMVSZVV4MIDZ2EE7OC3TBZTTQ7HZCMUYAC
6ZQNDBEETYTQRJL3LC5VUCDE3QMAS5Y4ADZBD223M7ENQJMG5ZFAC
RXCY7LD6ZRIOIKZEYKLMCYPMQPXF4DOEEFBDLVR2B22BXLZJFFBQC
A3TVGLVHSVLMEHLHB3TPBSD3QGNVGX3DIK6BEBDTTHWBNW4ALMRAC
CQP5HB5FX2UYIDKYJ4DOF3J7QIM6466VLNO3IGY4CFVE5CKKFXQAC
PLDMRGXK2L3DF4GLVYJKJNX6F72BPVDVEFUS2K4W44XWYKWR5GIQC
TGD23KBV2V7J7FFX7FDBENYMGDIOMS2JNOIZAYNXGQ52E4CQNJYAC
ID2EGR57O3IBMJWU6YEKAYOOTBMK3E2OR5GWGNUNJO4VROOOBDJQC
WYODGFC5HQ73OSRTMGFQ64X6ER3HQT5TAW27TH7ZEFJD3JE66QWQC
IIGFHQBUY3EF2A2WZQ2P32HCGJNNEBEIMBAUUVVY3GURRH6JGPJAC
3CY6DZO4DKCQ2BPIA7R6K4GQ52QKMSLNIWURG5CRC7BBHEGR7V3QC
DWJHLZWVL7RM2WQXN3ZJTJXXKUEUNQLL37TMMTPL7NL375M2QJCQC
3JWFD2G57L5B5TLR3HGNKFALVXE3RIAVWQ6SKGZ7ILD5RMN3GHMAC
ZIZORUH6UNA67S6DRRGGCTSOCYENTHGODHJ5JP3UUPLIKGYU5UVAC
HGGMS7P6BRIGWP6DZS3KLRXQPRETMB2GUULCQZAED6IYD5ENK2DQC
IOVPOFAVXEQIZ7BCFVVAWFW3RYFXPK2GOILDWA6N6QHQHLAJ4XTAC
if [[ -o interactive ]]; then
if [ "$TERM" != "screen" -a "$ITERM_SHELL_INTEGRATION_INSTALLED" = "" ]; then
if [[ $TERM_PROGRAM == "iTerm.app" && -o interactive ]]; then
if [ "$ITERM_ENABLE_SHELL_INTEGRATION_WITH_TMUX""$TERM" != "screen" -a "$ITERM_SHELL_INTEGRATION_INSTALLED" = "" ]; then
[[ -z "$iterm2_hostname" ]] && iterm2_hostname=`hostname -f`
[[ -z "$iterm2_hostname" ]] && iterm2_hostname=`hostname -f 2>/dev/null`
# some flavors of BSD (i.e. NetBSD and OpenBSD) don't have the -f option
if [ $? -ne 0 ]; then
iterm2_hostname=`hostname`
fi
alias imgcat=~/.iterm2/imgcat;alias imgls=~/.iterm2/imgls;alias it2attention=~/.iterm2/it2attention;alias it2check=~/.iterm2/it2check;alias it2copy=~/.iterm2/it2copy;alias it2dl=~/.iterm2/it2dl;alias it2getvar=~/.iterm2/it2getvar;alias it2setcolor=~/.iterm2/it2setcolor;alias it2setkeylabel=~/.iterm2/it2setkeylabel;alias it2ul=~/.iterm2/it2ul;alias it2universion=~/.iterm2/it2universion
(defun op--collect-args (body)
(flet ((walker (body &optional args)
(if (null body)
args
(if (symbolp body)
(when (eql ?\_ (elt (symbol-name body) 0))
(cons body args))
(if (listp body)
(append (op--collect-args (car body))
(op--collect-args (cdr body))
))))))
(sort (walker body)
(lambda (a b)
(< (string-to-number (subseq (symbol-name a) 1))
(string-to-number (subseq (symbol-name b) 1)))))))
(defmacro op (&rest body)
`(lambda ,(op--collect-args body)
,@body))
(defun op--collect-args (body)
(flet ((walker (body &optional args)
(if (null body)
args
(if (symbolp body)
(when (eql ?\_ (elt (symbol-name body) 0))
(cons body args))
(if (listp body)
(append (op--collect-args (car body))
(op--collect-args (cdr body))
))))))
(sort (walker body)
(lambda (a b)
(< (string-to-number (subseq (symbol-name a) 1))
(string-to-number (subseq (symbol-name b) 1)))))))
(defmacro op (&rest body)
`(lambda ,(op--collect-args body)
,@body))