conlang-heonian/remove_word.lua
2022-03-24 21:47:24 +01:00

77 lines
1.5 KiB
Lua

function removeWord(number)
number = tonumber(number)
local file = io.open(data_get, "r")
local text = file:read("*all")
local pos = 0
-- move to line
for i=1, number do
local npos = string.find(text,"\n",pos+1)
if npos == nil then
print("last line")
break
end
pos = npos
end
-- get before
file:seek("set",0)
local before = file:read(pos-1)
file:seek("set",pos)
-- move to things to modify
pos = string.find(text,"\n",pos+1)
file:seek("set",pos)
-- find next section
local next_section = string.find(text,"\"",pos+1) or file:seek("end")
file:seek("set",pos)
local length = next_section-pos
-- get after
file:seek("set",pos)
local after = file:read("*all") or ""
-- done w file
file:close()
-- get word going to be removed
local results_table = {}
if words[number] then
table.insert(results_table,{number,words[number]})
end
results_table = adjustTableSizes(results_table)
print("\nare you sure you want to remove the following entry? (y/N)")
printOutputTable(results_table,true)
print("")
local delete = string.lower(io.read())
if delete == "y"
or delete == "ye"
or delete == "yes"
then
delete = true
else
delete = false
end
--[[
print("Before")
print(text)
print("After:")
print(before)
print(after)
]]
if delete then
--rewrite with new info
local file = io.open(data_output, "w+")
file:write(before)
file:write("\n")
file:write(after)
file:close()
print("\nentry was deleted.\n")
else
print("\nentry was not deleted.\n")
end
end