./src/_compilation/lines in freespeech-1.0.82 vs ./src/_compilation/lines in freespeech-1.0.87
- old
+ new
@@ -1,14 +1,27 @@
#!/usr/bin/crystal
-def delete(arg)
- `find -name #{arg}`.each_line do |i|
- File.delete(i)
- end
+CORE_UTIL_STRING = "core_utils"
+
+def prepend_each(arg)
+ STDIN.each_line do |line|
+ puts arg + line
+ end
end
+def append_each(arg)
+ STDIN.each_line do |line|
+ puts line + arg
+ end
+end
+def delete(arg)
+ `find -name #{arg}`.each_line do |i|
+ File.delete(i)
+ end
+end
+
def nth_word(arg)
i = arg.to_u64 - 1
STDIN.each_line do |line|
puts line.split[i] rescue ""
end
@@ -18,15 +31,15 @@
STDIN.each_line do |line|
puts line.strip
end
end
-def lines()
+def lines(folder = ".")
if !STDIN.tty?
- puts STDIN.gets_to_end.count("\n")
+ puts STDIN.gets_to_end.count('\n')
else
- res = `find .`.count("\n") - 1
+ res = `find #{folder}`.count('\n') - 1
puts res
end
end
def args(arg1)
@@ -153,29 +166,29 @@
end
def gsubip(arg1, arg2, arg3)
regex = Regex.new(arg1)
text = File.read(arg3).gsub(/#{arg1}/m, arg2)
- File.open(t = File.tempname("coreutils", "_tmp"), "w", File.info(arg3).permissions) do |h|
+ File.open(t = File.tempname(CORE_UTIL_STRING, "_tmp"), "w", File.info(arg3).permissions) do |h|
h.print text
end
begin
File.rename t, arg3
rescue
- rm t
+ File.delete t
end
end
def rip(arg1, arg2, arg3)
text = File.read(arg3).gsub(arg1, arg2)
- File.open(t = File.tempname("coreutils", "_tmp"), "w", File.info(arg3).permissions) do |h|
+ File.open(t = File.tempname(CORE_UTIL_STRING, "_tmp"), "w", File.info(arg3).permissions) do |h|
h.print text
end
begin
File.rename t, arg3
rescue
- rm t
+ File.delete t
end
end
def gsub(arg1, arg2)
print STDIN.gets_to_end.gsub(/#{arg1}/m, arg2)
@@ -195,41 +208,41 @@
def swap(file1, file2)
[file1, file2].each do |f|
File.exists?(f) || abort("No file named #{f.dump}")
end
- t = File.tempname("coreutils", "_tmp")
+ t = File.tempname(CORE_UTIL_STRING, "_tmp")
File.rename file1, t
File.rename file2, file1
File.rename t, file2
end
def prepend(file)
file_data = File.read(file)
new_data = STDIN.gets_to_end
- File.open(t = File.tempname("coreutils", "_tmp"), "w", File.info(file).permissions) do |h|
+ File.open(t = File.tempname(CORE_UTIL_STRING, "_tmp"), "w", File.info(file).permissions) do |h|
h << new_data + file_data
end
begin
File.rename t, file
rescue
- rm t
+ File.delete t
end
end
def append(file)
file_data = File.read(file)
new_data = STDIN.gets_to_end
- File.open(t = File.tempname("coreutils", "_tmp"), "w", File.info(file).permissions) do |h|
+ File.open(t = File.tempname(CORE_UTIL_STRING, "_tmp"), "w", File.info(file).permissions) do |h|
h << file_data + new_data
end
begin
File.rename t, file
rescue
- rm t
+ File.delete t
end
end
class Funcs
def self.argument_data(program, usage, long_desc)
@@ -256,16 +269,22 @@
puts text
end
end
-def main()
- if ARGV.size != 0
+def main
+ size = ARGV.size
+
+ if size > 1
Funcs.argument_data("lines", "[lines] [arguments]", "Lines gets the number of files in the current folder that you are in.\n\nIt can also act like “wc -l” if you pipe data into it.")
exit 1
end
- lines
+ begin
+ lines(ARGV[0]?)
+ rescue e : Exception
+ puts e
+ end
end
main