From d3f3c0345c3d56fe605f6ef140c33bb52231cc12 Mon Sep 17 00:00:00 2001 From: Josh Cheek Date: Fri, 23 Sep 2016 15:29:02 -0700 Subject: [PATCH] Add a sample showing the Julia interpreter is correctly analyzed --- samples/Julia/julia | 60 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 samples/Julia/julia diff --git a/samples/Julia/julia b/samples/Julia/julia new file mode 100644 index 00000000..c8fbb1f3 --- /dev/null +++ b/samples/Julia/julia @@ -0,0 +1,60 @@ +#!/usr/bin/env julia + +# From https://github.com/JoshCheek/language-sampler-for-fullpath/blob/b766dcdbd249ec63516f491390a75315e78cba95/julia/fullpath +help_screen = """ +usage: fullpath *[relative-paths] [-c] + + Prints the fullpath of the paths + If no paths are given as args, it will read them from stdin + + If there is only one path, the trailing newline is omitted + + The -c flag will copy the results into your pasteboard +""" + +help = false +copy = false +dir = pwd() +paths = [] + +for arg = ARGS + if arg == "-h" || arg == "--help" + help = true + elseif arg == "-c" || arg == "--copy" + copy = true + elseif arg != "" + push!(paths, arg) + end +end + +if help + print(help_screen) + exit() +end + +function notempty(string) + return !isempty(string) +end + +if length(paths) == 0 + paths = filter(notempty, map(chomp, readlines())) +end + +function print_paths(stream, paths) + if length(paths) == 1 + path = paths[1] + print(stream, "$dir/$path") + else + for path = paths + println(stream, "$dir/$path") + end + end +end + +if copy + read, write, process = readandwrite(`pbcopy`) + print_paths(write, paths) + close(write) +end + +print_paths(STDOUT, paths)