refresh tree when changing fs

This commit is contained in:
kiyan42 2020-02-18 16:06:05 +01:00
parent b448b1a0fa
commit 0ed31e065e
4 changed files with 7 additions and 10 deletions

View File

@ -14,7 +14,7 @@
- [x] change directory base
- [x] add / rename / delete file in directory
- [ ] update tree when altering the FS
- [x] update tree when altering the FS
- [x] syntax highlighting ([exa](https://github.com/ogham/exa) like) and file icons with vim-devicons
- [ ] simple git integration (color of file changing when staged/changed)

View File

@ -1,8 +1,8 @@
local api = vim.api
local buf, win
local system = function(v) api.nvim_call_function('system', { v }) end
-- local update_tree_view = require ''
local update_tree_state = require 'lib/state'.update_tree
local update_tree_view = require 'lib/winutils'.update_view
local update_tree_state = require 'lib/state'.refresh_tree
local EDIT_FILE = nil

View File

@ -1,5 +1,6 @@
local api = vim.api
local function syslist(v) return api.nvim_call_function('systemlist', { v }) end
local get_root_path = require 'lib/conf'.get_root_path
local Tree = {}
@ -56,7 +57,8 @@ local function create_nodes(path, depth, dirs)
return sort_dirs(tree)
end
local function init_tree(ROOT_PATH)
local function init_tree()
local ROOT_PATH = get_root_path()
Tree = create_nodes(ROOT_PATH, 0, list_dirs())
if ROOT_PATH ~= '/' then
table.insert(Tree, 1, {
@ -90,10 +92,6 @@ local function refresh_tree()
for j, n in pairs(create_nodes(path, node.depth + 1, dirs)) do
table.insert(Tree, i + j, n)
end
-- TODO: maybe extract this function to make a recursive call to reexplore the list
-- when adding a new list of dirs to make sure we go to the bottom of the opened structure
-- otherwise it might close opened directories
-- im not sure how lua behaves in this matter
end
end
end

View File

@ -20,10 +20,9 @@ local set_mappings = winutils.set_mappings
local conf = require 'lib/conf'
local set_root_path = conf.set_root_path
local get_root_path = conf.get_root_path
local get_cwd = conf.get_cwd
init_tree(get_root_path())
init_tree()
local function toggle()
if is_win_open() == true then