diff --git a/utils.lua b/utils.lua new file mode 100644 index 0000000..98573fc --- /dev/null +++ b/utils.lua @@ -0,0 +1,40 @@ +local M = {} + +M.iter_table_dump = function ( arr ) + for k, v in pairs(arr) do + print("Table:", k, v) + end +end + +local escape_chars = function ( text ) + return string.gsub(text, "[%(|%)|\\|%[|%]|%-|%{%}|%?|%+|%*|%^|%$|%.]", { + ["\\"] = "\\\\", + ["-"] = "\\-", + ["("] = "\\(", + [")"] = "\\)", + ["["] = "\\[", + ["]"] = "\\]", + ["{"] = "\\{", + ["}"] = "\\}", + ["?"] = "\\?", + ["+"] = "\\+", + ["*"] = "\\*", + ["^"] = "\\^", + ["$"] = "\\$", + ["."] = "\\.", + }) +end + +-- :@dev: clean the text once it has been fetched from buffer +M.clean_buf = function ( text ) + if not type(text) == "string" or text == nil then + print("[DEBUG - clean_buf] Given input is not of type string.") + return + end + + return escape_chars( text ) + :match( "^%s*(.-)%s*$" ) +end + + +return M