Created
August 26, 2012 11:55
-
-
Save alesya-h/3478050 to your computer and use it in GitHub Desktop.
vkpd.rb read as lisp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(PROGRAM | |
((COMMAND (@IDENT "require" (2 0)) | |
(ARGS_ADD_BLOCK | |
((STRING_LITERAL (STRING_CONTENT (@TSTRING_CONTENT "net/http" (2 9))))) | |
FALSE)) | |
(COMMAND (@IDENT "require" (3 0)) | |
(ARGS_ADD_BLOCK | |
((STRING_LITERAL (STRING_CONTENT (@TSTRING_CONTENT "net/https" (3 9))))) | |
FALSE)) | |
(COMMAND (@IDENT "require" (4 0)) | |
(ARGS_ADD_BLOCK | |
((STRING_LITERAL (STRING_CONTENT (@TSTRING_CONTENT "cgi" (4 9))))) FALSE)) | |
(COMMAND (@IDENT "require" (5 0)) | |
(ARGS_ADD_BLOCK | |
((STRING_LITERAL (STRING_CONTENT (@TSTRING_CONTENT "yaml" (5 9))))) FALSE)) | |
(COMMAND (@IDENT "require" (6 0)) | |
(ARGS_ADD_BLOCK | |
((STRING_LITERAL (STRING_CONTENT (@TSTRING_CONTENT "json" (6 9))))) FALSE)) | |
(ASSIGN (VAR_FIELD (@IDENT "method" (8 0))) | |
(STRING_LITERAL (STRING_CONTENT (@TSTRING_CONTENT "audio.search" (8 10))))) | |
(ASSIGN (VAR_FIELD (@IDENT "params" (9 0))) (HASH NIL)) | |
(ASSIGN (VAR_FIELD (@IDENT "action_before" (10 0))) | |
(STRING_LITERAL (STRING_CONTENT (@TSTRING_CONTENT "mpc clear" (10 17))))) | |
(ASSIGN (VAR_FIELD (@IDENT "action_after" (11 0))) | |
(STRING_LITERAL (STRING_CONTENT (@TSTRING_CONTENT "mpc play" (11 17))))) | |
(ASSIGN | |
(AREF_FIELD (VAR_REF (@IDENT "params" (12 0))) | |
(ARGS_ADD_BLOCK | |
((STRING_LITERAL | |
(STRING_CONTENT (@TSTRING_CONTENT "auto_complete" (12 8))))) | |
FALSE)) | |
(STRING_LITERAL (STRING_CONTENT (@TSTRING_CONTENT "1" (12 27))))) | |
(IF (CALL (VAR_REF (@CONST "ARGV" (14 3))) :|.| (@IDENT "empty?" (14 8))) | |
((COMMAND_CALL (VAR_REF (@CONST "ARGV" (15 2))) :|.| | |
(@IDENT "push" (15 7)) | |
(ARGS_ADD_BLOCK | |
((STRING_LITERAL (STRING_CONTENT (@TSTRING_CONTENT "-h" (15 13))))) | |
FALSE))) | |
NIL) | |
(DEF (@IDENT "config" (19 4)) (PARAMS NIL NIL NIL NIL NIL) | |
(BODYSTMT | |
((UNLESS | |
(COMMAND_CALL (VAR_REF (@CONST "File" (20 9))) :|.| | |
(@IDENT "exist?" (20 14)) | |
(ARGS_ADD_BLOCK | |
((STRING_LITERAL | |
(STRING_CONTENT | |
(STRING_EMBEXPR | |
((AREF (VAR_REF (@CONST "ENV" (20 24))) | |
(ARGS_ADD_BLOCK | |
((STRING_LITERAL | |
(STRING_CONTENT (@TSTRING_CONTENT "HOME" (20 29))))) | |
FALSE)))) | |
(@TSTRING_CONTENT "/.config/vkpd.yaml" (20 36))))) | |
FALSE)) | |
((COMMAND (@IDENT "puts" (21 4)) | |
(ARGS_ADD_BLOCK | |
((STRING_LITERAL | |
(STRING_CONTENT | |
(@TSTRING_CONTENT | |
"Please authenticate. Start vkpd-auth.rb and point your browser to http://localhost.localdomain:4567/" | |
(21 10))))) | |
FALSE)) | |
(COMMAND (@IDENT "exit" (22 4)) | |
(ARGS_ADD_BLOCK ((@INT "1" (22 9))) FALSE))) | |
NIL) | |
(OPASSIGN (VAR_FIELD (@IVAR "@config" (24 2))) (@OP "||=" (24 10)) | |
(COMMAND_CALL (VAR_REF (@CONST "YAML" (24 14))) :|.| | |
(@IDENT "load" (24 19)) | |
(ARGS_ADD_BLOCK | |
((METHOD_ADD_ARG | |
(CALL (VAR_REF (@CONST "File" (24 24))) :|.| (@IDENT "read" (24 29))) | |
(ARG_PAREN | |
(ARGS_ADD_BLOCK | |
((STRING_LITERAL | |
(STRING_CONTENT | |
(STRING_EMBEXPR | |
((AREF (VAR_REF (@CONST "ENV" (24 37))) | |
(ARGS_ADD_BLOCK | |
((STRING_LITERAL | |
(STRING_CONTENT (@TSTRING_CONTENT "HOME" (24 42))))) | |
FALSE)))) | |
(@TSTRING_CONTENT "/.config/vkpd.yaml" (24 49))))) | |
FALSE)))) | |
FALSE)))) | |
NIL NIL NIL)) | |
(WHILE | |
(BINARY (CALL (VAR_REF (@CONST "ARGV" (27 6))) :|.| (@IDENT "size" (27 11))) | |
:> (@INT "0" (27 18))) | |
((ASSIGN (VAR_FIELD (@IDENT "current" (28 0))) | |
(CALL (VAR_REF (@CONST "ARGV" (28 10))) :|.| (@IDENT "shift" (28 15)))) | |
(CASE (VAR_REF (@IDENT "current" (29 7))) | |
(WHEN | |
((STRING_LITERAL (STRING_CONTENT (@TSTRING_CONTENT "-h" (30 8)))) | |
(STRING_LITERAL (STRING_CONTENT (@TSTRING_CONTENT "--help" (30 13))))) | |
((ASSIGN (VAR_FIELD (@IDENT "filename" (31 4))) | |
(BINARY | |
(CALL | |
(XSTRING_LITERAL | |
((@TSTRING_CONTENT "dirname " (31 16)) | |
(STRING_EMBEXPR | |
((XSTRING_LITERAL | |
((@TSTRING_CONTENT "readlink -f " (31 27)) | |
(STRING_EMBEXPR ((VAR_REF (@GVAR "$0" (31 41))))))))))) | |
:|.| (@IDENT "chomp" (31 48))) | |
:+ | |
(STRING_LITERAL | |
(STRING_CONTENT (@TSTRING_CONTENT "/README" (31 55)))))) | |
(COMMAND (@IDENT "puts" (32 4)) | |
(ARGS_ADD_BLOCK | |
((METHOD_ADD_ARG | |
(CALL (VAR_REF (@CONST "File" (32 9))) :|.| | |
(@IDENT "read" (32 14))) | |
(ARG_PAREN | |
(ARGS_ADD_BLOCK ((VAR_REF (@IDENT "filename" (32 19)))) FALSE)))) | |
FALSE)) | |
(COMMAND (@IDENT "exit" (33 4)) | |
(ARGS_ADD_BLOCK ((@INT "0" (33 9))) FALSE))) | |
(WHEN | |
((STRING_LITERAL (STRING_CONTENT (@TSTRING_CONTENT "-d" (34 8)))) | |
(STRING_LITERAL | |
(STRING_CONTENT (@TSTRING_CONTENT "--debug" (34 14)))) | |
(REGEXP_LITERAL ((@TSTRING_CONTENT "^--count=\\d+$" (34 25))) | |
(@REGEXP_END "/" (34 38)))) | |
((ASSIGN (VAR_FIELD (@GVAR "$debug" (35 4))) | |
(VAR_REF (@KW "true" (35 14))))) | |
(WHEN | |
((STRING_LITERAL (STRING_CONTENT (@TSTRING_CONTENT "-c" (36 8)))) | |
(STRING_LITERAL | |
(STRING_CONTENT (@TSTRING_CONTENT "--count" (36 14)))) | |
(REGEXP_LITERAL ((@TSTRING_CONTENT "^--count=\\d+$" (36 25))) | |
(@REGEXP_END "/" (36 38)))) | |
((ASSIGN (VAR_FIELD (@IDENT "value" (37 4))) | |
(IFOP | |
(METHOD_ADD_ARG | |
(CALL (VAR_REF (@IDENT "current" (37 12))) :|.| | |
(@IDENT "include?" (37 20))) | |
(ARG_PAREN | |
(ARGS_ADD_BLOCK | |
((STRING_LITERAL | |
(STRING_CONTENT (@TSTRING_CONTENT "=" (37 30))))) | |
FALSE))) | |
(AREF | |
(METHOD_ADD_ARG | |
(CALL (VAR_REF (@IDENT "current" (37 36))) :|.| | |
(@IDENT "match" (37 44))) | |
(ARG_PAREN | |
(ARGS_ADD_BLOCK | |
((REGEXP_LITERAL ((@TSTRING_CONTENT "=(.*)" (37 51))) | |
(@REGEXP_END "/" (37 56)))) | |
FALSE))) | |
(ARGS_ADD_BLOCK ((@INT "1" (37 59))) FALSE)) | |
(CALL (VAR_REF (@CONST "ARGV" (37 64))) :|.| | |
(@IDENT "shift" (37 69))))) | |
(ASSIGN | |
(AREF_FIELD (VAR_REF (@IDENT "params" (38 4))) | |
(ARGS_ADD_BLOCK | |
((STRING_LITERAL | |
(STRING_CONTENT (@TSTRING_CONTENT "count" (38 12))))) | |
FALSE)) | |
(VAR_REF (@IDENT "value" (38 23))))) | |
(WHEN | |
((STRING_LITERAL | |
(STRING_CONTENT (@TSTRING_CONTENT "-o" (39 8)))) | |
(STRING_LITERAL | |
(STRING_CONTENT (@TSTRING_CONTENT "--offset" (39 14)))) | |
(REGEXP_LITERAL ((@TSTRING_CONTENT "^--offset=\\d+$" (39 26))) | |
(@REGEXP_END "/" (39 40)))) | |
((ASSIGN (VAR_FIELD (@IDENT "value" (40 4))) | |
(IFOP | |
(METHOD_ADD_ARG | |
(CALL (VAR_REF (@IDENT "current" (40 12))) :|.| | |
(@IDENT "include?" (40 20))) | |
(ARG_PAREN | |
(ARGS_ADD_BLOCK | |
((STRING_LITERAL | |
(STRING_CONTENT (@TSTRING_CONTENT "=" (40 30))))) | |
FALSE))) | |
(AREF | |
(METHOD_ADD_ARG | |
(CALL (VAR_REF (@IDENT "current" (40 36))) :|.| | |
(@IDENT "match" (40 44))) | |
(ARG_PAREN | |
(ARGS_ADD_BLOCK | |
((REGEXP_LITERAL ((@TSTRING_CONTENT "=(.*)" (40 51))) | |
(@REGEXP_END "/" (40 56)))) | |
FALSE))) | |
(ARGS_ADD_BLOCK ((@INT "1" (40 59))) FALSE)) | |
(CALL (VAR_REF (@CONST "ARGV" (40 64))) :|.| | |
(@IDENT "shift" (40 69))))) | |
(ASSIGN | |
(AREF_FIELD (VAR_REF (@IDENT "params" (41 4))) | |
(ARGS_ADD_BLOCK | |
((STRING_LITERAL | |
(STRING_CONTENT (@TSTRING_CONTENT "offset" (41 12))))) | |
FALSE)) | |
(VAR_REF (@IDENT "value" (41 23))))) | |
(WHEN | |
((STRING_LITERAL | |
(STRING_CONTENT (@TSTRING_CONTENT "-s" (42 8)))) | |
(STRING_LITERAL | |
(STRING_CONTENT (@TSTRING_CONTENT "--sort" (42 14)))) | |
(REGEXP_LITERAL ((@TSTRING_CONTENT "^--sort=\\d+$" (42 24))) | |
(@REGEXP_END "/" (42 36)))) | |
((ASSIGN (VAR_FIELD (@IDENT "value" (43 4))) | |
(IFOP | |
(METHOD_ADD_ARG | |
(CALL (VAR_REF (@IDENT "current" (43 12))) :|.| | |
(@IDENT "include?" (43 20))) | |
(ARG_PAREN | |
(ARGS_ADD_BLOCK | |
((STRING_LITERAL | |
(STRING_CONTENT (@TSTRING_CONTENT "=" (43 30))))) | |
FALSE))) | |
(AREF | |
(METHOD_ADD_ARG | |
(CALL (VAR_REF (@IDENT "current" (43 36))) :|.| | |
(@IDENT "match" (43 44))) | |
(ARG_PAREN | |
(ARGS_ADD_BLOCK | |
((REGEXP_LITERAL ((@TSTRING_CONTENT "=(.*)" (43 51))) | |
(@REGEXP_END "/" (43 56)))) | |
FALSE))) | |
(ARGS_ADD_BLOCK ((@INT "1" (43 59))) FALSE)) | |
(CALL (VAR_REF (@CONST "ARGV" (43 64))) :|.| | |
(@IDENT "shift" (43 69))))) | |
(ASSIGN | |
(AREF_FIELD (VAR_REF (@IDENT "params" (44 4))) | |
(ARGS_ADD_BLOCK | |
((STRING_LITERAL | |
(STRING_CONTENT (@TSTRING_CONTENT "sort" (44 12))))) | |
FALSE)) | |
(VAR_REF (@IDENT "value" (44 21))))) | |
(WHEN | |
((STRING_LITERAL | |
(STRING_CONTENT (@TSTRING_CONTENT "user" (45 8))))) | |
((ASSIGN (VAR_FIELD (@IDENT "method" (46 4))) | |
(STRING_LITERAL | |
(STRING_CONTENT (@TSTRING_CONTENT "audio.get" (46 14))))) | |
(IF (BINARY | |
(UNARY :! | |
(CALL (VAR_REF (@CONST "ARGV" (47 8))) :|.| | |
(@IDENT "empty?" (47 13)))) | |
:|and| | |
(METHOD_ADD_ARG | |
(CALL | |
(CALL (VAR_REF (@CONST "ARGV" (47 24))) :|.| | |
(@IDENT "first" (47 29))) | |
:|.| (@IDENT "match" (47 35))) | |
(ARG_PAREN | |
(ARGS_ADD_BLOCK | |
((REGEXP_LITERAL | |
((@TSTRING_CONTENT "^\\d+$" (47 42))) | |
(@REGEXP_END "/" (47 47)))) | |
FALSE)))) | |
((ASSIGN | |
(AREF_FIELD (VAR_REF (@IDENT "params" (48 6))) | |
(ARGS_ADD_BLOCK | |
((STRING_LITERAL | |
(STRING_CONTENT (@TSTRING_CONTENT "uid" (48 14))))) | |
FALSE)) | |
(CALL (VAR_REF (@CONST "ARGV" (48 22))) :|.| | |
(@IDENT "shift" (48 27))))) | |
(ELSE | |
((ASSIGN | |
(AREF_FIELD (VAR_REF (@IDENT "params" (50 6))) | |
(ARGS_ADD_BLOCK | |
((STRING_LITERAL | |
(STRING_CONTENT | |
(@TSTRING_CONTENT "uid" (50 14))))) | |
FALSE)) | |
(AREF (VCALL (@IDENT "config" (50 22))) | |
(ARGS_ADD_BLOCK | |
((STRING_LITERAL | |
(STRING_CONTENT | |
(@TSTRING_CONTENT "user_id" (50 30))))) | |
FALSE))))))) | |
(WHEN | |
((STRING_LITERAL | |
(STRING_CONTENT (@TSTRING_CONTENT "group" (52 8))))) | |
((ASSIGN (VAR_FIELD (@IDENT "method" (53 4))) | |
(STRING_LITERAL | |
(STRING_CONTENT (@TSTRING_CONTENT "audio.get" (53 14))))) | |
(ASSIGN | |
(AREF_FIELD (VAR_REF (@IDENT "params" (54 4))) | |
(ARGS_ADD_BLOCK | |
((STRING_LITERAL | |
(STRING_CONTENT (@TSTRING_CONTENT "gid" (54 12))))) | |
FALSE)) | |
(CALL (VAR_REF (@CONST "ARGV" (54 20))) :|.| | |
(@IDENT "shift" (54 25))))) | |
(WHEN | |
((STRING_LITERAL | |
(STRING_CONTENT (@TSTRING_CONTENT "add" (55 8))))) | |
((ASSIGN (VAR_FIELD (@IDENT "action_before" (56 4))) | |
(STRING_LITERAL (STRING_CONTENT))) | |
(ASSIGN (VAR_FIELD (@IDENT "action_after" (57 4))) | |
(STRING_LITERAL (STRING_CONTENT)))) | |
(WHEN | |
((STRING_LITERAL | |
(STRING_CONTENT (@TSTRING_CONTENT "-nf" (58 8)))) | |
(STRING_LITERAL | |
(STRING_CONTENT | |
(@TSTRING_CONTENT "--no-fix" (58 14)))) | |
(STRING_LITERAL | |
(STRING_CONTENT | |
(@TSTRING_CONTENT "--exact" (58 26))))) | |
((ASSIGN | |
(AREF_FIELD (VAR_REF (@IDENT "params" (59 4))) | |
(ARGS_ADD_BLOCK | |
((STRING_LITERAL | |
(STRING_CONTENT | |
(@TSTRING_CONTENT "auto_complete" (59 12))))) | |
FALSE)) | |
(STRING_LITERAL | |
(STRING_CONTENT (@TSTRING_CONTENT "0" (59 31)))))) | |
(WHEN | |
((STRING_LITERAL | |
(STRING_CONTENT | |
(@TSTRING_CONTENT "play" (60 8))))) | |
((VOID_STMT)) | |
(ELSE | |
((ASSIGN | |
(AREF_FIELD (VAR_REF (@IDENT "params" (63 4))) | |
(ARGS_ADD_BLOCK | |
((STRING_LITERAL | |
(STRING_CONTENT | |
(@TSTRING_CONTENT "q" (63 12))))) | |
FALSE)) | |
(METHOD_ADD_ARG | |
(CALL | |
(METHOD_ADD_ARG | |
(CALL (VAR_REF (@CONST "ARGV" (63 16))) :|.| | |
(@IDENT "unshift" (63 21))) | |
(ARG_PAREN | |
(ARGS_ADD_BLOCK | |
((VAR_REF (@IDENT "current" (63 29)))) | |
FALSE))) | |
:|.| (@IDENT "join" (63 38))) | |
(ARG_PAREN | |
(ARGS_ADD_BLOCK | |
((STRING_LITERAL | |
(STRING_CONTENT | |
(@TSTRING_CONTENT " " (63 44))))) | |
FALSE)))) | |
(CALL (VAR_REF (@CONST "ARGV" (64 4))) :|.| | |
(@IDENT "clear" (64 9)))))))))))))))))) | |
(DEF (@IDENT "run" (68 4)) | |
(PAREN (PARAMS NIL NIL (REST_PARAM (@IDENT "args" (68 9))) NIL NIL)) | |
(BODYSTMT | |
((IF (VAR_REF (@GVAR "$debug" (69 5))) | |
((METHOD_ADD_ARG (FCALL (@IDENT "puts" (70 4))) | |
(ARG_PAREN | |
(ARGS_ADD_BLOCK | |
(ARGS_ADD_STAR NIL (VAR_REF (@IDENT "args" (70 10)))) FALSE)))) | |
(ELSE | |
((METHOD_ADD_ARG (FCALL (@IDENT "system" (72 4))) | |
(ARG_PAREN | |
(ARGS_ADD_BLOCK | |
(ARGS_ADD_STAR NIL (VAR_REF (@IDENT "args" (72 12)))) | |
FALSE))))))) | |
NIL NIL NIL)) | |
(DEF (@IDENT "hash_to_params" (76 4)) | |
(PAREN (PARAMS ((@IDENT "hash" (76 19))) NIL NIL NIL NIL)) | |
(BODYSTMT | |
((METHOD_ADD_ARG | |
(CALL | |
(METHOD_ADD_BLOCK | |
(CALL (VAR_REF (@IDENT "hash" (77 2))) :|.| (@IDENT "map" (77 7))) | |
(BRACE_BLOCK | |
(BLOCK_VAR | |
(PARAMS ((@IDENT "k" (77 12)) (@IDENT "v" (77 14))) NIL NIL NIL NIL) | |
NIL) | |
((STRING_LITERAL | |
(STRING_CONTENT (STRING_EMBEXPR ((VAR_REF (@IDENT "k" (77 20))))) | |
(@TSTRING_CONTENT "=" (77 22)) | |
(STRING_EMBEXPR | |
((METHOD_ADD_ARG | |
(CALL (VAR_REF (@CONST "CGI" (77 25))) :|.| | |
(@IDENT "escape" (77 29))) | |
(ARG_PAREN | |
(ARGS_ADD_BLOCK | |
((CALL (VAR_REF (@IDENT "v" (77 36))) :|.| | |
(@IDENT "to_s" (77 38)))) | |
FALSE)))))))))) | |
:|.| (@IDENT "join" (77 47))) | |
(ARG_PAREN | |
(ARGS_ADD_BLOCK | |
((STRING_LITERAL (STRING_CONTENT (@TSTRING_CONTENT "&" (77 53))))) | |
FALSE)))) | |
NIL NIL NIL)) | |
(ASSIGN | |
(AREF_FIELD (VAR_REF (@IDENT "params" (80 0))) | |
(ARGS_ADD_BLOCK | |
((STRING_LITERAL | |
(STRING_CONTENT (@TSTRING_CONTENT "access_token" (80 8))))) | |
FALSE)) | |
(AREF (VCALL (@IDENT "config" (80 23))) | |
(ARGS_ADD_BLOCK | |
((STRING_LITERAL | |
(STRING_CONTENT (@TSTRING_CONTENT "access_token" (80 31))))) | |
FALSE))) | |
(ASSIGN (VAR_FIELD (@IDENT "connection" (82 0))) | |
(METHOD_ADD_ARG | |
(CALL | |
(CONST_PATH_REF (VAR_REF (@CONST "Net" (82 11))) (@CONST "HTTP" (82 16))) | |
:|.| (@IDENT "new" (82 21))) | |
(ARG_PAREN | |
(ARGS_ADD_BLOCK | |
((STRING_LITERAL | |
(STRING_CONTENT (@TSTRING_CONTENT "api.vk.com" (82 26)))) | |
(@INT "443" (82 38))) | |
FALSE)))) | |
(ASSIGN | |
(FIELD (VAR_REF (@IDENT "connection" (83 0))) :|.| | |
(@IDENT "use_ssl" (83 11))) | |
(VAR_REF (@KW "true" (83 19)))) | |
(ASSIGN (VAR_FIELD (@IDENT "data" (84 0))) | |
(CALL | |
(METHOD_ADD_ARG | |
(CALL (VAR_REF (@IDENT "connection" (84 5))) :|.| (@IDENT "get" (84 16))) | |
(ARG_PAREN | |
(ARGS_ADD_BLOCK | |
((STRING_LITERAL | |
(STRING_CONTENT (@TSTRING_CONTENT "/method/" (84 21)) | |
(STRING_EMBEXPR ((VAR_REF (@IDENT "method" (84 31))))) | |
(@TSTRING_CONTENT "?" (84 38)) | |
(STRING_EMBEXPR | |
((METHOD_ADD_ARG (FCALL (@IDENT "hash_to_params" (84 41))) | |
(ARG_PAREN | |
(ARGS_ADD_BLOCK ((VAR_REF (@IDENT "params" (84 56)))) | |
FALSE)))))))) | |
FALSE))) | |
:|.| (@IDENT "body" (84 67)))) | |
(ASSIGN (VAR_FIELD (@IDENT "response" (85 0))) | |
(AREF | |
(METHOD_ADD_ARG | |
(CALL (VAR_REF (@CONST "JSON" (85 11))) :|.| (@IDENT "parse" (85 16))) | |
(ARG_PAREN (ARGS_ADD_BLOCK ((VAR_REF (@IDENT "data" (85 22)))) FALSE))) | |
(ARGS_ADD_BLOCK | |
((STRING_LITERAL (STRING_CONTENT (@TSTRING_CONTENT "response" (85 29))))) | |
FALSE))) | |
(IF (COMMAND_CALL (VAR_REF (@IDENT "method" (86 3))) :|.| | |
(@IDENT "match" (86 10)) | |
(ARGS_ADD_BLOCK | |
((REGEXP_LITERAL ((@TSTRING_CONTENT "search" (86 17))) | |
(@REGEXP_END "/" (86 23)))) | |
FALSE)) | |
((CALL (VAR_REF (@IDENT "response" (87 2))) :|.| | |
(@IDENT "shift" (87 11)))) | |
NIL) | |
(COMMAND (@IDENT "run" (89 0)) | |
(ARGS_ADD_BLOCK ((VAR_REF (@IDENT "action_before" (89 4)))) FALSE)) | |
(METHOD_ADD_BLOCK | |
(CALL (VAR_REF (@IDENT "response" (90 0))) :|.| (@IDENT "each" (90 9))) | |
(DO_BLOCK (BLOCK_VAR (PARAMS ((@IDENT "song" (90 18))) NIL NIL NIL NIL) NIL) | |
((COMMAND (@IDENT "run" (91 2)) | |
(ARGS_ADD_BLOCK | |
((STRING_LITERAL | |
(STRING_CONTENT (@TSTRING_CONTENT "mpc add " (91 7)) | |
(STRING_EMBEXPR | |
((AREF (VAR_REF (@IDENT "song" (91 17))) | |
(ARGS_ADD_BLOCK | |
((STRING_LITERAL | |
(STRING_CONTENT (@TSTRING_CONTENT "url" (91 23))))) | |
FALSE))))))) | |
FALSE))))) | |
(COMMAND (@IDENT "run" (93 0)) | |
(ARGS_ADD_BLOCK ((VAR_REF (@IDENT "action_after" (93 4)))) FALSE)))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
It's abit unfair as I use ruby1.9's ripper to get ruby code as s-expression and just do some minor adjustments.