diff --git a/README.md b/README.md index b0c0a8efeed..e82093cb601 100644 --- a/README.md +++ b/README.md @@ -191,6 +191,7 @@ require'nvim-tree'.setup { }, log = { enable = false, + truncate = false, types = { all = false, config = false, diff --git a/doc/nvim-tree-lua.txt b/doc/nvim-tree-lua.txt index 9c452729e98..76d46d04026 100644 --- a/doc/nvim-tree-lua.txt +++ b/doc/nvim-tree-lua.txt @@ -164,6 +164,7 @@ function. }, log = { enable = false, + truncate = false, types = { all = false, config = false, @@ -476,6 +477,10 @@ Here is a list of the options available in the setup call: type: `boolean` default: `false` + - |log.truncate|: remove existing log file at startup + type: `boolean` + default: `false` + - |log.types|: specify which information to log - |log.types.all|: everything diff --git a/lua/nvim-tree.lua b/lua/nvim-tree.lua index 0e34056144d..4800ab1af9d 100644 --- a/lua/nvim-tree.lua +++ b/lua/nvim-tree.lua @@ -395,6 +395,7 @@ local DEFAULT_OPTS = { }, log = { enable = false, + truncate = false, types = { all = false, config = false, diff --git a/lua/nvim-tree/log.lua b/lua/nvim-tree/log.lua index 3cd4d92adeb..f94eeb69a41 100644 --- a/lua/nvim-tree/log.lua +++ b/lua/nvim-tree/log.lua @@ -19,20 +19,23 @@ function M.raw(typ, fmt, ...) io.close(file) end --- Write to log file +-- Write to log file via M.raw -- time and typ are prefixed and a trailing newline is added function M.line(typ, fmt, ...) if not M.path or not M.config.types[typ] and not M.config.types.all then return end - M.raw(typ, string.format("[%s] [%s] %s\n", os.date "%H:%M:%S", typ, fmt), ...) + M.raw(typ, string.format("[%s] [%s] %s\n", os.date "%Y:%m:%d %H:%M:%S", typ, fmt), ...) end function M.setup(opts) M.config = opts.log if M.config and M.config.enable and M.config.types then - M.path = string.format("%s/nvim-tree-%s-%s.log", vim.fn.stdpath "cache", os.date "%H:%M:%S", vim.env.USER) + M.path = string.format("%s/nvim-tree.log", vim.fn.stdpath "cache", os.date "%H:%M:%S", vim.env.USER) + if M.config.truncate then + os.remove(M.path) + end print("nvim-tree.lua logging to " .. M.path) end end