* stylua -> EmmyLuaCodeStyle: config and doc * stylua -> EmmyLuaCodeStyle: CI * stylua -> EmmyLuaCodeStyle: CI * stylua -> EmmyLuaCodeStyle: CI * stylua -> EmmyLuaCodeStyle: CI * stylua -> EmmyLuaCodeStyle: CI * stylua -> EmmyLuaCodeStyle * stylua -> EmmyLuaCodeStyle: call_arg_parentheses = always * stylua -> EmmyLuaCodeStyle * stylua -> EmmyLuaCodeStyle
This commit is contained in:
parent
9650e735ba
commit
1ae1c33ce1
@ -4,9 +4,17 @@ root = true
|
|||||||
insert_final_newline = true
|
insert_final_newline = true
|
||||||
end_of_line = lf
|
end_of_line = lf
|
||||||
|
|
||||||
[*.lua]
|
|
||||||
indent_style = space
|
|
||||||
indent_size = 2
|
|
||||||
|
|
||||||
[nvim-tree-lua.txt]
|
[nvim-tree-lua.txt]
|
||||||
max_line_length = 78
|
max_line_length = 78
|
||||||
|
|
||||||
|
[*.lua]
|
||||||
|
indent_style = space
|
||||||
|
max_line_length = 140
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
# EmmyLuaCodeStyle specific, see
|
||||||
|
# https://github.com/CppCXY/EmmyLuaCodeStyle/blob/master/lua.template.editorconfig
|
||||||
|
continuation_indent = 2
|
||||||
|
quote_style = double
|
||||||
|
call_arg_parentheses = always
|
||||||
|
space_before_closure_open_parenthesis = false
|
||||||
|
|||||||
18
.github/workflows/ci.yml
vendored
18
.github/workflows/ci.yml
vendored
@ -38,22 +38,24 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ github.workflow }}-${{ matrix.stylua_version }}-${{ github.head_ref || github.ref_name }}
|
group: ${{ github.workflow }}-${{ matrix.emmy_lua_code_style_version }}-${{ github.head_ref || github.ref_name }}
|
||||||
cancel-in-progress: true
|
cancel-in-progress: true
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
stylua_version: [ 0.19.1 ]
|
emmy_lua_code_style_version: [ 1.5.6 ]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: stylua
|
- name: install emmy_lua_code_style
|
||||||
uses: JohnnyMorganz/stylua-action@v4
|
run: |
|
||||||
with:
|
mkdir -p CodeFormat
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
curl -L "https://github.com/CppCXY/EmmyLuaCodeStyle/releases/download/${{ matrix.emmy_lua_code_style_version }}/linux-x64.tar.gz" | tar zx --directory CodeFormat
|
||||||
version: ${{ matrix.stylua_version }}
|
|
||||||
args: --check lua
|
- run: echo "CodeFormat/linux-x64/bin" >> "$GITHUB_PATH"
|
||||||
|
|
||||||
|
- run: make style
|
||||||
|
|
||||||
- run: make style-doc
|
- run: make style-doc
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +0,0 @@
|
|||||||
column_width = 140
|
|
||||||
line_endings = "Unix"
|
|
||||||
indent_type = "Spaces"
|
|
||||||
indent_width = 2
|
|
||||||
quote_style = "AutoPreferDouble"
|
|
||||||
call_parentheses = "None"
|
|
||||||
@ -8,11 +8,13 @@ See [Development](https://github.com/nvim-tree/nvim-tree.lua/wiki/Development) f
|
|||||||
|
|
||||||
Following are used during CI and strongly recommended during local development.
|
Following are used during CI and strongly recommended during local development.
|
||||||
|
|
||||||
|
Language server: [luals](https://luals.github.io)
|
||||||
|
|
||||||
Lint: [luacheck](https://github.com/lunarmodules/luacheck/)
|
Lint: [luacheck](https://github.com/lunarmodules/luacheck/)
|
||||||
|
|
||||||
Style: [StyLua](https://github.com/JohnnyMorganz/StyLua)
|
Style: [EmmyLuaCodeStyle](https://github.com/CppCXY/EmmyLuaCodeStyle): `CodeCheck`
|
||||||
|
|
||||||
Language server: [luals](https://luals.github.io)
|
nvim-tree.lua migrated from stylua to EmmyLuaCodeStyle ~2024/10. `vim.lsp.buf.format()` may be used as it is the default formatter for luals
|
||||||
|
|
||||||
You can install them via you OS package manager e.g. `pacman`, `brew` or other via other package managers such as `cargo` or `luarocks`
|
You can install them via you OS package manager e.g. `pacman`, `brew` or other via other package managers such as `cargo` or `luarocks`
|
||||||
|
|
||||||
@ -34,14 +36,14 @@ make lint
|
|||||||
|
|
||||||
## style
|
## style
|
||||||
|
|
||||||
1. Runs stylua using `.stylua.toml` settings
|
1. Runs CodeCheck using `.editorconfig` settings
|
||||||
1. Runs `scripts/doc-comments.sh` to validate annotated documentation
|
1. Runs `scripts/doc-comments.sh` to validate annotated documentation
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
make style
|
make style
|
||||||
```
|
```
|
||||||
|
|
||||||
You can automatically fix stylua issues via:
|
You can automatically fix `CodeCheck` issues via:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
make style-fix
|
make style-fix
|
||||||
|
|||||||
11
Makefile
11
Makefile
@ -5,7 +5,7 @@ all: lint style check
|
|||||||
#
|
#
|
||||||
lint: luacheck
|
lint: luacheck
|
||||||
|
|
||||||
style: stylua style-doc
|
style: style-check style-doc
|
||||||
|
|
||||||
check: luals
|
check: luals
|
||||||
|
|
||||||
@ -15,8 +15,9 @@ check: luals
|
|||||||
luacheck:
|
luacheck:
|
||||||
luacheck -q lua
|
luacheck -q lua
|
||||||
|
|
||||||
stylua:
|
# --diagnosis-as-error does not function for workspace, hence we post-process the output
|
||||||
stylua lua --check
|
style-check:
|
||||||
|
CodeFormat check --config .editorconfig --diagnosis-as-error --workspace lua
|
||||||
|
|
||||||
style-doc:
|
style-doc:
|
||||||
scripts/doc-comments.sh
|
scripts/doc-comments.sh
|
||||||
@ -28,7 +29,7 @@ luals:
|
|||||||
# fixes
|
# fixes
|
||||||
#
|
#
|
||||||
style-fix:
|
style-fix:
|
||||||
stylua lua
|
CodeFormat format --config .editorconfig --workspace lua
|
||||||
|
|
||||||
#
|
#
|
||||||
# utility
|
# utility
|
||||||
@ -43,5 +44,5 @@ help-check: help-update
|
|||||||
git diff --exit-code doc/nvim-tree-lua.txt
|
git diff --exit-code doc/nvim-tree-lua.txt
|
||||||
|
|
||||||
|
|
||||||
.PHONY: all lint style check luacheck stylua style-doc luals style-fix help-update help-check
|
.PHONY: all lint style check luacheck style-check style-doc luals style-fix help-update help-check
|
||||||
|
|
||||||
|
|||||||
@ -1,11 +1,11 @@
|
|||||||
local lib = require "nvim-tree.lib"
|
local lib = require("nvim-tree.lib")
|
||||||
local log = require "nvim-tree.log"
|
local log = require("nvim-tree.log")
|
||||||
local appearance = require "nvim-tree.appearance"
|
local appearance = require("nvim-tree.appearance")
|
||||||
local view = require "nvim-tree.view"
|
local view = require("nvim-tree.view")
|
||||||
local utils = require "nvim-tree.utils"
|
local utils = require("nvim-tree.utils")
|
||||||
local actions = require "nvim-tree.actions"
|
local actions = require("nvim-tree.actions")
|
||||||
local core = require "nvim-tree.core"
|
local core = require("nvim-tree.core")
|
||||||
local notify = require "nvim-tree.notify"
|
local notify = require("nvim-tree.notify")
|
||||||
|
|
||||||
local _config = {}
|
local _config = {}
|
||||||
|
|
||||||
@ -21,7 +21,7 @@ function M.change_root(path, bufnr)
|
|||||||
if type(bufnr) == "number" then
|
if type(bufnr) == "number" then
|
||||||
local ft
|
local ft
|
||||||
|
|
||||||
if vim.fn.has "nvim-0.10" == 1 then
|
if vim.fn.has("nvim-0.10") == 1 then
|
||||||
ft = vim.api.nvim_get_option_value("filetype", { buf = bufnr }) or ""
|
ft = vim.api.nvim_get_option_value("filetype", { buf = bufnr }) or ""
|
||||||
else
|
else
|
||||||
ft = vim.api.nvim_buf_get_option(bufnr, "filetype") or "" ---@diagnostic disable-line: deprecated
|
ft = vim.api.nvim_buf_get_option(bufnr, "filetype") or "" ---@diagnostic disable-line: deprecated
|
||||||
@ -76,11 +76,11 @@ function M.change_root(path, bufnr)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function M.tab_enter()
|
function M.tab_enter()
|
||||||
if view.is_visible { any_tabpage = true } then
|
if view.is_visible({ any_tabpage = true }) then
|
||||||
local bufname = vim.api.nvim_buf_get_name(0)
|
local bufname = vim.api.nvim_buf_get_name(0)
|
||||||
|
|
||||||
local ft
|
local ft
|
||||||
if vim.fn.has "nvim-0.10" == 1 then
|
if vim.fn.has("nvim-0.10") == 1 then
|
||||||
ft = vim.api.nvim_get_option_value("filetype", { buf = 0 }) or ""
|
ft = vim.api.nvim_get_option_value("filetype", { buf = 0 }) or ""
|
||||||
else
|
else
|
||||||
ft = vim.api.nvim_buf_get_option(0, "ft") ---@diagnostic disable-line: deprecated
|
ft = vim.api.nvim_buf_get_option(0, "ft") ---@diagnostic disable-line: deprecated
|
||||||
@ -91,7 +91,7 @@ function M.tab_enter()
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
view.open { focus_tree = false }
|
view.open({ focus_tree = false })
|
||||||
|
|
||||||
local explorer = core.get_explorer()
|
local explorer = core.get_explorer()
|
||||||
if explorer then
|
if explorer then
|
||||||
@ -145,8 +145,8 @@ end
|
|||||||
---@param hijack_netrw boolean
|
---@param hijack_netrw boolean
|
||||||
local function manage_netrw(disable_netrw, hijack_netrw)
|
local function manage_netrw(disable_netrw, hijack_netrw)
|
||||||
if hijack_netrw then
|
if hijack_netrw then
|
||||||
vim.cmd "silent! autocmd! FileExplorer *"
|
vim.cmd("silent! autocmd! FileExplorer *")
|
||||||
vim.cmd "autocmd VimEnter * ++once silent! autocmd! FileExplorer *"
|
vim.cmd("autocmd VimEnter * ++once silent! autocmd! FileExplorer *")
|
||||||
end
|
end
|
||||||
if disable_netrw then
|
if disable_netrw then
|
||||||
vim.g.loaded_netrw = 1
|
vim.g.loaded_netrw = 1
|
||||||
@ -316,7 +316,7 @@ local function setup_autocommands(opts)
|
|||||||
callback = function()
|
callback = function()
|
||||||
vim.schedule(function()
|
vim.schedule(function()
|
||||||
vim.api.nvim_buf_call(0, function()
|
vim.api.nvim_buf_call(0, function()
|
||||||
vim.cmd [[norm! zz]]
|
vim.cmd([[norm! zz]])
|
||||||
end)
|
end)
|
||||||
end)
|
end)
|
||||||
end,
|
end,
|
||||||
@ -811,8 +811,8 @@ end
|
|||||||
|
|
||||||
---@param conf table|nil
|
---@param conf table|nil
|
||||||
function M.setup(conf)
|
function M.setup(conf)
|
||||||
if vim.fn.has "nvim-0.9" == 0 then
|
if vim.fn.has("nvim-0.9") == 0 then
|
||||||
notify.warn "nvim-tree.lua requires Neovim 0.9 or higher"
|
notify.warn("nvim-tree.lua requires Neovim 0.9 or higher")
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -840,7 +840,7 @@ function M.setup(conf)
|
|||||||
require("nvim-tree.notify").setup(opts)
|
require("nvim-tree.notify").setup(opts)
|
||||||
require("nvim-tree.log").setup(opts)
|
require("nvim-tree.log").setup(opts)
|
||||||
|
|
||||||
if log.enabled "config" then
|
if log.enabled("config") then
|
||||||
log.line("config", "default config + user")
|
log.line("config", "default config + user")
|
||||||
log.raw("config", "%s\n", vim.inspect(opts))
|
log.raw("config", "%s\n", vim.inspect(opts))
|
||||||
end
|
end
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
local log = require "nvim-tree.log"
|
local log = require("nvim-tree.log")
|
||||||
local view = require "nvim-tree.view"
|
local view = require("nvim-tree.view")
|
||||||
local utils = require "nvim-tree.utils"
|
local utils = require("nvim-tree.utils")
|
||||||
local core = require "nvim-tree.core"
|
local core = require("nvim-tree.core")
|
||||||
local Iterator = require "nvim-tree.iterators.node-iterator"
|
local Iterator = require("nvim-tree.iterators.node-iterator")
|
||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
@ -76,7 +76,7 @@ function M.fn(path)
|
|||||||
|
|
||||||
if found and view.is_visible() then
|
if found and view.is_visible() then
|
||||||
explorer.renderer:draw()
|
explorer.renderer:draw()
|
||||||
view.set_cursor { line, 0 }
|
view.set_cursor({ line, 0 })
|
||||||
end
|
end
|
||||||
|
|
||||||
running[path_real] = false
|
running[path_real] = false
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
M.find_file = require "nvim-tree.actions.finders.find-file"
|
M.find_file = require("nvim-tree.actions.finders.find-file")
|
||||||
M.search_node = require "nvim-tree.actions.finders.search-node"
|
M.search_node = require("nvim-tree.actions.finders.search-node")
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
local core = require "nvim-tree.core"
|
local core = require("nvim-tree.core")
|
||||||
local find_file = require("nvim-tree.actions.finders.find-file").fn
|
local find_file = require("nvim-tree.actions.finders.find-file").fn
|
||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
@ -75,7 +75,7 @@ function M.fn()
|
|||||||
local bufnr = vim.api.nvim_get_current_buf()
|
local bufnr = vim.api.nvim_get_current_buf()
|
||||||
|
|
||||||
local path_existed, path_opt
|
local path_existed, path_opt
|
||||||
if vim.fn.has "nvim-0.10" == 1 then
|
if vim.fn.has("nvim-0.10") == 1 then
|
||||||
path_existed, path_opt = pcall(vim.api.nvim_get_option_value, "path", { buf = bufnr })
|
path_existed, path_opt = pcall(vim.api.nvim_get_option_value, "path", { buf = bufnr })
|
||||||
vim.api.nvim_set_option_value("path", core.get_cwd() .. "/**", { buf = bufnr })
|
vim.api.nvim_set_option_value("path", core.get_cwd() .. "/**", { buf = bufnr })
|
||||||
else
|
else
|
||||||
@ -89,13 +89,13 @@ function M.fn()
|
|||||||
end
|
end
|
||||||
-- reset &path
|
-- reset &path
|
||||||
if path_existed then
|
if path_existed then
|
||||||
if vim.fn.has "nvim-0.10" == 1 then
|
if vim.fn.has("nvim-0.10") == 1 then
|
||||||
vim.api.nvim_set_option_value("path", path_opt, { buf = bufnr })
|
vim.api.nvim_set_option_value("path", path_opt, { buf = bufnr })
|
||||||
else
|
else
|
||||||
vim.api.nvim_buf_set_option(bufnr, "path", path_opt) ---@diagnostic disable-line: deprecated
|
vim.api.nvim_buf_set_option(bufnr, "path", path_opt) ---@diagnostic disable-line: deprecated
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if vim.fn.has "nvim-0.10" == 1 then
|
if vim.fn.has("nvim-0.10") == 1 then
|
||||||
vim.api.nvim_set_option_value("path", nil, { buf = bufnr })
|
vim.api.nvim_set_option_value("path", nil, { buf = bufnr })
|
||||||
else
|
else
|
||||||
vim.api.nvim_buf_set_option(bufnr, "path", nil) ---@diagnostic disable-line: deprecated
|
vim.api.nvim_buf_set_option(bufnr, "path", nil) ---@diagnostic disable-line: deprecated
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
local lib = require "nvim-tree.lib"
|
local lib = require("nvim-tree.lib")
|
||||||
local log = require "nvim-tree.log"
|
local log = require("nvim-tree.log")
|
||||||
local utils = require "nvim-tree.utils"
|
local utils = require("nvim-tree.utils")
|
||||||
local core = require "nvim-tree.core"
|
local core = require("nvim-tree.core")
|
||||||
local events = require "nvim-tree.events"
|
local events = require("nvim-tree.events")
|
||||||
local notify = require "nvim-tree.notify"
|
local notify = require("nvim-tree.notify")
|
||||||
|
|
||||||
local find_file = require("nvim-tree.actions.finders.find-file").fn
|
local find_file = require("nvim-tree.actions.finders.find-file").fn
|
||||||
|
|
||||||
@ -89,8 +89,8 @@ local function do_copy(source, destination)
|
|||||||
break
|
break
|
||||||
end
|
end
|
||||||
|
|
||||||
local new_name = utils.path_join { source, name }
|
local new_name = utils.path_join({ source, name })
|
||||||
local new_destination = utils.path_join { destination, name }
|
local new_destination = utils.path_join({ destination, name })
|
||||||
success, errmsg = do_copy(new_name, new_destination)
|
success, errmsg = do_copy(new_name, new_destination)
|
||||||
if not success then
|
if not success then
|
||||||
return false, errmsg
|
return false, errmsg
|
||||||
@ -191,7 +191,7 @@ end
|
|||||||
function Clipboard:clear_clipboard()
|
function Clipboard:clear_clipboard()
|
||||||
self.data[ACTION.copy] = {}
|
self.data[ACTION.copy] = {}
|
||||||
self.data[ACTION.cut] = {}
|
self.data[ACTION.cut] = {}
|
||||||
notify.info "Clipboard has been emptied."
|
notify.info("Clipboard has been emptied.")
|
||||||
self.explorer.renderer:draw()
|
self.explorer.renderer:draw()
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -240,7 +240,7 @@ function Clipboard:do_paste(node, action, action_fn)
|
|||||||
end
|
end
|
||||||
|
|
||||||
for _, _node in ipairs(clip) do
|
for _, _node in ipairs(clip) do
|
||||||
local dest = utils.path_join { destination, _node.name }
|
local dest = utils.path_join({ destination, _node.name })
|
||||||
do_single_paste(_node.absolute_path, dest, action, action_fn)
|
do_single_paste(_node.absolute_path, dest, action, action_fn)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -361,7 +361,7 @@ function Clipboard:copy_path(node)
|
|||||||
|
|
||||||
if node.name == ".." then
|
if node.name == ".." then
|
||||||
-- root
|
-- root
|
||||||
content = utils.path_add_trailing ""
|
content = utils.path_add_trailing("")
|
||||||
else
|
else
|
||||||
-- node
|
-- node
|
||||||
local absolute_path = node.absolute_path
|
local absolute_path = node.absolute_path
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
local utils = require "nvim-tree.utils"
|
local utils = require("nvim-tree.utils")
|
||||||
local events = require "nvim-tree.events"
|
local events = require("nvim-tree.events")
|
||||||
local lib = require "nvim-tree.lib"
|
local lib = require("nvim-tree.lib")
|
||||||
local core = require "nvim-tree.core"
|
local core = require("nvim-tree.core")
|
||||||
local notify = require "nvim-tree.notify"
|
local notify = require("nvim-tree.notify")
|
||||||
|
|
||||||
local find_file = require("nvim-tree.actions.finders.find-file").fn
|
local find_file = require("nvim-tree.actions.finders.find-file").fn
|
||||||
|
|
||||||
@ -72,7 +72,7 @@ function M.fn(node)
|
|||||||
end
|
end
|
||||||
|
|
||||||
if utils.file_exists(new_file_path) then
|
if utils.file_exists(new_file_path) then
|
||||||
notify.warn "Cannot create: file already exists"
|
notify.warn("Cannot create: file already exists")
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -87,10 +87,10 @@ function M.fn(node)
|
|||||||
for path in utils.path_split(new_file_path) do
|
for path in utils.path_split(new_file_path) do
|
||||||
idx = idx + 1
|
idx = idx + 1
|
||||||
local p = utils.path_remove_trailing(path)
|
local p = utils.path_remove_trailing(path)
|
||||||
if #path_to_create == 0 and vim.fn.has "win32" == 1 then
|
if #path_to_create == 0 and vim.fn.has("win32") == 1 then
|
||||||
path_to_create = utils.path_join { p, path_to_create }
|
path_to_create = utils.path_join({ p, path_to_create })
|
||||||
else
|
else
|
||||||
path_to_create = utils.path_join { path_to_create, p }
|
path_to_create = utils.path_join({ path_to_create, p })
|
||||||
end
|
end
|
||||||
if is_last_path_file and idx == num_nodes then
|
if is_last_path_file and idx == num_nodes then
|
||||||
create_and_notify(path_to_create)
|
create_and_notify(path_to_create)
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
M.create_file = require "nvim-tree.actions.fs.create-file"
|
M.create_file = require("nvim-tree.actions.fs.create-file")
|
||||||
M.remove_file = require "nvim-tree.actions.fs.remove-file"
|
M.remove_file = require("nvim-tree.actions.fs.remove-file")
|
||||||
M.rename_file = require "nvim-tree.actions.fs.rename-file"
|
M.rename_file = require("nvim-tree.actions.fs.rename-file")
|
||||||
M.trash = require "nvim-tree.actions.fs.trash"
|
M.trash = require("nvim-tree.actions.fs.trash")
|
||||||
|
|
||||||
function M.setup(opts)
|
function M.setup(opts)
|
||||||
M.remove_file.setup(opts)
|
M.remove_file.setup(opts)
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
local core = require "nvim-tree.core"
|
local core = require("nvim-tree.core")
|
||||||
local utils = require "nvim-tree.utils"
|
local utils = require("nvim-tree.utils")
|
||||||
local events = require "nvim-tree.events"
|
local events = require("nvim-tree.events")
|
||||||
local view = require "nvim-tree.view"
|
local view = require("nvim-tree.view")
|
||||||
local lib = require "nvim-tree.lib"
|
local lib = require("nvim-tree.lib")
|
||||||
local notify = require "nvim-tree.notify"
|
local notify = require("nvim-tree.notify")
|
||||||
|
|
||||||
local M = {
|
local M = {
|
||||||
config = {},
|
config = {},
|
||||||
@ -27,13 +27,13 @@ end
|
|||||||
|
|
||||||
---@param absolute_path string
|
---@param absolute_path string
|
||||||
local function clear_buffer(absolute_path)
|
local function clear_buffer(absolute_path)
|
||||||
local bufs = vim.fn.getbufinfo { bufloaded = 1, buflisted = 1 }
|
local bufs = vim.fn.getbufinfo({ bufloaded = 1, buflisted = 1 })
|
||||||
for _, buf in pairs(bufs) do
|
for _, buf in pairs(bufs) do
|
||||||
if buf.name == absolute_path then
|
if buf.name == absolute_path then
|
||||||
local tree_winnr = vim.api.nvim_get_current_win()
|
local tree_winnr = vim.api.nvim_get_current_win()
|
||||||
if buf.hidden == 0 and (#bufs > 1 or view.View.float.enable) then
|
if buf.hidden == 0 and (#bufs > 1 or view.View.float.enable) then
|
||||||
vim.api.nvim_set_current_win(buf.windows[1])
|
vim.api.nvim_set_current_win(buf.windows[1])
|
||||||
vim.cmd ":bn"
|
vim.cmd(":bn")
|
||||||
end
|
end
|
||||||
vim.api.nvim_buf_delete(buf.bufnr, { force = true })
|
vim.api.nvim_buf_delete(buf.bufnr, { force = true })
|
||||||
if not view.View.float.quit_on_focus_loss then
|
if not view.View.float.quit_on_focus_loss then
|
||||||
@ -62,7 +62,7 @@ local function remove_dir(cwd)
|
|||||||
break
|
break
|
||||||
end
|
end
|
||||||
|
|
||||||
local new_cwd = utils.path_join { cwd, name }
|
local new_cwd = utils.path_join({ cwd, name })
|
||||||
|
|
||||||
-- Type must come from fs_stat and not fs_scandir_next to maintain sshfs compatibility
|
-- Type must come from fs_stat and not fs_scandir_next to maintain sshfs compatibility
|
||||||
local stat = vim.loop.fs_stat(new_cwd)
|
local stat = vim.loop.fs_stat(new_cwd)
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
local core = require "nvim-tree.core"
|
local core = require("nvim-tree.core")
|
||||||
local lib = require "nvim-tree.lib"
|
local lib = require("nvim-tree.lib")
|
||||||
local utils = require "nvim-tree.utils"
|
local utils = require("nvim-tree.utils")
|
||||||
local events = require "nvim-tree.events"
|
local events = require("nvim-tree.events")
|
||||||
local notify = require "nvim-tree.notify"
|
local notify = require("nvim-tree.notify")
|
||||||
|
|
||||||
local find_file = require("nvim-tree.actions.finders.find-file").fn
|
local find_file = require("nvim-tree.actions.finders.find-file").fn
|
||||||
|
|
||||||
@ -64,10 +64,10 @@ function M.rename(node, to)
|
|||||||
idx = idx + 1
|
idx = idx + 1
|
||||||
|
|
||||||
local p = utils.path_remove_trailing(path)
|
local p = utils.path_remove_trailing(path)
|
||||||
if #path_to_create == 0 and vim.fn.has "win32" == 1 then
|
if #path_to_create == 0 and vim.fn.has("win32") == 1 then
|
||||||
path_to_create = utils.path_join { p, path_to_create }
|
path_to_create = utils.path_join({ p, path_to_create })
|
||||||
else
|
else
|
||||||
path_to_create = utils.path_join { path_to_create, p }
|
path_to_create = utils.path_join({ path_to_create, p })
|
||||||
end
|
end
|
||||||
|
|
||||||
if idx == num_nodes then
|
if idx == num_nodes then
|
||||||
|
|||||||
@ -1,23 +1,23 @@
|
|||||||
local core = require "nvim-tree.core"
|
local core = require("nvim-tree.core")
|
||||||
local lib = require "nvim-tree.lib"
|
local lib = require("nvim-tree.lib")
|
||||||
local notify = require "nvim-tree.notify"
|
local notify = require("nvim-tree.notify")
|
||||||
|
|
||||||
local M = {
|
local M = {
|
||||||
config = {},
|
config = {},
|
||||||
}
|
}
|
||||||
|
|
||||||
local utils = require "nvim-tree.utils"
|
local utils = require("nvim-tree.utils")
|
||||||
local events = require "nvim-tree.events"
|
local events = require("nvim-tree.events")
|
||||||
|
|
||||||
---@param absolute_path string
|
---@param absolute_path string
|
||||||
local function clear_buffer(absolute_path)
|
local function clear_buffer(absolute_path)
|
||||||
local bufs = vim.fn.getbufinfo { bufloaded = 1, buflisted = 1 }
|
local bufs = vim.fn.getbufinfo({ bufloaded = 1, buflisted = 1 })
|
||||||
for _, buf in pairs(bufs) do
|
for _, buf in pairs(bufs) do
|
||||||
if buf.name == absolute_path then
|
if buf.name == absolute_path then
|
||||||
if buf.hidden == 0 and #bufs > 1 then
|
if buf.hidden == 0 and #bufs > 1 then
|
||||||
local winnr = vim.api.nvim_get_current_win()
|
local winnr = vim.api.nvim_get_current_win()
|
||||||
vim.api.nvim_set_current_win(buf.windows[1])
|
vim.api.nvim_set_current_win(buf.windows[1])
|
||||||
vim.cmd ":bn"
|
vim.cmd(":bn")
|
||||||
vim.api.nvim_set_current_win(winnr)
|
vim.api.nvim_set_current_win(winnr)
|
||||||
end
|
end
|
||||||
vim.api.nvim_buf_delete(buf.bufnr, {})
|
vim.api.nvim_buf_delete(buf.bufnr, {})
|
||||||
@ -48,7 +48,7 @@ function M.remove(node)
|
|||||||
on_stderr = on_stderr,
|
on_stderr = on_stderr,
|
||||||
})
|
})
|
||||||
if need_sync_wait then
|
if need_sync_wait then
|
||||||
vim.fn.jobwait { job }
|
vim.fn.jobwait({ job })
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -1,11 +1,11 @@
|
|||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
M.finders = require "nvim-tree.actions.finders"
|
M.finders = require("nvim-tree.actions.finders")
|
||||||
M.fs = require "nvim-tree.actions.fs"
|
M.fs = require("nvim-tree.actions.fs")
|
||||||
M.moves = require "nvim-tree.actions.moves"
|
M.moves = require("nvim-tree.actions.moves")
|
||||||
M.node = require "nvim-tree.actions.node"
|
M.node = require("nvim-tree.actions.node")
|
||||||
M.root = require "nvim-tree.actions.root"
|
M.root = require("nvim-tree.actions.root")
|
||||||
M.tree = require "nvim-tree.actions.tree"
|
M.tree = require("nvim-tree.actions.tree")
|
||||||
|
|
||||||
function M.setup(opts)
|
function M.setup(opts)
|
||||||
M.fs.setup(opts)
|
M.fs.setup(opts)
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
M.item = require "nvim-tree.actions.moves.item"
|
M.item = require("nvim-tree.actions.moves.item")
|
||||||
M.parent = require "nvim-tree.actions.moves.parent"
|
M.parent = require("nvim-tree.actions.moves.parent")
|
||||||
M.sibling = require "nvim-tree.actions.moves.sibling"
|
M.sibling = require("nvim-tree.actions.moves.sibling")
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
local utils = require "nvim-tree.utils"
|
local utils = require("nvim-tree.utils")
|
||||||
local view = require "nvim-tree.view"
|
local view = require("nvim-tree.view")
|
||||||
local core = require "nvim-tree.core"
|
local core = require("nvim-tree.core")
|
||||||
local lib = require "nvim-tree.lib"
|
local lib = require("nvim-tree.lib")
|
||||||
local explorer_node = require "nvim-tree.explorer.node"
|
local explorer_node = require("nvim-tree.explorer.node")
|
||||||
local diagnostics = require "nvim-tree.diagnostics"
|
local diagnostics = require("nvim-tree.diagnostics")
|
||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
local MAX_DEPTH = 100
|
local MAX_DEPTH = 100
|
||||||
@ -65,9 +65,9 @@ local function move(where, what, skip_gitignored)
|
|||||||
end
|
end
|
||||||
|
|
||||||
if nex then
|
if nex then
|
||||||
view.set_cursor { nex, 0 }
|
view.set_cursor({ nex, 0 })
|
||||||
elseif vim.o.wrapscan and first then
|
elseif vim.o.wrapscan and first then
|
||||||
view.set_cursor { first, 0 }
|
view.set_cursor({ first, 0 })
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -175,7 +175,7 @@ local function move_prev_recursive(what, skip_gitignored)
|
|||||||
if
|
if
|
||||||
node_cur == nil
|
node_cur == nil
|
||||||
or node_cur == node_init -- we didn't move
|
or node_cur == node_init -- we didn't move
|
||||||
or not node_cur.nodes -- node is a file
|
or not node_cur.nodes -- node is a file
|
||||||
then
|
then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
@ -186,13 +186,13 @@ local function move_prev_recursive(what, skip_gitignored)
|
|||||||
|
|
||||||
-- 4.3)
|
-- 4.3)
|
||||||
if node_init.name == ".." then -- root node
|
if node_init.name == ".." then -- root node
|
||||||
view.set_cursor { 1, 0 } -- move to root node (position 1)
|
view.set_cursor({ 1, 0 }) -- move to root node (position 1)
|
||||||
else
|
else
|
||||||
local node_init_line = utils.find_node_line(node_init)
|
local node_init_line = utils.find_node_line(node_init)
|
||||||
if node_init_line < 0 then
|
if node_init_line < 0 then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
view.set_cursor { node_init_line, 0 }
|
view.set_cursor({ node_init_line, 0 })
|
||||||
end
|
end
|
||||||
|
|
||||||
-- 4.4)
|
-- 4.4)
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
local view = require "nvim-tree.view"
|
local view = require("nvim-tree.view")
|
||||||
local utils = require "nvim-tree.utils"
|
local utils = require("nvim-tree.utils")
|
||||||
local core = require "nvim-tree.core"
|
local core = require("nvim-tree.core")
|
||||||
local lib = require "nvim-tree.lib"
|
local lib = require("nvim-tree.lib")
|
||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
@ -24,14 +24,14 @@ function M.fn(should_close)
|
|||||||
local parent = utils.get_parent_of_group(node).parent
|
local parent = utils.get_parent_of_group(node).parent
|
||||||
|
|
||||||
if not parent or not parent.parent then
|
if not parent or not parent.parent then
|
||||||
return view.set_cursor { 1, 0 }
|
return view.set_cursor({ 1, 0 })
|
||||||
end
|
end
|
||||||
|
|
||||||
local _, line = utils.find_node(core.get_explorer().nodes, function(n)
|
local _, line = utils.find_node(core.get_explorer().nodes, function(n)
|
||||||
return n.absolute_path == parent.absolute_path
|
return n.absolute_path == parent.absolute_path
|
||||||
end)
|
end)
|
||||||
|
|
||||||
view.set_cursor { line + 1, 0 }
|
view.set_cursor({ line + 1, 0 })
|
||||||
if should_close then
|
if should_close then
|
||||||
parent.open = false
|
parent.open = false
|
||||||
if explorer then
|
if explorer then
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
local utils = require "nvim-tree.utils"
|
local utils = require("nvim-tree.utils")
|
||||||
local core = require "nvim-tree.core"
|
local core = require("nvim-tree.core")
|
||||||
local Iterator = require "nvim-tree.iterators.node-iterator"
|
local Iterator = require("nvim-tree.iterators.node-iterator")
|
||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
local utils = require "nvim-tree.utils"
|
local utils = require("nvim-tree.utils")
|
||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
@ -57,7 +57,7 @@ end
|
|||||||
function M.close_popup()
|
function M.close_popup()
|
||||||
if current_popup ~= nil then
|
if current_popup ~= nil then
|
||||||
vim.api.nvim_win_close(current_popup.winnr, true)
|
vim.api.nvim_win_close(current_popup.winnr, true)
|
||||||
vim.cmd "augroup NvimTreeRemoveFilePopup | au! CursorMoved | augroup END"
|
vim.cmd("augroup NvimTreeRemoveFilePopup | au! CursorMoved | augroup END")
|
||||||
|
|
||||||
current_popup = nil
|
current_popup = nil
|
||||||
end
|
end
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
M.file_popup = require "nvim-tree.actions.node.file-popup"
|
M.file_popup = require("nvim-tree.actions.node.file-popup")
|
||||||
M.open_file = require "nvim-tree.actions.node.open-file"
|
M.open_file = require("nvim-tree.actions.node.open-file")
|
||||||
M.run_command = require "nvim-tree.actions.node.run-command"
|
M.run_command = require("nvim-tree.actions.node.run-command")
|
||||||
M.system_open = require "nvim-tree.actions.node.system-open"
|
M.system_open = require("nvim-tree.actions.node.system-open")
|
||||||
|
|
||||||
function M.setup(opts)
|
function M.setup(opts)
|
||||||
require("nvim-tree.actions.node.system-open").setup(opts)
|
require("nvim-tree.actions.node.system-open").setup(opts)
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
-- Copyright 2019 Yazdani Kiyan under MIT License
|
-- Copyright 2019 Yazdani Kiyan under MIT License
|
||||||
local lib = require "nvim-tree.lib"
|
local lib = require("nvim-tree.lib")
|
||||||
local notify = require "nvim-tree.notify"
|
local notify = require("nvim-tree.notify")
|
||||||
local utils = require "nvim-tree.utils"
|
local utils = require("nvim-tree.utils")
|
||||||
local view = require "nvim-tree.view"
|
local view = require("nvim-tree.view")
|
||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
@ -27,7 +27,7 @@ local function usable_win_ids()
|
|||||||
local bufid = vim.api.nvim_win_get_buf(id)
|
local bufid = vim.api.nvim_win_get_buf(id)
|
||||||
for option, v in pairs(M.window_picker.exclude) do
|
for option, v in pairs(M.window_picker.exclude) do
|
||||||
local ok, option_value
|
local ok, option_value
|
||||||
if vim.fn.has "nvim-0.10" == 1 then
|
if vim.fn.has("nvim-0.10") == 1 then
|
||||||
ok, option_value = pcall(vim.api.nvim_get_option_value, option, { buf = bufid })
|
ok, option_value = pcall(vim.api.nvim_get_option_value, option, { buf = bufid })
|
||||||
else
|
else
|
||||||
ok, option_value = pcall(vim.api.nvim_buf_get_option, bufid, option) ---@diagnostic disable-line: deprecated
|
ok, option_value = pcall(vim.api.nvim_buf_get_option, bufid, option) ---@diagnostic disable-line: deprecated
|
||||||
@ -91,7 +91,7 @@ local function pick_win_id()
|
|||||||
for _, win_id in ipairs(not_selectable) do
|
for _, win_id in ipairs(not_selectable) do
|
||||||
local ok_status, statusline, ok_hl, winhl
|
local ok_status, statusline, ok_hl, winhl
|
||||||
|
|
||||||
if vim.fn.has "nvim-0.10" == 1 then
|
if vim.fn.has("nvim-0.10") == 1 then
|
||||||
ok_status, statusline = pcall(vim.api.nvim_get_option_value, "statusline", { win = win_id })
|
ok_status, statusline = pcall(vim.api.nvim_get_option_value, "statusline", { win = win_id })
|
||||||
ok_hl, winhl = pcall(vim.api.nvim_get_option_value, "winhl", { win = win_id })
|
ok_hl, winhl = pcall(vim.api.nvim_get_option_value, "winhl", { win = win_id })
|
||||||
else
|
else
|
||||||
@ -105,7 +105,7 @@ local function pick_win_id()
|
|||||||
}
|
}
|
||||||
|
|
||||||
-- Clear statusline for windows not selectable
|
-- Clear statusline for windows not selectable
|
||||||
if vim.fn.has "nvim-0.10" == 1 then
|
if vim.fn.has("nvim-0.10") == 1 then
|
||||||
vim.api.nvim_set_option_value("statusline", " ", { win = win_id })
|
vim.api.nvim_set_option_value("statusline", " ", { win = win_id })
|
||||||
else
|
else
|
||||||
vim.api.nvim_win_set_option(win_id, "statusline", " ") ---@diagnostic disable-line: deprecated
|
vim.api.nvim_win_set_option(win_id, "statusline", " ") ---@diagnostic disable-line: deprecated
|
||||||
@ -118,7 +118,7 @@ local function pick_win_id()
|
|||||||
local char = M.window_picker.chars:sub(i, i)
|
local char = M.window_picker.chars:sub(i, i)
|
||||||
|
|
||||||
local ok_status, statusline, ok_hl, winhl
|
local ok_status, statusline, ok_hl, winhl
|
||||||
if vim.fn.has "nvim-0.10" == 1 then
|
if vim.fn.has("nvim-0.10") == 1 then
|
||||||
ok_status, statusline = pcall(vim.api.nvim_get_option_value, "statusline", { win = id })
|
ok_status, statusline = pcall(vim.api.nvim_get_option_value, "statusline", { win = id })
|
||||||
ok_hl, winhl = pcall(vim.api.nvim_get_option_value, "winhl", { win = id })
|
ok_hl, winhl = pcall(vim.api.nvim_get_option_value, "winhl", { win = id })
|
||||||
else
|
else
|
||||||
@ -132,7 +132,7 @@ local function pick_win_id()
|
|||||||
}
|
}
|
||||||
win_map[char] = id
|
win_map[char] = id
|
||||||
|
|
||||||
if vim.fn.has "nvim-0.10" == 1 then
|
if vim.fn.has("nvim-0.10") == 1 then
|
||||||
vim.api.nvim_set_option_value("statusline", "%=" .. char .. "%=", { win = id })
|
vim.api.nvim_set_option_value("statusline", "%=" .. char .. "%=", { win = id })
|
||||||
vim.api.nvim_set_option_value("winhl", "StatusLine:NvimTreeWindowPicker,StatusLineNC:NvimTreeWindowPicker", { win = id })
|
vim.api.nvim_set_option_value("winhl", "StatusLine:NvimTreeWindowPicker,StatusLineNC:NvimTreeWindowPicker", { win = id })
|
||||||
else
|
else
|
||||||
@ -146,9 +146,9 @@ local function pick_win_id()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
vim.cmd "redraw"
|
vim.cmd("redraw")
|
||||||
if vim.opt.cmdheight._value ~= 0 then
|
if vim.opt.cmdheight._value ~= 0 then
|
||||||
print "Pick window: "
|
print("Pick window: ")
|
||||||
end
|
end
|
||||||
local _, resp = pcall(get_user_input_char)
|
local _, resp = pcall(get_user_input_char)
|
||||||
resp = (resp or ""):upper()
|
resp = (resp or ""):upper()
|
||||||
@ -157,7 +157,7 @@ local function pick_win_id()
|
|||||||
-- Restore window options
|
-- Restore window options
|
||||||
for _, id in ipairs(selectable) do
|
for _, id in ipairs(selectable) do
|
||||||
for opt, value in pairs(win_opts[id]) do
|
for opt, value in pairs(win_opts[id]) do
|
||||||
if vim.fn.has "nvim-0.10" == 1 then
|
if vim.fn.has("nvim-0.10") == 1 then
|
||||||
vim.api.nvim_set_option_value(opt, value, { win = id })
|
vim.api.nvim_set_option_value(opt, value, { win = id })
|
||||||
else
|
else
|
||||||
vim.api.nvim_win_set_option(id, opt, value) ---@diagnostic disable-line: deprecated
|
vim.api.nvim_win_set_option(id, opt, value) ---@diagnostic disable-line: deprecated
|
||||||
@ -170,7 +170,7 @@ local function pick_win_id()
|
|||||||
-- Ensure window still exists at this point
|
-- Ensure window still exists at this point
|
||||||
if vim.api.nvim_win_is_valid(id) then
|
if vim.api.nvim_win_is_valid(id) then
|
||||||
for opt, value in pairs(win_opts[id]) do
|
for opt, value in pairs(win_opts[id]) do
|
||||||
if vim.fn.has "nvim-0.10" == 1 then
|
if vim.fn.has("nvim-0.10") == 1 then
|
||||||
vim.api.nvim_set_option_value(opt, value, { win = id })
|
vim.api.nvim_set_option_value(opt, value, { win = id })
|
||||||
else
|
else
|
||||||
vim.api.nvim_win_set_option(id, opt, value) ---@diagnostic disable-line: deprecated
|
vim.api.nvim_win_set_option(id, opt, value) ---@diagnostic disable-line: deprecated
|
||||||
@ -300,7 +300,7 @@ local function open_in_new_window(filename, mode)
|
|||||||
|
|
||||||
-- No need to split, as we created a new window.
|
-- No need to split, as we created a new window.
|
||||||
create_new_window = false
|
create_new_window = false
|
||||||
if mode:match "split$" then
|
if mode:match("split$") then
|
||||||
mode = "edit"
|
mode = "edit"
|
||||||
end
|
end
|
||||||
elseif not vim.o.hidden then
|
elseif not vim.o.hidden then
|
||||||
@ -309,14 +309,14 @@ local function open_in_new_window(filename, mode)
|
|||||||
local target_bufid = vim.api.nvim_win_get_buf(target_winid)
|
local target_bufid = vim.api.nvim_win_get_buf(target_winid)
|
||||||
|
|
||||||
local modified
|
local modified
|
||||||
if vim.fn.has "nvim-0.10" == 1 then
|
if vim.fn.has("nvim-0.10") == 1 then
|
||||||
modified = vim.api.nvim_get_option_value("modified", { buf = target_bufid })
|
modified = vim.api.nvim_get_option_value("modified", { buf = target_bufid })
|
||||||
else
|
else
|
||||||
modified = vim.api.nvim_buf_get_option(target_bufid, "modified") ---@diagnostic disable-line: deprecated
|
modified = vim.api.nvim_buf_get_option(target_bufid, "modified") ---@diagnostic disable-line: deprecated
|
||||||
end
|
end
|
||||||
|
|
||||||
if modified then
|
if modified then
|
||||||
if not mode:match "split$" then
|
if not mode:match("split$") then
|
||||||
mode = "vsplit"
|
mode = "vsplit"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -342,7 +342,7 @@ local function open_in_new_window(filename, mode)
|
|||||||
if create_new_window then
|
if create_new_window then
|
||||||
-- generated from vim.api.nvim_parse_cmd("belowright vsplit foo", {})
|
-- generated from vim.api.nvim_parse_cmd("belowright vsplit foo", {})
|
||||||
command = { cmd = "vsplit", mods = { split = new_window_side }, args = { fname } }
|
command = { cmd = "vsplit", mods = { split = new_window_side }, args = { fname } }
|
||||||
elseif mode:match "split$" then
|
elseif mode:match("split$") then
|
||||||
command = { cmd = mode, args = { fname } }
|
command = { cmd = mode, args = { fname } }
|
||||||
else
|
else
|
||||||
command = { cmd = "edit", args = { fname } }
|
command = { cmd = "edit", args = { fname } }
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
local utils = require "nvim-tree.utils"
|
local utils = require("nvim-tree.utils")
|
||||||
local core = require "nvim-tree.core"
|
local core = require("nvim-tree.core")
|
||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
|
|||||||
@ -1,12 +1,12 @@
|
|||||||
local notify = require "nvim-tree.notify"
|
local notify = require("nvim-tree.notify")
|
||||||
local utils = require "nvim-tree.utils"
|
local utils = require("nvim-tree.utils")
|
||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
---@param node Node
|
---@param node Node
|
||||||
local function user(node)
|
local function user(node)
|
||||||
if #M.config.system_open.cmd == 0 then
|
if #M.config.system_open.cmd == 0 then
|
||||||
require("nvim-tree.utils").notify.warn "Cannot open file with system application. Unrecognized platform."
|
require("nvim-tree.utils").notify.warn("Cannot open file with system application. Unrecognized platform.")
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -69,7 +69,7 @@ function M.setup(opts)
|
|||||||
M.config = {}
|
M.config = {}
|
||||||
M.config.system_open = opts.system_open or {}
|
M.config.system_open = opts.system_open or {}
|
||||||
|
|
||||||
if vim.fn.has "nvim-0.10" == 1 and #M.config.system_open.cmd == 0 then
|
if vim.fn.has("nvim-0.10") == 1 and #M.config.system_open.cmd == 0 then
|
||||||
M.open = native
|
M.open = native
|
||||||
else
|
else
|
||||||
M.open = user
|
M.open = user
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
local log = require "nvim-tree.log"
|
local log = require("nvim-tree.log")
|
||||||
local utils = require "nvim-tree.utils"
|
local utils = require("nvim-tree.utils")
|
||||||
local core = require "nvim-tree.core"
|
local core = require("nvim-tree.core")
|
||||||
|
|
||||||
local M = {
|
local M = {
|
||||||
current_tab = vim.api.nvim_get_current_tabpage(),
|
current_tab = vim.api.nvim_get_current_tabpage(),
|
||||||
|
|||||||
@ -1,12 +1,12 @@
|
|||||||
local utils = require "nvim-tree.utils"
|
local utils = require("nvim-tree.utils")
|
||||||
local core = require "nvim-tree.core"
|
local core = require("nvim-tree.core")
|
||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
---@param node Node
|
---@param node Node
|
||||||
function M.fn(node)
|
function M.fn(node)
|
||||||
if not node or node.name == ".." then
|
if not node or node.name == ".." then
|
||||||
require("nvim-tree.actions.root.change-dir").fn ".."
|
require("nvim-tree.actions.root.change-dir").fn("..")
|
||||||
else
|
else
|
||||||
local cwd = core.get_cwd()
|
local cwd = core.get_cwd()
|
||||||
if cwd == nil then
|
if cwd == nil then
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
M.change_dir = require "nvim-tree.actions.root.change-dir"
|
M.change_dir = require("nvim-tree.actions.root.change-dir")
|
||||||
M.dir_up = require "nvim-tree.actions.root.dir-up"
|
M.dir_up = require("nvim-tree.actions.root.dir-up")
|
||||||
|
|
||||||
function M.setup(opts)
|
function M.setup(opts)
|
||||||
M.change_dir.setup(opts)
|
M.change_dir.setup(opts)
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
local core = require "nvim-tree.core"
|
local core = require("nvim-tree.core")
|
||||||
local lib = require "nvim-tree.lib"
|
local lib = require("nvim-tree.lib")
|
||||||
local view = require "nvim-tree.view"
|
local view = require("nvim-tree.view")
|
||||||
local finders_find_file = require "nvim-tree.actions.finders.find-file"
|
local finders_find_file = require("nvim-tree.actions.finders.find-file")
|
||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
@ -49,9 +49,9 @@ function M.fn(opts)
|
|||||||
end
|
end
|
||||||
elseif opts.open then
|
elseif opts.open then
|
||||||
-- open
|
-- open
|
||||||
lib.open { current_window = opts.current_window, winid = opts.winid }
|
lib.open({ current_window = opts.current_window, winid = opts.winid })
|
||||||
if not opts.focus then
|
if not opts.focus then
|
||||||
vim.cmd "noautocmd wincmd p"
|
vim.cmd("noautocmd wincmd p")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -1,10 +1,10 @@
|
|||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
M.find_file = require "nvim-tree.actions.tree.find-file"
|
M.find_file = require("nvim-tree.actions.tree.find-file")
|
||||||
M.modifiers = require "nvim-tree.actions.tree.modifiers"
|
M.modifiers = require("nvim-tree.actions.tree.modifiers")
|
||||||
M.open = require "nvim-tree.actions.tree.open"
|
M.open = require("nvim-tree.actions.tree.open")
|
||||||
M.toggle = require "nvim-tree.actions.tree.toggle"
|
M.toggle = require("nvim-tree.actions.tree.toggle")
|
||||||
M.resize = require "nvim-tree.actions.tree.resize"
|
M.resize = require("nvim-tree.actions.tree.resize")
|
||||||
|
|
||||||
function M.setup(opts)
|
function M.setup(opts)
|
||||||
M.find_file.setup(opts)
|
M.find_file.setup(opts)
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
local utils = require "nvim-tree.utils"
|
local utils = require("nvim-tree.utils")
|
||||||
local core = require "nvim-tree.core"
|
local core = require("nvim-tree.core")
|
||||||
local lib = require "nvim-tree.lib"
|
local lib = require("nvim-tree.lib")
|
||||||
local Iterator = require "nvim-tree.iterators.node-iterator"
|
local Iterator = require("nvim-tree.iterators.node-iterator")
|
||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
local core = require "nvim-tree.core"
|
local core = require("nvim-tree.core")
|
||||||
local Iterator = require "nvim-tree.iterators.node-iterator"
|
local Iterator = require("nvim-tree.iterators.node-iterator")
|
||||||
local notify = require "nvim-tree.notify"
|
local notify = require("nvim-tree.notify")
|
||||||
local lib = require "nvim-tree.lib"
|
local lib = require("nvim-tree.lib")
|
||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
M.collapse_all = require "nvim-tree.actions.tree.modifiers.collapse-all"
|
M.collapse_all = require("nvim-tree.actions.tree.modifiers.collapse-all")
|
||||||
M.expand_all = require "nvim-tree.actions.tree.modifiers.expand-all"
|
M.expand_all = require("nvim-tree.actions.tree.modifiers.expand-all")
|
||||||
M.toggles = require "nvim-tree.actions.tree.modifiers.toggles"
|
M.toggles = require("nvim-tree.actions.tree.modifiers.toggles")
|
||||||
|
|
||||||
function M.setup(opts)
|
function M.setup(opts)
|
||||||
M.expand_all.setup(opts)
|
M.expand_all.setup(opts)
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
local lib = require "nvim-tree.lib"
|
local lib = require("nvim-tree.lib")
|
||||||
local utils = require "nvim-tree.utils"
|
local utils = require("nvim-tree.utils")
|
||||||
local core = require "nvim-tree.core"
|
local core = require("nvim-tree.core")
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
---@param explorer Explorer
|
---@param explorer Explorer
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
local lib = require "nvim-tree.lib"
|
local lib = require("nvim-tree.lib")
|
||||||
local view = require "nvim-tree.view"
|
local view = require("nvim-tree.view")
|
||||||
local finders_find_file = require "nvim-tree.actions.finders.find-file"
|
local finders_find_file = require("nvim-tree.actions.finders.find-file")
|
||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
@ -29,11 +29,11 @@ function M.fn(opts)
|
|||||||
view.focus()
|
view.focus()
|
||||||
else
|
else
|
||||||
-- open
|
-- open
|
||||||
lib.open {
|
lib.open({
|
||||||
path = opts.path,
|
path = opts.path,
|
||||||
current_window = opts.current_window,
|
current_window = opts.current_window,
|
||||||
winid = opts.winid,
|
winid = opts.winid,
|
||||||
}
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
-- find file
|
-- find file
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
local view = require "nvim-tree.view"
|
local view = require("nvim-tree.view")
|
||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
local lib = require "nvim-tree.lib"
|
local lib = require("nvim-tree.lib")
|
||||||
local view = require "nvim-tree.view"
|
local view = require("nvim-tree.view")
|
||||||
local finders_find_file = require "nvim-tree.actions.finders.find-file"
|
local finders_find_file = require("nvim-tree.actions.finders.find-file")
|
||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
@ -45,11 +45,11 @@ function M.fn(opts, no_focus, cwd, bang)
|
|||||||
view.close()
|
view.close()
|
||||||
else
|
else
|
||||||
-- open
|
-- open
|
||||||
lib.open {
|
lib.open({
|
||||||
path = opts.path,
|
path = opts.path,
|
||||||
current_window = opts.current_window,
|
current_window = opts.current_window,
|
||||||
winid = opts.winid,
|
winid = opts.winid,
|
||||||
}
|
})
|
||||||
|
|
||||||
-- find file
|
-- find file
|
||||||
if M.config.update_focused_file.enable or opts.find_file then
|
if M.config.update_focused_file.enable or opts.find_file then
|
||||||
@ -64,7 +64,7 @@ function M.fn(opts, no_focus, cwd, bang)
|
|||||||
|
|
||||||
-- restore focus
|
-- restore focus
|
||||||
if not opts.focus then
|
if not opts.focus then
|
||||||
vim.cmd "noautocmd wincmd p"
|
vim.cmd("noautocmd wincmd p")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -1,13 +1,13 @@
|
|||||||
local lib = require "nvim-tree.lib"
|
local lib = require("nvim-tree.lib")
|
||||||
local core = require "nvim-tree.core"
|
local core = require("nvim-tree.core")
|
||||||
local view = require "nvim-tree.view"
|
local view = require("nvim-tree.view")
|
||||||
local utils = require "nvim-tree.utils"
|
local utils = require("nvim-tree.utils")
|
||||||
local actions = require "nvim-tree.actions"
|
local actions = require("nvim-tree.actions")
|
||||||
local appearance_diagnostics = require "nvim-tree.appearance.diagnostics"
|
local appearance_diagnostics = require("nvim-tree.appearance.diagnostics")
|
||||||
local events = require "nvim-tree.events"
|
local events = require("nvim-tree.events")
|
||||||
local help = require "nvim-tree.help"
|
local help = require("nvim-tree.help")
|
||||||
local keymap = require "nvim-tree.keymap"
|
local keymap = require("nvim-tree.keymap")
|
||||||
local notify = require "nvim-tree.notify"
|
local notify = require("nvim-tree.notify")
|
||||||
|
|
||||||
local Api = {
|
local Api = {
|
||||||
tree = {},
|
tree = {},
|
||||||
@ -47,7 +47,7 @@ local function wrap(f)
|
|||||||
if vim.g.NvimTreeSetup == 1 then
|
if vim.g.NvimTreeSetup == 1 then
|
||||||
return f(...)
|
return f(...)
|
||||||
else
|
else
|
||||||
notify.error "nvim-tree setup not called"
|
notify.error("nvim-tree setup not called")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -121,7 +121,7 @@ Api.tree.toggle = wrap(actions.tree.toggle.fn)
|
|||||||
Api.tree.close = wrap(view.close)
|
Api.tree.close = wrap(view.close)
|
||||||
Api.tree.close_in_this_tab = wrap(view.close_this_tab_only)
|
Api.tree.close_in_this_tab = wrap(view.close_this_tab_only)
|
||||||
Api.tree.close_in_all_tabs = wrap(view.close_all_tabs)
|
Api.tree.close_in_all_tabs = wrap(view.close_all_tabs)
|
||||||
Api.tree.reload = wrap_explorer "reload_explorer"
|
Api.tree.reload = wrap_explorer("reload_explorer")
|
||||||
|
|
||||||
---@class ApiTreeResizeOpts
|
---@class ApiTreeResizeOpts
|
||||||
---@field width string|function|number|table|nil
|
---@field width string|function|number|table|nil
|
||||||
@ -136,7 +136,7 @@ end)
|
|||||||
|
|
||||||
Api.tree.change_root_to_node = wrap_node(function(node)
|
Api.tree.change_root_to_node = wrap_node(function(node)
|
||||||
if node.name == ".." then
|
if node.name == ".." then
|
||||||
actions.root.change_dir.fn ".."
|
actions.root.change_dir.fn("..")
|
||||||
elseif node.nodes ~= nil then
|
elseif node.nodes ~= nil then
|
||||||
actions.root.change_dir.fn(lib.get_last_group_node(node).absolute_path)
|
actions.root.change_dir.fn(lib.get_last_group_node(node).absolute_path)
|
||||||
end
|
end
|
||||||
@ -182,11 +182,11 @@ Api.tree.winid = wrap(view.winid)
|
|||||||
Api.fs.create = wrap_node_or_nil(actions.fs.create_file.fn)
|
Api.fs.create = wrap_node_or_nil(actions.fs.create_file.fn)
|
||||||
Api.fs.remove = wrap_node(actions.fs.remove_file.fn)
|
Api.fs.remove = wrap_node(actions.fs.remove_file.fn)
|
||||||
Api.fs.trash = wrap_node(actions.fs.trash.fn)
|
Api.fs.trash = wrap_node(actions.fs.trash.fn)
|
||||||
Api.fs.rename_node = wrap_node(actions.fs.rename_file.fn ":t")
|
Api.fs.rename_node = wrap_node(actions.fs.rename_file.fn(":t"))
|
||||||
Api.fs.rename = wrap_node(actions.fs.rename_file.fn ":t")
|
Api.fs.rename = wrap_node(actions.fs.rename_file.fn(":t"))
|
||||||
Api.fs.rename_sub = wrap_node(actions.fs.rename_file.fn ":p:h")
|
Api.fs.rename_sub = wrap_node(actions.fs.rename_file.fn(":p:h"))
|
||||||
Api.fs.rename_basename = wrap_node(actions.fs.rename_file.fn ":t:r")
|
Api.fs.rename_basename = wrap_node(actions.fs.rename_file.fn(":t:r"))
|
||||||
Api.fs.rename_full = wrap_node(actions.fs.rename_file.fn ":p")
|
Api.fs.rename_full = wrap_node(actions.fs.rename_file.fn(":p"))
|
||||||
Api.fs.cut = wrap_node(wrap_explorer_member("clipboard", "cut"))
|
Api.fs.cut = wrap_node(wrap_explorer_member("clipboard", "cut"))
|
||||||
Api.fs.paste = wrap_node(wrap_explorer_member("clipboard", "paste"))
|
Api.fs.paste = wrap_node(wrap_explorer_member("clipboard", "paste"))
|
||||||
Api.fs.clear_clipboard = wrap_explorer_member("clipboard", "clear_clipboard")
|
Api.fs.clear_clipboard = wrap_explorer_member("clipboard", "clear_clipboard")
|
||||||
@ -212,7 +212,7 @@ end
|
|||||||
local function open_or_expand_or_dir_up(mode, toggle_group)
|
local function open_or_expand_or_dir_up(mode, toggle_group)
|
||||||
return function(node)
|
return function(node)
|
||||||
if node.name == ".." then
|
if node.name == ".." then
|
||||||
actions.root.change_dir.fn ".."
|
actions.root.change_dir.fn("..")
|
||||||
elseif node.nodes then
|
elseif node.nodes then
|
||||||
lib.expand_or_collapse(node, toggle_group)
|
lib.expand_or_collapse(node, toggle_group)
|
||||||
elseif not toggle_group then
|
elseif not toggle_group then
|
||||||
@ -221,42 +221,42 @@ local function open_or_expand_or_dir_up(mode, toggle_group)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
Api.node.open.edit = wrap_node(open_or_expand_or_dir_up "edit")
|
Api.node.open.edit = wrap_node(open_or_expand_or_dir_up("edit"))
|
||||||
Api.node.open.drop = wrap_node(open_or_expand_or_dir_up "drop")
|
Api.node.open.drop = wrap_node(open_or_expand_or_dir_up("drop"))
|
||||||
Api.node.open.tab_drop = wrap_node(open_or_expand_or_dir_up "tab_drop")
|
Api.node.open.tab_drop = wrap_node(open_or_expand_or_dir_up("tab_drop"))
|
||||||
Api.node.open.replace_tree_buffer = wrap_node(open_or_expand_or_dir_up "edit_in_place")
|
Api.node.open.replace_tree_buffer = wrap_node(open_or_expand_or_dir_up("edit_in_place"))
|
||||||
Api.node.open.no_window_picker = wrap_node(open_or_expand_or_dir_up "edit_no_picker")
|
Api.node.open.no_window_picker = wrap_node(open_or_expand_or_dir_up("edit_no_picker"))
|
||||||
Api.node.open.vertical = wrap_node(open_or_expand_or_dir_up "vsplit")
|
Api.node.open.vertical = wrap_node(open_or_expand_or_dir_up("vsplit"))
|
||||||
Api.node.open.horizontal = wrap_node(open_or_expand_or_dir_up "split")
|
Api.node.open.horizontal = wrap_node(open_or_expand_or_dir_up("split"))
|
||||||
Api.node.open.tab = wrap_node(open_or_expand_or_dir_up "tabnew")
|
Api.node.open.tab = wrap_node(open_or_expand_or_dir_up("tabnew"))
|
||||||
Api.node.open.toggle_group_empty = wrap_node(open_or_expand_or_dir_up("toggle_group_empty", true))
|
Api.node.open.toggle_group_empty = wrap_node(open_or_expand_or_dir_up("toggle_group_empty", true))
|
||||||
Api.node.open.preview = wrap_node(open_or_expand_or_dir_up "preview")
|
Api.node.open.preview = wrap_node(open_or_expand_or_dir_up("preview"))
|
||||||
Api.node.open.preview_no_picker = wrap_node(open_or_expand_or_dir_up "preview_no_picker")
|
Api.node.open.preview_no_picker = wrap_node(open_or_expand_or_dir_up("preview_no_picker"))
|
||||||
|
|
||||||
Api.node.show_info_popup = wrap_node(actions.node.file_popup.toggle_file_info)
|
Api.node.show_info_popup = wrap_node(actions.node.file_popup.toggle_file_info)
|
||||||
Api.node.run.cmd = wrap_node(actions.node.run_command.run_file_command)
|
Api.node.run.cmd = wrap_node(actions.node.run_command.run_file_command)
|
||||||
Api.node.run.system = wrap_node(actions.node.system_open.fn)
|
Api.node.run.system = wrap_node(actions.node.system_open.fn)
|
||||||
|
|
||||||
Api.node.navigate.sibling.next = wrap_node(actions.moves.sibling.fn "next")
|
Api.node.navigate.sibling.next = wrap_node(actions.moves.sibling.fn("next"))
|
||||||
Api.node.navigate.sibling.prev = wrap_node(actions.moves.sibling.fn "prev")
|
Api.node.navigate.sibling.prev = wrap_node(actions.moves.sibling.fn("prev"))
|
||||||
Api.node.navigate.sibling.first = wrap_node(actions.moves.sibling.fn "first")
|
Api.node.navigate.sibling.first = wrap_node(actions.moves.sibling.fn("first"))
|
||||||
Api.node.navigate.sibling.last = wrap_node(actions.moves.sibling.fn "last")
|
Api.node.navigate.sibling.last = wrap_node(actions.moves.sibling.fn("last"))
|
||||||
Api.node.navigate.parent = wrap_node(actions.moves.parent.fn(false))
|
Api.node.navigate.parent = wrap_node(actions.moves.parent.fn(false))
|
||||||
Api.node.navigate.parent_close = wrap_node(actions.moves.parent.fn(true))
|
Api.node.navigate.parent_close = wrap_node(actions.moves.parent.fn(true))
|
||||||
Api.node.navigate.git.next = wrap_node(actions.moves.item.fn { where = "next", what = "git" })
|
Api.node.navigate.git.next = wrap_node(actions.moves.item.fn({ where = "next", what = "git" }))
|
||||||
Api.node.navigate.git.next_skip_gitignored = wrap_node(actions.moves.item.fn { where = "next", what = "git", skip_gitignored = true })
|
Api.node.navigate.git.next_skip_gitignored = wrap_node(actions.moves.item.fn({ where = "next", what = "git", skip_gitignored = true }))
|
||||||
Api.node.navigate.git.next_recursive = wrap_node(actions.moves.item.fn { where = "next", what = "git", recurse = true })
|
Api.node.navigate.git.next_recursive = wrap_node(actions.moves.item.fn({ where = "next", what = "git", recurse = true }))
|
||||||
Api.node.navigate.git.prev = wrap_node(actions.moves.item.fn { where = "prev", what = "git" })
|
Api.node.navigate.git.prev = wrap_node(actions.moves.item.fn({ where = "prev", what = "git" }))
|
||||||
Api.node.navigate.git.prev_skip_gitignored = wrap_node(actions.moves.item.fn { where = "prev", what = "git", skip_gitignored = true })
|
Api.node.navigate.git.prev_skip_gitignored = wrap_node(actions.moves.item.fn({ where = "prev", what = "git", skip_gitignored = true }))
|
||||||
Api.node.navigate.git.prev_recursive = wrap_node(actions.moves.item.fn { where = "prev", what = "git", recurse = true })
|
Api.node.navigate.git.prev_recursive = wrap_node(actions.moves.item.fn({ where = "prev", what = "git", recurse = true }))
|
||||||
Api.node.navigate.diagnostics.next = wrap_node(actions.moves.item.fn { where = "next", what = "diag" })
|
Api.node.navigate.diagnostics.next = wrap_node(actions.moves.item.fn({ where = "next", what = "diag" }))
|
||||||
Api.node.navigate.diagnostics.next_recursive = wrap_node(actions.moves.item.fn { where = "next", what = "diag", recurse = true })
|
Api.node.navigate.diagnostics.next_recursive = wrap_node(actions.moves.item.fn({ where = "next", what = "diag", recurse = true }))
|
||||||
Api.node.navigate.diagnostics.prev = wrap_node(actions.moves.item.fn { where = "prev", what = "diag" })
|
Api.node.navigate.diagnostics.prev = wrap_node(actions.moves.item.fn({ where = "prev", what = "diag" }))
|
||||||
Api.node.navigate.diagnostics.prev_recursive = wrap_node(actions.moves.item.fn { where = "prev", what = "diag", recurse = true })
|
Api.node.navigate.diagnostics.prev_recursive = wrap_node(actions.moves.item.fn({ where = "prev", what = "diag", recurse = true }))
|
||||||
Api.node.navigate.opened.next = wrap_node(actions.moves.item.fn { where = "next", what = "opened" })
|
Api.node.navigate.opened.next = wrap_node(actions.moves.item.fn({ where = "next", what = "opened" }))
|
||||||
Api.node.navigate.opened.prev = wrap_node(actions.moves.item.fn { where = "prev", what = "opened" })
|
Api.node.navigate.opened.prev = wrap_node(actions.moves.item.fn({ where = "prev", what = "opened" }))
|
||||||
|
|
||||||
Api.git.reload = wrap_explorer "reload_git"
|
Api.git.reload = wrap_explorer("reload_git")
|
||||||
|
|
||||||
Api.events.subscribe = events.subscribe
|
Api.events.subscribe = events.subscribe
|
||||||
Api.events.Event = events.Event
|
Api.events.Event = events.Event
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
local appearance = require "nvim-tree.appearance"
|
local appearance = require("nvim-tree.appearance")
|
||||||
|
|
||||||
-- others with name and links less than this arbitrary value are short
|
-- others with name and links less than this arbitrary value are short
|
||||||
local SHORT_LEN = 50
|
local SHORT_LEN = 50
|
||||||
@ -129,7 +129,7 @@ function M.hi_test()
|
|||||||
render_displays("other, long", displays_long, bufnr, l)
|
render_displays("other, long", displays_long, bufnr, l)
|
||||||
|
|
||||||
-- finalise and focus the buffer
|
-- finalise and focus the buffer
|
||||||
if vim.fn.has "nvim-0.10" == 1 then
|
if vim.fn.has("nvim-0.10") == 1 then
|
||||||
vim.api.nvim_set_option_value("modifiable", false, { buf = bufnr })
|
vim.api.nvim_set_option_value("modifiable", false, { buf = bufnr })
|
||||||
else
|
else
|
||||||
vim.api.nvim_buf_set_option(bufnr, "modifiable", false) ---@diagnostic disable-line: deprecated
|
vim.api.nvim_buf_set_option(bufnr, "modifiable", false) ---@diagnostic disable-line: deprecated
|
||||||
|
|||||||
@ -12,126 +12,126 @@ local M = {}
|
|||||||
M.HIGHLIGHT_GROUPS = {
|
M.HIGHLIGHT_GROUPS = {
|
||||||
|
|
||||||
-- Standard
|
-- Standard
|
||||||
{ group = "NvimTreeNormal", link = "Normal" },
|
{ group = "NvimTreeNormal", link = "Normal" },
|
||||||
{ group = "NvimTreeNormalFloat", link = "NormalFloat" },
|
{ group = "NvimTreeNormalFloat", link = "NormalFloat" },
|
||||||
{ group = "NvimTreeNormalFloatBorder", link = "FloatBorder" },
|
{ group = "NvimTreeNormalFloatBorder", link = "FloatBorder" },
|
||||||
{ group = "NvimTreeNormalNC", link = "NvimTreeNormal" },
|
{ group = "NvimTreeNormalNC", link = "NvimTreeNormal" },
|
||||||
|
|
||||||
{ group = "NvimTreeLineNr", link = "LineNr" },
|
{ group = "NvimTreeLineNr", link = "LineNr" },
|
||||||
{ group = "NvimTreeWinSeparator", link = "WinSeparator" },
|
{ group = "NvimTreeWinSeparator", link = "WinSeparator" },
|
||||||
{ group = "NvimTreeEndOfBuffer", link = "EndOfBuffer" },
|
{ group = "NvimTreeEndOfBuffer", link = "EndOfBuffer" },
|
||||||
{ group = "NvimTreePopup", link = "Normal" },
|
{ group = "NvimTreePopup", link = "Normal" },
|
||||||
{ group = "NvimTreeSignColumn", link = "NvimTreeNormal" },
|
{ group = "NvimTreeSignColumn", link = "NvimTreeNormal" },
|
||||||
|
|
||||||
{ group = "NvimTreeCursorColumn", link = "CursorColumn" },
|
{ group = "NvimTreeCursorColumn", link = "CursorColumn" },
|
||||||
{ group = "NvimTreeCursorLine", link = "CursorLine" },
|
{ group = "NvimTreeCursorLine", link = "CursorLine" },
|
||||||
{ group = "NvimTreeCursorLineNr", link = "CursorLineNr" },
|
{ group = "NvimTreeCursorLineNr", link = "CursorLineNr" },
|
||||||
|
|
||||||
{ group = "NvimTreeStatusLine", link = "StatusLine" },
|
{ group = "NvimTreeStatusLine", link = "StatusLine" },
|
||||||
{ group = "NvimTreeStatusLineNC", link = "StatusLineNC" },
|
{ group = "NvimTreeStatusLineNC", link = "StatusLineNC" },
|
||||||
|
|
||||||
-- File Text
|
-- File Text
|
||||||
{ group = "NvimTreeExecFile", link = "Question" },
|
{ group = "NvimTreeExecFile", link = "Question" },
|
||||||
{ group = "NvimTreeImageFile", link = "Question" },
|
{ group = "NvimTreeImageFile", link = "Question" },
|
||||||
{ group = "NvimTreeSpecialFile", link = "Title" },
|
{ group = "NvimTreeSpecialFile", link = "Title" },
|
||||||
{ group = "NvimTreeSymlink", link = "Underlined" },
|
{ group = "NvimTreeSymlink", link = "Underlined" },
|
||||||
|
|
||||||
-- Folder Text
|
-- Folder Text
|
||||||
{ group = "NvimTreeRootFolder", link = "Title" },
|
{ group = "NvimTreeRootFolder", link = "Title" },
|
||||||
{ group = "NvimTreeFolderName", link = "Directory" },
|
{ group = "NvimTreeFolderName", link = "Directory" },
|
||||||
{ group = "NvimTreeEmptyFolderName", link = "Directory" },
|
{ group = "NvimTreeEmptyFolderName", link = "Directory" },
|
||||||
{ group = "NvimTreeOpenedFolderName", link = "Directory" },
|
{ group = "NvimTreeOpenedFolderName", link = "Directory" },
|
||||||
{ group = "NvimTreeSymlinkFolderName", link = "Directory" },
|
{ group = "NvimTreeSymlinkFolderName", link = "Directory" },
|
||||||
|
|
||||||
-- File Icons
|
-- File Icons
|
||||||
{ group = "NvimTreeFileIcon", link = "NvimTreeNormal" },
|
{ group = "NvimTreeFileIcon", link = "NvimTreeNormal" },
|
||||||
{ group = "NvimTreeSymlinkIcon", link = "NvimTreeNormal" },
|
{ group = "NvimTreeSymlinkIcon", link = "NvimTreeNormal" },
|
||||||
|
|
||||||
-- Folder Icons
|
-- Folder Icons
|
||||||
{ group = "NvimTreeFolderIcon", def = "guifg=#8094b4 ctermfg=Blue" },
|
{ group = "NvimTreeFolderIcon", def = "guifg=#8094b4 ctermfg=Blue" },
|
||||||
{ group = "NvimTreeOpenedFolderIcon", link = "NvimTreeFolderIcon" },
|
{ group = "NvimTreeOpenedFolderIcon", link = "NvimTreeFolderIcon" },
|
||||||
{ group = "NvimTreeClosedFolderIcon", link = "NvimTreeFolderIcon" },
|
{ group = "NvimTreeClosedFolderIcon", link = "NvimTreeFolderIcon" },
|
||||||
{ group = "NvimTreeFolderArrowClosed", link = "NvimTreeIndentMarker" },
|
{ group = "NvimTreeFolderArrowClosed", link = "NvimTreeIndentMarker" },
|
||||||
{ group = "NvimTreeFolderArrowOpen", link = "NvimTreeIndentMarker" },
|
{ group = "NvimTreeFolderArrowOpen", link = "NvimTreeIndentMarker" },
|
||||||
|
|
||||||
-- Indent
|
-- Indent
|
||||||
{ group = "NvimTreeIndentMarker", link = "NvimTreeFolderIcon" },
|
{ group = "NvimTreeIndentMarker", link = "NvimTreeFolderIcon" },
|
||||||
|
|
||||||
-- Picker
|
-- Picker
|
||||||
{ group = "NvimTreeWindowPicker", def = "guifg=#ededed guibg=#4493c8 gui=bold ctermfg=White ctermbg=DarkBlue" },
|
{ group = "NvimTreeWindowPicker", def = "guifg=#ededed guibg=#4493c8 gui=bold ctermfg=White ctermbg=DarkBlue" },
|
||||||
|
|
||||||
-- LiveFilter
|
-- LiveFilter
|
||||||
{ group = "NvimTreeLiveFilterPrefix", link = "PreProc" },
|
{ group = "NvimTreeLiveFilterPrefix", link = "PreProc" },
|
||||||
{ group = "NvimTreeLiveFilterValue", link = "ModeMsg" },
|
{ group = "NvimTreeLiveFilterValue", link = "ModeMsg" },
|
||||||
|
|
||||||
-- Clipboard
|
-- Clipboard
|
||||||
{ group = "NvimTreeCutHL", link = "SpellBad" },
|
{ group = "NvimTreeCutHL", link = "SpellBad" },
|
||||||
{ group = "NvimTreeCopiedHL", link = "SpellRare" },
|
{ group = "NvimTreeCopiedHL", link = "SpellRare" },
|
||||||
|
|
||||||
-- Bookmark
|
-- Bookmark
|
||||||
{ group = "NvimTreeBookmarkIcon", link = "NvimTreeFolderIcon" },
|
{ group = "NvimTreeBookmarkIcon", link = "NvimTreeFolderIcon" },
|
||||||
{ group = "NvimTreeBookmarkHL", link = "SpellLocal" },
|
{ group = "NvimTreeBookmarkHL", link = "SpellLocal" },
|
||||||
|
|
||||||
-- Modified
|
-- Modified
|
||||||
{ group = "NvimTreeModifiedIcon", link = "Type" },
|
{ group = "NvimTreeModifiedIcon", link = "Type" },
|
||||||
{ group = "NvimTreeModifiedFileHL", link = "NvimTreeModifiedIcon" },
|
{ group = "NvimTreeModifiedFileHL", link = "NvimTreeModifiedIcon" },
|
||||||
{ group = "NvimTreeModifiedFolderHL", link = "NvimTreeModifiedFileHL" },
|
{ group = "NvimTreeModifiedFolderHL", link = "NvimTreeModifiedFileHL" },
|
||||||
|
|
||||||
-- Hidden
|
-- Hidden
|
||||||
{ group = "NvimTreeHiddenIcon", link = "Conceal" },
|
{ group = "NvimTreeHiddenIcon", link = "Conceal" },
|
||||||
{ group = "NvimTreeHiddenFileHL", link = "NvimTreeHiddenIcon" },
|
{ group = "NvimTreeHiddenFileHL", link = "NvimTreeHiddenIcon" },
|
||||||
{ group = "NvimTreeHiddenFolderHL", link = "NvimTreeHiddenFileHL" },
|
{ group = "NvimTreeHiddenFolderHL", link = "NvimTreeHiddenFileHL" },
|
||||||
|
|
||||||
-- Hidden Display
|
-- Hidden Display
|
||||||
{ group = "NvimTreeHiddenDisplay", link = "Conceal" },
|
{ group = "NvimTreeHiddenDisplay", link = "Conceal" },
|
||||||
|
|
||||||
-- Opened
|
-- Opened
|
||||||
{ group = "NvimTreeOpenedHL", link = "Special" },
|
{ group = "NvimTreeOpenedHL", link = "Special" },
|
||||||
|
|
||||||
-- Git Icon
|
-- Git Icon
|
||||||
{ group = "NvimTreeGitDeletedIcon", link = "Statement" },
|
{ group = "NvimTreeGitDeletedIcon", link = "Statement" },
|
||||||
{ group = "NvimTreeGitDirtyIcon", link = "Statement" },
|
{ group = "NvimTreeGitDirtyIcon", link = "Statement" },
|
||||||
{ group = "NvimTreeGitIgnoredIcon", link = "Comment" },
|
{ group = "NvimTreeGitIgnoredIcon", link = "Comment" },
|
||||||
{ group = "NvimTreeGitMergeIcon", link = "Constant" },
|
{ group = "NvimTreeGitMergeIcon", link = "Constant" },
|
||||||
{ group = "NvimTreeGitNewIcon", link = "PreProc" },
|
{ group = "NvimTreeGitNewIcon", link = "PreProc" },
|
||||||
{ group = "NvimTreeGitRenamedIcon", link = "PreProc" },
|
{ group = "NvimTreeGitRenamedIcon", link = "PreProc" },
|
||||||
{ group = "NvimTreeGitStagedIcon", link = "Constant" },
|
{ group = "NvimTreeGitStagedIcon", link = "Constant" },
|
||||||
|
|
||||||
-- Git File Highlight
|
-- Git File Highlight
|
||||||
{ group = "NvimTreeGitFileDeletedHL", link = "NvimTreeGitDeletedIcon" },
|
{ group = "NvimTreeGitFileDeletedHL", link = "NvimTreeGitDeletedIcon" },
|
||||||
{ group = "NvimTreeGitFileDirtyHL", link = "NvimTreeGitDirtyIcon" },
|
{ group = "NvimTreeGitFileDirtyHL", link = "NvimTreeGitDirtyIcon" },
|
||||||
{ group = "NvimTreeGitFileIgnoredHL", link = "NvimTreeGitIgnoredIcon" },
|
{ group = "NvimTreeGitFileIgnoredHL", link = "NvimTreeGitIgnoredIcon" },
|
||||||
{ group = "NvimTreeGitFileMergeHL", link = "NvimTreeGitMergeIcon" },
|
{ group = "NvimTreeGitFileMergeHL", link = "NvimTreeGitMergeIcon" },
|
||||||
{ group = "NvimTreeGitFileNewHL", link = "NvimTreeGitNewIcon" },
|
{ group = "NvimTreeGitFileNewHL", link = "NvimTreeGitNewIcon" },
|
||||||
{ group = "NvimTreeGitFileRenamedHL", link = "NvimTreeGitRenamedIcon" },
|
{ group = "NvimTreeGitFileRenamedHL", link = "NvimTreeGitRenamedIcon" },
|
||||||
{ group = "NvimTreeGitFileStagedHL", link = "NvimTreeGitStagedIcon" },
|
{ group = "NvimTreeGitFileStagedHL", link = "NvimTreeGitStagedIcon" },
|
||||||
|
|
||||||
-- Git Folder Highlight
|
-- Git Folder Highlight
|
||||||
{ group = "NvimTreeGitFolderDeletedHL", link = "NvimTreeGitFileDeletedHL" },
|
{ group = "NvimTreeGitFolderDeletedHL", link = "NvimTreeGitFileDeletedHL" },
|
||||||
{ group = "NvimTreeGitFolderDirtyHL", link = "NvimTreeGitFileDirtyHL" },
|
{ group = "NvimTreeGitFolderDirtyHL", link = "NvimTreeGitFileDirtyHL" },
|
||||||
{ group = "NvimTreeGitFolderIgnoredHL", link = "NvimTreeGitFileIgnoredHL" },
|
{ group = "NvimTreeGitFolderIgnoredHL", link = "NvimTreeGitFileIgnoredHL" },
|
||||||
{ group = "NvimTreeGitFolderMergeHL", link = "NvimTreeGitFileMergeHL" },
|
{ group = "NvimTreeGitFolderMergeHL", link = "NvimTreeGitFileMergeHL" },
|
||||||
{ group = "NvimTreeGitFolderNewHL", link = "NvimTreeGitFileNewHL" },
|
{ group = "NvimTreeGitFolderNewHL", link = "NvimTreeGitFileNewHL" },
|
||||||
{ group = "NvimTreeGitFolderRenamedHL", link = "NvimTreeGitFileRenamedHL" },
|
{ group = "NvimTreeGitFolderRenamedHL", link = "NvimTreeGitFileRenamedHL" },
|
||||||
{ group = "NvimTreeGitFolderStagedHL", link = "NvimTreeGitFileStagedHL" },
|
{ group = "NvimTreeGitFolderStagedHL", link = "NvimTreeGitFileStagedHL" },
|
||||||
|
|
||||||
-- Diagnostics Icon
|
-- Diagnostics Icon
|
||||||
{ group = "NvimTreeDiagnosticErrorIcon", link = "DiagnosticError" },
|
{ group = "NvimTreeDiagnosticErrorIcon", link = "DiagnosticError" },
|
||||||
{ group = "NvimTreeDiagnosticWarnIcon", link = "DiagnosticWarn" },
|
{ group = "NvimTreeDiagnosticWarnIcon", link = "DiagnosticWarn" },
|
||||||
{ group = "NvimTreeDiagnosticInfoIcon", link = "DiagnosticInfo" },
|
{ group = "NvimTreeDiagnosticInfoIcon", link = "DiagnosticInfo" },
|
||||||
{ group = "NvimTreeDiagnosticHintIcon", link = "DiagnosticHint" },
|
{ group = "NvimTreeDiagnosticHintIcon", link = "DiagnosticHint" },
|
||||||
|
|
||||||
-- Diagnostics File Highlight
|
-- Diagnostics File Highlight
|
||||||
{ group = "NvimTreeDiagnosticErrorFileHL", link = "DiagnosticUnderlineError" },
|
{ group = "NvimTreeDiagnosticErrorFileHL", link = "DiagnosticUnderlineError" },
|
||||||
{ group = "NvimTreeDiagnosticWarnFileHL", link = "DiagnosticUnderlineWarn" },
|
{ group = "NvimTreeDiagnosticWarnFileHL", link = "DiagnosticUnderlineWarn" },
|
||||||
{ group = "NvimTreeDiagnosticInfoFileHL", link = "DiagnosticUnderlineInfo" },
|
{ group = "NvimTreeDiagnosticInfoFileHL", link = "DiagnosticUnderlineInfo" },
|
||||||
{ group = "NvimTreeDiagnosticHintFileHL", link = "DiagnosticUnderlineHint" },
|
{ group = "NvimTreeDiagnosticHintFileHL", link = "DiagnosticUnderlineHint" },
|
||||||
|
|
||||||
-- Diagnostics Folder Highlight
|
-- Diagnostics Folder Highlight
|
||||||
{ group = "NvimTreeDiagnosticErrorFolderHL", link = "NvimTreeDiagnosticErrorFileHL" },
|
{ group = "NvimTreeDiagnosticErrorFolderHL", link = "NvimTreeDiagnosticErrorFileHL" },
|
||||||
{ group = "NvimTreeDiagnosticWarnFolderHL", link = "NvimTreeDiagnosticWarnFileHL" },
|
{ group = "NvimTreeDiagnosticWarnFolderHL", link = "NvimTreeDiagnosticWarnFileHL" },
|
||||||
{ group = "NvimTreeDiagnosticInfoFolderHL", link = "NvimTreeDiagnosticInfoFileHL" },
|
{ group = "NvimTreeDiagnosticInfoFolderHL", link = "NvimTreeDiagnosticInfoFileHL" },
|
||||||
{ group = "NvimTreeDiagnosticHintFolderHL", link = "NvimTreeDiagnosticHintFileHL" },
|
{ group = "NvimTreeDiagnosticHintFolderHL", link = "NvimTreeDiagnosticHintFileHL" },
|
||||||
}
|
}
|
||||||
|
|
||||||
-- nvim-tree highlight groups to legacy
|
-- nvim-tree highlight groups to legacy
|
||||||
|
|||||||
@ -6,16 +6,14 @@ M._modified = {}
|
|||||||
---refresh M._modified
|
---refresh M._modified
|
||||||
function M.reload_modified()
|
function M.reload_modified()
|
||||||
M._modified = {}
|
M._modified = {}
|
||||||
local bufs = vim.fn.getbufinfo { bufmodified = 1, buflisted = 1 }
|
local bufs = vim.fn.getbufinfo({ bufmodified = 1, buflisted = 1 })
|
||||||
for _, buf in pairs(bufs) do
|
for _, buf in pairs(bufs) do
|
||||||
local path = buf.name
|
local path = buf.name
|
||||||
if path ~= "" then -- not a [No Name] buffer
|
if path ~= "" then -- not a [No Name] buffer
|
||||||
-- mark all the parent as modified as well
|
-- mark all the parent as modified as well
|
||||||
while
|
while M._modified[path] ~= true do
|
||||||
M._modified[path] ~= true
|
|
||||||
-- no need to keep going if already recorded
|
-- no need to keep going if already recorded
|
||||||
-- This also prevents an infinite loop
|
-- This also prevents an infinite loop
|
||||||
do
|
|
||||||
M._modified[path] = true
|
M._modified[path] = true
|
||||||
path = vim.fn.fnamemodify(path, ":h")
|
path = vim.fn.fnamemodify(path, ":h")
|
||||||
end
|
end
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
local api = require "nvim-tree.api"
|
local api = require("nvim-tree.api")
|
||||||
local view = require "nvim-tree.view"
|
local view = require("nvim-tree.view")
|
||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
@ -12,7 +12,7 @@ local CMDS = {
|
|||||||
complete = "dir",
|
complete = "dir",
|
||||||
},
|
},
|
||||||
command = function(c)
|
command = function(c)
|
||||||
api.tree.open { path = c.args }
|
api.tree.open({ path = c.args })
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -33,12 +33,12 @@ local CMDS = {
|
|||||||
complete = "dir",
|
complete = "dir",
|
||||||
},
|
},
|
||||||
command = function(c)
|
command = function(c)
|
||||||
api.tree.toggle {
|
api.tree.toggle({
|
||||||
find_file = false,
|
find_file = false,
|
||||||
focus = true,
|
focus = true,
|
||||||
path = c.args,
|
path = c.args,
|
||||||
update_root = false,
|
update_root = false,
|
||||||
}
|
})
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -79,11 +79,11 @@ local CMDS = {
|
|||||||
bar = true,
|
bar = true,
|
||||||
},
|
},
|
||||||
command = function(c)
|
command = function(c)
|
||||||
api.tree.find_file {
|
api.tree.find_file({
|
||||||
open = true,
|
open = true,
|
||||||
focus = true,
|
focus = true,
|
||||||
update_root = c.bang,
|
update_root = c.bang,
|
||||||
}
|
})
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -95,12 +95,12 @@ local CMDS = {
|
|||||||
complete = "dir",
|
complete = "dir",
|
||||||
},
|
},
|
||||||
command = function(c)
|
command = function(c)
|
||||||
api.tree.toggle {
|
api.tree.toggle({
|
||||||
find_file = true,
|
find_file = true,
|
||||||
focus = true,
|
focus = true,
|
||||||
path = c.args,
|
path = c.args,
|
||||||
update_root = c.bang,
|
update_root = c.bang,
|
||||||
}
|
})
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
local events = require "nvim-tree.events"
|
local events = require("nvim-tree.events")
|
||||||
local view = require "nvim-tree.view"
|
local view = require("nvim-tree.view")
|
||||||
local log = require "nvim-tree.log"
|
local log = require("nvim-tree.log")
|
||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
local core = require "nvim-tree.core"
|
local core = require("nvim-tree.core")
|
||||||
local utils = require "nvim-tree.utils"
|
local utils = require("nvim-tree.utils")
|
||||||
local view = require "nvim-tree.view"
|
local view = require("nvim-tree.view")
|
||||||
local log = require "nvim-tree.log"
|
local log = require("nvim-tree.log")
|
||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
@ -42,7 +42,7 @@ local function from_nvim_lsp()
|
|||||||
|
|
||||||
-- is_enabled is not present in all 0.10 builds/releases, see #2781
|
-- is_enabled is not present in all 0.10 builds/releases, see #2781
|
||||||
local is_enabled = false
|
local is_enabled = false
|
||||||
if vim.fn.has "nvim-0.10" == 1 and type(vim.diagnostic.is_enabled) == "function" then
|
if vim.fn.has("nvim-0.10") == 1 and type(vim.diagnostic.is_enabled) == "function" then
|
||||||
is_enabled = vim.diagnostic.is_enabled()
|
is_enabled = vim.diagnostic.is_enabled()
|
||||||
elseif type(vim.diagnostic.is_disabled) == "function" then ---@diagnostic disable-line: deprecated
|
elseif type(vim.diagnostic.is_disabled) == "function" then ---@diagnostic disable-line: deprecated
|
||||||
is_enabled = not vim.diagnostic.is_disabled() ---@diagnostic disable-line: deprecated
|
is_enabled = not vim.diagnostic.is_disabled() ---@diagnostic disable-line: deprecated
|
||||||
@ -77,7 +77,7 @@ local function handle_coc_exception(err)
|
|||||||
local notify = true
|
local notify = true
|
||||||
|
|
||||||
-- avoid distractions on interrupts (CTRL-C)
|
-- avoid distractions on interrupts (CTRL-C)
|
||||||
if err:find "Vim:Interrupt" or err:find "Keyboard interrupt" then
|
if err:find("Vim:Interrupt") or err:find("Keyboard interrupt") then
|
||||||
notify = false
|
notify = false
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -100,7 +100,7 @@ local function from_coc()
|
|||||||
end
|
end
|
||||||
|
|
||||||
local ok, diagnostic_list = xpcall(function()
|
local ok, diagnostic_list = xpcall(function()
|
||||||
return vim.fn.CocAction "diagnosticList"
|
return vim.fn.CocAction("diagnosticList")
|
||||||
end, handle_coc_exception)
|
end, handle_coc_exception)
|
||||||
if not ok or type(diagnostic_list) ~= "table" or vim.tbl_isempty(diagnostic_list) then
|
if not ok or type(diagnostic_list) ~= "table" or vim.tbl_isempty(diagnostic_list) then
|
||||||
return {}
|
return {}
|
||||||
@ -152,14 +152,14 @@ function M.update()
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
utils.debounce("diagnostics", M.debounce_delay, function()
|
utils.debounce("diagnostics", M.debounce_delay, function()
|
||||||
local profile = log.profile_start "diagnostics update"
|
local profile = log.profile_start("diagnostics update")
|
||||||
if is_using_coc() then
|
if is_using_coc() then
|
||||||
NODE_SEVERITIES = from_coc()
|
NODE_SEVERITIES = from_coc()
|
||||||
else
|
else
|
||||||
NODE_SEVERITIES = from_nvim_lsp()
|
NODE_SEVERITIES = from_nvim_lsp()
|
||||||
end
|
end
|
||||||
NODE_SEVERITIES_VERSION = NODE_SEVERITIES_VERSION + 1
|
NODE_SEVERITIES_VERSION = NODE_SEVERITIES_VERSION + 1
|
||||||
if log.enabled "diagnostics" then
|
if log.enabled("diagnostics") then
|
||||||
for bufname, severity in pairs(NODE_SEVERITIES) do
|
for bufname, severity in pairs(NODE_SEVERITIES) do
|
||||||
log.line("diagnostics", "Indexing bufname '%s' with severity %d", bufname, severity)
|
log.line("diagnostics", "Indexing bufname '%s' with severity %d", bufname, severity)
|
||||||
end
|
end
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
local notify = require "nvim-tree.notify"
|
local notify = require("nvim-tree.notify")
|
||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
local utils = require "nvim-tree.utils"
|
local utils = require("nvim-tree.utils")
|
||||||
local FILTER_REASON = require("nvim-tree.enum").FILTER_REASON
|
local FILTER_REASON = require("nvim-tree.enum").FILTER_REASON
|
||||||
|
|
||||||
---@class Filters to handle all opts.filters and related API
|
---@class Filters to handle all opts.filters and related API
|
||||||
@ -165,7 +165,7 @@ local function custom(self, path)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local idx = path:match ".+()%.[^.]+$"
|
local idx = path:match(".+()%.[^.]+$")
|
||||||
if idx then
|
if idx then
|
||||||
if self.ignore_list["*" .. string.sub(path, idx)] == true then
|
if self.ignore_list["*" .. string.sub(path, idx)] == true then
|
||||||
return true
|
return true
|
||||||
@ -189,7 +189,7 @@ function Filters:prepare(git_status)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if self.config.filter_no_buffer then
|
if self.config.filter_no_buffer then
|
||||||
status.bufinfo = vim.fn.getbufinfo { buflisted = 1 }
|
status.bufinfo = vim.fn.getbufinfo({ buflisted = 1 })
|
||||||
end
|
end
|
||||||
|
|
||||||
local explorer = require("nvim-tree.core").get_explorer()
|
local explorer = require("nvim-tree.core").get_explorer()
|
||||||
|
|||||||
@ -1,22 +1,22 @@
|
|||||||
local builders = require "nvim-tree.explorer.node-builders"
|
local builders = require("nvim-tree.explorer.node-builders")
|
||||||
local git = require "nvim-tree.git"
|
local git = require("nvim-tree.git")
|
||||||
local log = require "nvim-tree.log"
|
local log = require("nvim-tree.log")
|
||||||
local notify = require "nvim-tree.notify"
|
local notify = require("nvim-tree.notify")
|
||||||
local utils = require "nvim-tree.utils"
|
local utils = require("nvim-tree.utils")
|
||||||
local view = require "nvim-tree.view"
|
local view = require("nvim-tree.view")
|
||||||
local watch = require "nvim-tree.explorer.watch"
|
local watch = require("nvim-tree.explorer.watch")
|
||||||
local explorer_node = require "nvim-tree.explorer.node"
|
local explorer_node = require("nvim-tree.explorer.node")
|
||||||
|
|
||||||
local Iterator = require "nvim-tree.iterators.node-iterator"
|
local Iterator = require("nvim-tree.iterators.node-iterator")
|
||||||
local NodeIterator = require "nvim-tree.iterators.node-iterator"
|
local NodeIterator = require("nvim-tree.iterators.node-iterator")
|
||||||
local Watcher = require "nvim-tree.watcher"
|
local Watcher = require("nvim-tree.watcher")
|
||||||
|
|
||||||
local Filters = require "nvim-tree.explorer.filters"
|
local Filters = require("nvim-tree.explorer.filters")
|
||||||
local Marks = require "nvim-tree.marks"
|
local Marks = require("nvim-tree.marks")
|
||||||
local LiveFilter = require "nvim-tree.explorer.live-filter"
|
local LiveFilter = require("nvim-tree.explorer.live-filter")
|
||||||
local Sorters = require "nvim-tree.explorer.sorters"
|
local Sorters = require("nvim-tree.explorer.sorters")
|
||||||
local Clipboard = require "nvim-tree.actions.fs.clipboard"
|
local Clipboard = require("nvim-tree.actions.fs.clipboard")
|
||||||
local Renderer = require "nvim-tree.renderer"
|
local Renderer = require("nvim-tree.renderer")
|
||||||
|
|
||||||
local FILTER_REASON = require("nvim-tree.enum").FILTER_REASON
|
local FILTER_REASON = require("nvim-tree.enum").FILTER_REASON
|
||||||
|
|
||||||
@ -130,7 +130,7 @@ function Explorer:reload(node, git_status)
|
|||||||
break
|
break
|
||||||
end
|
end
|
||||||
|
|
||||||
local abs = utils.path_join { cwd, name }
|
local abs = utils.path_join({ cwd, name })
|
||||||
---@type uv.fs_stat.result|nil
|
---@type uv.fs_stat.result|nil
|
||||||
local stat = vim.loop.fs_lstat(abs)
|
local stat = vim.loop.fs_lstat(abs)
|
||||||
|
|
||||||
@ -359,7 +359,7 @@ function Explorer:populate_children(handle, cwd, node, git_status, parent)
|
|||||||
break
|
break
|
||||||
end
|
end
|
||||||
|
|
||||||
local abs = utils.path_join { cwd, name }
|
local abs = utils.path_join({ cwd, name })
|
||||||
|
|
||||||
if Watcher.is_fs_event_capable(abs) then
|
if Watcher.is_fs_event_capable(abs) then
|
||||||
local profile = log.profile_start("populate_children %s", abs)
|
local profile = log.profile_start("populate_children %s", abs)
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
local view = require "nvim-tree.view"
|
local view = require("nvim-tree.view")
|
||||||
local utils = require "nvim-tree.utils"
|
local utils = require("nvim-tree.utils")
|
||||||
local Iterator = require "nvim-tree.iterators.node-iterator"
|
local Iterator = require("nvim-tree.iterators.node-iterator")
|
||||||
|
|
||||||
---@class LiveFilter
|
---@class LiveFilter
|
||||||
---@field explorer Explorer
|
---@field explorer Explorer
|
||||||
@ -162,11 +162,11 @@ end
|
|||||||
local function create_overlay(self)
|
local function create_overlay(self)
|
||||||
if view.View.float.enable then
|
if view.View.float.enable then
|
||||||
-- don't close nvim-tree float when focus is changed to filter window
|
-- don't close nvim-tree float when focus is changed to filter window
|
||||||
vim.api.nvim_clear_autocmds {
|
vim.api.nvim_clear_autocmds({
|
||||||
event = "WinLeave",
|
event = "WinLeave",
|
||||||
pattern = "NvimTree_*",
|
pattern = "NvimTree_*",
|
||||||
group = vim.api.nvim_create_augroup("NvimTree", { clear = false }),
|
group = vim.api.nvim_create_augroup("NvimTree", { clear = false }),
|
||||||
}
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
configure_buffer_overlay(self)
|
configure_buffer_overlay(self)
|
||||||
@ -180,14 +180,14 @@ local function create_overlay(self)
|
|||||||
style = "minimal",
|
style = "minimal",
|
||||||
})
|
})
|
||||||
|
|
||||||
if vim.fn.has "nvim-0.10" == 1 then
|
if vim.fn.has("nvim-0.10") == 1 then
|
||||||
vim.api.nvim_set_option_value("modifiable", true, { buf = overlay_bufnr })
|
vim.api.nvim_set_option_value("modifiable", true, { buf = overlay_bufnr })
|
||||||
else
|
else
|
||||||
vim.api.nvim_buf_set_option(overlay_bufnr, "modifiable", true) ---@diagnostic disable-line: deprecated
|
vim.api.nvim_buf_set_option(overlay_bufnr, "modifiable", true) ---@diagnostic disable-line: deprecated
|
||||||
end
|
end
|
||||||
|
|
||||||
vim.api.nvim_buf_set_lines(overlay_bufnr, 0, -1, false, { self.filter })
|
vim.api.nvim_buf_set_lines(overlay_bufnr, 0, -1, false, { self.filter })
|
||||||
vim.cmd "startinsert"
|
vim.cmd("startinsert")
|
||||||
vim.api.nvim_win_set_cursor(overlay_winnr, { 1, #self.filter + 1 })
|
vim.api.nvim_win_set_cursor(overlay_winnr, { 1, #self.filter + 1 })
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -198,7 +198,7 @@ function LiveFilter:start_filtering()
|
|||||||
self.explorer.renderer:draw()
|
self.explorer.renderer:draw()
|
||||||
local row = require("nvim-tree.core").get_nodes_starting_line() - 1
|
local row = require("nvim-tree.core").get_nodes_starting_line() - 1
|
||||||
local col = #self.prefix > 0 and #self.prefix - 1 or 1
|
local col = #self.prefix > 0 and #self.prefix - 1 or 1
|
||||||
view.set_cursor { row, col }
|
view.set_cursor({ row, col })
|
||||||
-- needs scheduling to let the cursor move before initializing the window
|
-- needs scheduling to let the cursor move before initializing the window
|
||||||
vim.schedule(function()
|
vim.schedule(function()
|
||||||
return create_overlay(self)
|
return create_overlay(self)
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
local utils = require "nvim-tree.utils"
|
local utils = require("nvim-tree.utils")
|
||||||
local watch = require "nvim-tree.explorer.watch"
|
local watch = require("nvim-tree.explorer.watch")
|
||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
|
|||||||
@ -177,7 +177,7 @@ function M.setup(opts)
|
|||||||
git = opts.git,
|
git = opts.git,
|
||||||
}
|
}
|
||||||
|
|
||||||
git = require "nvim-tree.git"
|
git = require("nvim-tree.git")
|
||||||
end
|
end
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|||||||
@ -122,7 +122,7 @@ function Sorter:sort(t)
|
|||||||
absolute_path = n.absolute_path,
|
absolute_path = n.absolute_path,
|
||||||
executable = n.executable,
|
executable = n.executable,
|
||||||
extension = n.extension,
|
extension = n.extension,
|
||||||
filetype = vim.filetype.match { filename = n.name },
|
filetype = vim.filetype.match({ filename = n.name }),
|
||||||
link_to = n.link_to,
|
link_to = n.link_to,
|
||||||
name = n.name,
|
name = n.name,
|
||||||
type = n.type,
|
type = n.type,
|
||||||
@ -237,8 +237,8 @@ function C.suffix(a, b, cfg)
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- unsuffixed go third
|
-- unsuffixed go third
|
||||||
local a_suffix_ndx = a.name:find "%.%w+$"
|
local a_suffix_ndx = a.name:find("%.%w+$")
|
||||||
local b_suffix_ndx = b.name:find "%.%w+$"
|
local b_suffix_ndx = b.name:find("%.%w+$")
|
||||||
|
|
||||||
if not a_suffix_ndx and b_suffix_ndx then
|
if not a_suffix_ndx and b_suffix_ndx then
|
||||||
return true
|
return true
|
||||||
@ -289,8 +289,8 @@ function C.extension(a, b, cfg)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function C.filetype(a, b, cfg)
|
function C.filetype(a, b, cfg)
|
||||||
local a_ft = vim.filetype.match { filename = a.name }
|
local a_ft = vim.filetype.match({ filename = a.name })
|
||||||
local b_ft = vim.filetype.match { filename = b.name }
|
local b_ft = vim.filetype.match({ filename = b.name })
|
||||||
|
|
||||||
-- directories first
|
-- directories first
|
||||||
local early_return = folders_or_files_first(a, b, cfg)
|
local early_return = folders_or_files_first(a, b, cfg)
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
local log = require "nvim-tree.log"
|
local log = require("nvim-tree.log")
|
||||||
local utils = require "nvim-tree.utils"
|
local utils = require("nvim-tree.utils")
|
||||||
local Watcher = require("nvim-tree.watcher").Watcher
|
local Watcher = require("nvim-tree.watcher").Watcher
|
||||||
|
|
||||||
local M = {
|
local M = {
|
||||||
|
|||||||
@ -1,10 +1,10 @@
|
|||||||
local log = require "nvim-tree.log"
|
local log = require("nvim-tree.log")
|
||||||
local utils = require "nvim-tree.utils"
|
local utils = require("nvim-tree.utils")
|
||||||
local git_utils = require "nvim-tree.git.utils"
|
local git_utils = require("nvim-tree.git.utils")
|
||||||
local Runner = require "nvim-tree.git.runner"
|
local Runner = require("nvim-tree.git.runner")
|
||||||
local Watcher = require("nvim-tree.watcher").Watcher
|
local Watcher = require("nvim-tree.watcher").Watcher
|
||||||
local Iterator = require "nvim-tree.iterators.node-iterator"
|
local Iterator = require("nvim-tree.iterators.node-iterator")
|
||||||
local explorer_node = require "nvim-tree.explorer.node"
|
local explorer_node = require("nvim-tree.explorer.node")
|
||||||
|
|
||||||
local M = {
|
local M = {
|
||||||
config = {},
|
config = {},
|
||||||
@ -23,10 +23,10 @@ local M = {
|
|||||||
-- Utilities (like watchman) can also write to this directory (often) and aren't useful for us.
|
-- Utilities (like watchman) can also write to this directory (often) and aren't useful for us.
|
||||||
local WATCHED_FILES = {
|
local WATCHED_FILES = {
|
||||||
"FETCH_HEAD", -- remote ref
|
"FETCH_HEAD", -- remote ref
|
||||||
"HEAD", -- local ref
|
"HEAD", -- local ref
|
||||||
"HEAD.lock", -- HEAD will not always be updated e.g. revert
|
"HEAD.lock", -- HEAD will not always be updated e.g. revert
|
||||||
"config", -- user config
|
"config", -- user config
|
||||||
"index", -- staging area
|
"index", -- staging area
|
||||||
}
|
}
|
||||||
|
|
||||||
---@param toplevel string|nil
|
---@param toplevel string|nil
|
||||||
@ -243,12 +243,12 @@ function M.load_project_status(path)
|
|||||||
return status
|
return status
|
||||||
end
|
end
|
||||||
|
|
||||||
local git_status = Runner.run {
|
local git_status = Runner.run({
|
||||||
toplevel = toplevel,
|
toplevel = toplevel,
|
||||||
list_untracked = git_utils.should_show_untracked(toplevel),
|
list_untracked = git_utils.should_show_untracked(toplevel),
|
||||||
list_ignored = true,
|
list_ignored = true,
|
||||||
timeout = M.config.git.timeout,
|
timeout = M.config.git.timeout,
|
||||||
}
|
})
|
||||||
|
|
||||||
local watcher = nil
|
local watcher = nil
|
||||||
if M.config.filesystem_watchers.enable then
|
if M.config.filesystem_watchers.enable then
|
||||||
@ -264,7 +264,7 @@ function M.load_project_status(path)
|
|||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
local git_dir = vim.env.GIT_DIR or M._git_dirs_by_toplevel[toplevel] or utils.path_join { toplevel, ".git" }
|
local git_dir = vim.env.GIT_DIR or M._git_dirs_by_toplevel[toplevel] or utils.path_join({ toplevel, ".git" })
|
||||||
watcher = Watcher:new(git_dir, WATCHED_FILES, callback, {
|
watcher = Watcher:new(git_dir, WATCHED_FILES, callback, {
|
||||||
toplevel = toplevel,
|
toplevel = toplevel,
|
||||||
})
|
})
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
local log = require "nvim-tree.log"
|
local log = require("nvim-tree.log")
|
||||||
local utils = require "nvim-tree.utils"
|
local utils = require("nvim-tree.utils")
|
||||||
local notify = require "nvim-tree.notify"
|
local notify = require("nvim-tree.notify")
|
||||||
|
|
||||||
---@class Runner
|
---@class Runner
|
||||||
local Runner = {}
|
local Runner = {}
|
||||||
@ -18,11 +18,11 @@ function Runner:_parse_status_output(status, path)
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- replacing slashes if on windows
|
-- replacing slashes if on windows
|
||||||
if vim.fn.has "win32" == 1 then
|
if vim.fn.has("win32") == 1 then
|
||||||
path = path:gsub("/", "\\")
|
path = path:gsub("/", "\\")
|
||||||
end
|
end
|
||||||
if #status > 0 and #path > 0 then
|
if #status > 0 and #path > 0 then
|
||||||
self.output[utils.path_remove_trailing(utils.path_join { self.toplevel, path })] = status
|
self.output[utils.path_remove_trailing(utils.path_join({ self.toplevel, path }))] = status
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -35,7 +35,7 @@ function Runner:_handle_incoming_data(prev_output, incoming)
|
|||||||
local prev = prev_output .. incoming
|
local prev = prev_output .. incoming
|
||||||
local i = 1
|
local i = 1
|
||||||
local skip_next_line = false
|
local skip_next_line = false
|
||||||
for line in prev:gmatch "[^\n]*\n" do
|
for line in prev:gmatch("[^\n]*\n") do
|
||||||
if skip_next_line then
|
if skip_next_line then
|
||||||
skip_next_line = false
|
skip_next_line = false
|
||||||
else
|
else
|
||||||
@ -57,7 +57,7 @@ function Runner:_handle_incoming_data(prev_output, incoming)
|
|||||||
return prev_output .. incoming
|
return prev_output .. incoming
|
||||||
end
|
end
|
||||||
|
|
||||||
for line in prev_output:gmatch "[^\n]*\n" do
|
for line in prev_output:gmatch("[^\n]*\n") do
|
||||||
self:_parse_status_output(line)
|
self:_parse_status_output(line)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -79,7 +79,7 @@ end
|
|||||||
|
|
||||||
---@param output string
|
---@param output string
|
||||||
function Runner:_log_raw_output(output)
|
function Runner:_log_raw_output(output)
|
||||||
if log.enabled "git" and output and type(output) == "string" then
|
if log.enabled("git") and output and type(output) == "string" then
|
||||||
log.raw("git", "%s", output)
|
log.raw("git", "%s", output)
|
||||||
log.line("git", "done")
|
log.line("git", "done")
|
||||||
end
|
end
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
local log = require "nvim-tree.log"
|
local log = require("nvim-tree.log")
|
||||||
local utils = require "nvim-tree.utils"
|
local utils = require("nvim-tree.utils")
|
||||||
|
|
||||||
local M = {
|
local M = {
|
||||||
use_cygpath = false,
|
use_cygpath = false,
|
||||||
@ -21,30 +21,30 @@ function M.get_toplevel(cwd)
|
|||||||
log.raw("git", out)
|
log.raw("git", out)
|
||||||
log.profile_end(profile)
|
log.profile_end(profile)
|
||||||
|
|
||||||
if vim.v.shell_error ~= 0 or not out or #out == 0 or out:match "fatal" then
|
if vim.v.shell_error ~= 0 or not out or #out == 0 or out:match("fatal") then
|
||||||
return nil, nil
|
return nil, nil
|
||||||
end
|
end
|
||||||
|
|
||||||
local toplevel, git_dir = out:match "([^\n]+)\n+([^\n]+)"
|
local toplevel, git_dir = out:match("([^\n]+)\n+([^\n]+)")
|
||||||
if not toplevel then
|
if not toplevel then
|
||||||
return nil, nil
|
return nil, nil
|
||||||
end
|
end
|
||||||
if not git_dir then
|
if not git_dir then
|
||||||
git_dir = utils.path_join { toplevel, ".git" }
|
git_dir = utils.path_join({ toplevel, ".git" })
|
||||||
end
|
end
|
||||||
|
|
||||||
-- git always returns path with forward slashes
|
-- git always returns path with forward slashes
|
||||||
if vim.fn.has "win32" == 1 then
|
if vim.fn.has("win32") == 1 then
|
||||||
-- msys2 git support
|
-- msys2 git support
|
||||||
-- cygpath calls must in array format to avoid shell compatibility issues
|
-- cygpath calls must in array format to avoid shell compatibility issues
|
||||||
if M.use_cygpath then
|
if M.use_cygpath then
|
||||||
toplevel = vim.fn.system { "cygpath", "-w", toplevel }
|
toplevel = vim.fn.system({ "cygpath", "-w", toplevel })
|
||||||
if vim.v.shell_error ~= 0 then
|
if vim.v.shell_error ~= 0 then
|
||||||
return nil, nil
|
return nil, nil
|
||||||
end
|
end
|
||||||
-- remove trailing newline(\n) character added by vim.fn.system
|
-- remove trailing newline(\n) character added by vim.fn.system
|
||||||
toplevel = toplevel:gsub("\n", "")
|
toplevel = toplevel:gsub("\n", "")
|
||||||
git_dir = vim.fn.system { "cygpath", "-w", git_dir }
|
git_dir = vim.fn.system({ "cygpath", "-w", git_dir })
|
||||||
if vim.v.shell_error ~= 0 then
|
if vim.v.shell_error ~= 0 then
|
||||||
return nil, nil
|
return nil, nil
|
||||||
end
|
end
|
||||||
@ -128,7 +128,7 @@ end
|
|||||||
|
|
||||||
function M.setup(opts)
|
function M.setup(opts)
|
||||||
if opts.git.cygwin_support then
|
if opts.git.cygwin_support then
|
||||||
M.use_cygpath = vim.fn.executable "cygpath" == 1
|
M.use_cygpath = vim.fn.executable("cygpath") == 1
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
local keymap = require "nvim-tree.keymap"
|
local keymap = require("nvim-tree.keymap")
|
||||||
local api = {} -- circular dependency
|
local api = {} -- circular dependency
|
||||||
|
|
||||||
local PAT_MOUSE = "^<.*Mouse"
|
local PAT_MOUSE = "^<.*Mouse"
|
||||||
@ -27,12 +27,12 @@ local function tidy_lhs(lhs)
|
|||||||
lhs = lhs:gsub("^<lt>", "<")
|
lhs = lhs:gsub("^<lt>", "<")
|
||||||
|
|
||||||
-- shorten ctrls
|
-- shorten ctrls
|
||||||
if lhs:lower():match "^<ctrl%-" then
|
if lhs:lower():match("^<ctrl%-") then
|
||||||
lhs = lhs:lower():gsub("^<ctrl%-", "<C%-")
|
lhs = lhs:lower():gsub("^<ctrl%-", "<C%-")
|
||||||
end
|
end
|
||||||
|
|
||||||
-- uppercase ctrls
|
-- uppercase ctrls
|
||||||
if lhs:lower():match "^<c%-" then
|
if lhs:lower():match("^<c%-") then
|
||||||
lhs = lhs:upper()
|
lhs = lhs:upper()
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -130,7 +130,7 @@ local function compute(map)
|
|||||||
|
|
||||||
-- header highlight, assume one character keys
|
-- header highlight, assume one character keys
|
||||||
local hl = {
|
local hl = {
|
||||||
{ "NvimTreeFolderName", 0, 0, #head_lhs },
|
{ "NvimTreeFolderName", 0, 0, #head_lhs },
|
||||||
{ "NvimTreeFolderName", 0, width - 1, width },
|
{ "NvimTreeFolderName", 0, width - 1, width },
|
||||||
{ "NvimTreeFolderName", 1, width - 1, width },
|
{ "NvimTreeFolderName", 1, width - 1, width },
|
||||||
}
|
}
|
||||||
@ -179,7 +179,7 @@ local function open()
|
|||||||
-- populate it
|
-- populate it
|
||||||
vim.api.nvim_buf_set_lines(M.bufnr, 0, -1, false, lines)
|
vim.api.nvim_buf_set_lines(M.bufnr, 0, -1, false, lines)
|
||||||
|
|
||||||
if vim.fn.has "nvim-0.10" == 1 then
|
if vim.fn.has("nvim-0.10") == 1 then
|
||||||
vim.api.nvim_set_option_value("modifiable", false, { buf = M.bufnr })
|
vim.api.nvim_set_option_value("modifiable", false, { buf = M.bufnr })
|
||||||
else
|
else
|
||||||
vim.api.nvim_buf_set_option(M.bufnr, "modifiable", false) ---@diagnostic disable-line: deprecated
|
vim.api.nvim_buf_set_option(M.bufnr, "modifiable", false) ---@diagnostic disable-line: deprecated
|
||||||
@ -255,7 +255,7 @@ function M.setup(opts)
|
|||||||
M.config.cursorline = opts.view.cursorline
|
M.config.cursorline = opts.view.cursorline
|
||||||
M.config.sort_by = opts.help.sort_by
|
M.config.sort_by = opts.help.sort_by
|
||||||
|
|
||||||
api = require "nvim-tree.api"
|
api = require("nvim-tree.api")
|
||||||
end
|
end
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|||||||
@ -19,21 +19,40 @@ local function generate_keymap(fn)
|
|||||||
return keymap
|
return keymap
|
||||||
end
|
end
|
||||||
|
|
||||||
-- stylua: ignore start
|
---@return table
|
||||||
|
function M.get_keymap()
|
||||||
|
return generate_keymap(M.on_attach)
|
||||||
|
end
|
||||||
|
|
||||||
|
---@return table
|
||||||
|
function M.get_keymap_default()
|
||||||
|
return generate_keymap(M.default_on_attach)
|
||||||
|
end
|
||||||
|
|
||||||
|
function M.setup(opts)
|
||||||
|
if type(opts.on_attach) ~= "function" then
|
||||||
|
M.on_attach = M.default_on_attach
|
||||||
|
else
|
||||||
|
M.on_attach = opts.on_attach
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
---@param bufnr integer
|
---@param bufnr integer
|
||||||
function M.default_on_attach(bufnr)
|
function M.default_on_attach(bufnr)
|
||||||
local api = require('nvim-tree.api')
|
local api = require("nvim-tree.api")
|
||||||
|
|
||||||
local function opts(desc)
|
local function opts(desc)
|
||||||
return {
|
return {
|
||||||
desc = 'nvim-tree: ' .. desc,
|
desc = "nvim-tree: " .. desc,
|
||||||
buffer = bufnr,
|
buffer = bufnr,
|
||||||
noremap = true,
|
noremap = true,
|
||||||
silent = true,
|
silent = true,
|
||||||
nowait = true,
|
nowait = true,
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- formatting cannot be re-enabled, hence this is at the end
|
||||||
|
---@format disable
|
||||||
-- BEGIN_DEFAULT_ON_ATTACH
|
-- BEGIN_DEFAULT_ON_ATTACH
|
||||||
vim.keymap.set('n', '<C-]>', api.tree.change_root_to_node, opts('CD'))
|
vim.keymap.set('n', '<C-]>', api.tree.change_root_to_node, opts('CD'))
|
||||||
vim.keymap.set('n', '<C-e>', api.node.open.replace_tree_buffer, opts('Open: In Place'))
|
vim.keymap.set('n', '<C-e>', api.node.open.replace_tree_buffer, opts('Open: In Place'))
|
||||||
@ -95,24 +114,5 @@ function M.default_on_attach(bufnr)
|
|||||||
vim.keymap.set('n', '<2-RightMouse>', api.tree.change_root_to_node, opts('CD'))
|
vim.keymap.set('n', '<2-RightMouse>', api.tree.change_root_to_node, opts('CD'))
|
||||||
-- END_DEFAULT_ON_ATTACH
|
-- END_DEFAULT_ON_ATTACH
|
||||||
end
|
end
|
||||||
-- stylua: ignore end
|
|
||||||
|
|
||||||
---@return table
|
|
||||||
function M.get_keymap()
|
|
||||||
return generate_keymap(M.on_attach)
|
|
||||||
end
|
|
||||||
|
|
||||||
---@return table
|
|
||||||
function M.get_keymap_default()
|
|
||||||
return generate_keymap(M.default_on_attach)
|
|
||||||
end
|
|
||||||
|
|
||||||
function M.setup(opts)
|
|
||||||
if type(opts.on_attach) ~= "function" then
|
|
||||||
M.on_attach = M.default_on_attach
|
|
||||||
else
|
|
||||||
M.on_attach = opts.on_attach
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
local utils = require "nvim-tree.utils"
|
local utils = require("nvim-tree.utils")
|
||||||
local notify = require "nvim-tree.notify"
|
local notify = require("nvim-tree.notify")
|
||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
@ -64,23 +64,24 @@ end
|
|||||||
|
|
||||||
local function deprecated(opts)
|
local function deprecated(opts)
|
||||||
if type(opts.view) == "table" and opts.view.hide_root_folder then
|
if type(opts.view) == "table" and opts.view.hide_root_folder then
|
||||||
notify.info "view.hide_root_folder is deprecated, please set renderer.root_folder_label = false"
|
notify.info("view.hide_root_folder is deprecated, please set renderer.root_folder_label = false")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local function removed(opts)
|
local function removed(opts)
|
||||||
if opts.auto_close then
|
if opts.auto_close then
|
||||||
notify.warn "auto close feature has been removed: https://github.com/nvim-tree/nvim-tree.lua/wiki/Auto-Close"
|
notify.warn("auto close feature has been removed: https://github.com/nvim-tree/nvim-tree.lua/wiki/Auto-Close")
|
||||||
opts.auto_close = nil
|
opts.auto_close = nil
|
||||||
end
|
end
|
||||||
|
|
||||||
if opts.focus_empty_on_setup then
|
if opts.focus_empty_on_setup then
|
||||||
notify.warn "focus_empty_on_setup has been removed: https://github.com/nvim-tree/nvim-tree.lua/wiki/Open-At-Startup"
|
notify.warn("focus_empty_on_setup has been removed: https://github.com/nvim-tree/nvim-tree.lua/wiki/Open-At-Startup")
|
||||||
opts.focus_empty_on_setup = nil
|
opts.focus_empty_on_setup = nil
|
||||||
end
|
end
|
||||||
|
|
||||||
if opts.create_in_closed_folder then
|
if opts.create_in_closed_folder then
|
||||||
notify.warn "create_in_closed_folder has been removed and is now the default behaviour. You may use api.fs.create to add a file under your desired node."
|
notify.warn(
|
||||||
|
"create_in_closed_folder has been removed and is now the default behaviour. You may use api.fs.create to add a file under your desired node.")
|
||||||
end
|
end
|
||||||
opts.create_in_closed_folder = nil
|
opts.create_in_closed_folder = nil
|
||||||
end
|
end
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
local view = require "nvim-tree.view"
|
local view = require("nvim-tree.view")
|
||||||
local core = require "nvim-tree.core"
|
local core = require("nvim-tree.core")
|
||||||
local utils = require "nvim-tree.utils"
|
local utils = require("nvim-tree.utils")
|
||||||
local events = require "nvim-tree.events"
|
local events = require("nvim-tree.events")
|
||||||
local notify = require "nvim-tree.notify"
|
local notify = require("nvim-tree.notify")
|
||||||
local explorer_node = require "nvim-tree.explorer.node"
|
local explorer_node = require("nvim-tree.explorer.node")
|
||||||
|
|
||||||
---@class LibOpenOpts
|
---@class LibOpenOpts
|
||||||
---@field path string|nil path
|
---@field path string|nil path
|
||||||
@ -215,7 +215,7 @@ local function should_hijack_current_buf()
|
|||||||
local bufname = vim.api.nvim_buf_get_name(bufnr)
|
local bufname = vim.api.nvim_buf_get_name(bufnr)
|
||||||
|
|
||||||
local bufmodified, ft
|
local bufmodified, ft
|
||||||
if vim.fn.has "nvim-0.10" == 1 then
|
if vim.fn.has("nvim-0.10") == 1 then
|
||||||
bufmodified = vim.api.nvim_get_option_value("modified", { buf = bufnr })
|
bufmodified = vim.api.nvim_get_option_value("modified", { buf = bufnr })
|
||||||
ft = vim.api.nvim_get_option_value("ft", { buf = bufnr })
|
ft = vim.api.nvim_get_option_value("ft", { buf = bufnr })
|
||||||
else
|
else
|
||||||
@ -286,12 +286,12 @@ function M.open(opts)
|
|||||||
explorer.renderer:draw()
|
explorer.renderer:draw()
|
||||||
end
|
end
|
||||||
elseif opts.winid then
|
elseif opts.winid then
|
||||||
view.open_in_win { hijack_current_buf = false, resize = false, winid = opts.winid }
|
view.open_in_win({ hijack_current_buf = false, resize = false, winid = opts.winid })
|
||||||
if explorer then
|
if explorer then
|
||||||
explorer.renderer:draw()
|
explorer.renderer:draw()
|
||||||
end
|
end
|
||||||
elseif opts.current_window then
|
elseif opts.current_window then
|
||||||
view.open_in_win { hijack_current_buf = false, resize = false }
|
view.open_in_win({ hijack_current_buf = false, resize = false })
|
||||||
if explorer then
|
if explorer then
|
||||||
explorer.renderer:draw()
|
explorer.renderer:draw()
|
||||||
end
|
end
|
||||||
|
|||||||
@ -32,7 +32,7 @@ end
|
|||||||
---@return Profile to pass to profile_end
|
---@return Profile to pass to profile_end
|
||||||
function M.profile_start(fmt, ...)
|
function M.profile_start(fmt, ...)
|
||||||
local profile = {}
|
local profile = {}
|
||||||
if M.enabled "profile" then
|
if M.enabled("profile") then
|
||||||
profile.start = vim.loop.hrtime()
|
profile.start = vim.loop.hrtime()
|
||||||
profile.tag = string.format((fmt or "???"), ...)
|
profile.tag = string.format((fmt or "???"), ...)
|
||||||
M.line("profile", "START %s", profile.tag)
|
M.line("profile", "START %s", profile.tag)
|
||||||
@ -44,7 +44,7 @@ end
|
|||||||
--- END is prefixed and duration in seconds is suffixed
|
--- END is prefixed and duration in seconds is suffixed
|
||||||
---@param profile Profile returned from profile_start
|
---@param profile Profile returned from profile_start
|
||||||
function M.profile_end(profile)
|
function M.profile_end(profile)
|
||||||
if M.enabled "profile" and type(profile) == "table" then
|
if M.enabled("profile") and type(profile) == "table" then
|
||||||
local millis = profile.start and math.modf((vim.loop.hrtime() - profile.start) / 1000000) or -1
|
local millis = profile.start and math.modf((vim.loop.hrtime() - profile.start) / 1000000) or -1
|
||||||
M.line("profile", "END %s %dms", profile.tag or "", millis)
|
M.line("profile", "END %s %dms", profile.tag or "", millis)
|
||||||
end
|
end
|
||||||
@ -57,7 +57,7 @@ end
|
|||||||
---@param ... any arguments for string.format
|
---@param ... any arguments for string.format
|
||||||
function M.line(typ, fmt, ...)
|
function M.line(typ, fmt, ...)
|
||||||
if M.enabled(typ) then
|
if M.enabled(typ) then
|
||||||
M.raw(typ, string.format("[%s] [%s] %s\n", os.date "%Y-%m-%d %H:%M:%S", typ, (fmt or "???")), ...)
|
M.raw(typ, string.format("[%s] [%s] %s\n", os.date("%Y-%m-%d %H:%M:%S"), typ, (fmt or "???")), ...)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -77,7 +77,7 @@ end
|
|||||||
function M.node(typ, node, fmt, ...)
|
function M.node(typ, node, fmt, ...)
|
||||||
if M.enabled(typ) then
|
if M.enabled(typ) then
|
||||||
node = node or require("nvim-tree.lib").get_node_at_cursor()
|
node = node or require("nvim-tree.lib").get_node_at_cursor()
|
||||||
M.raw(typ, string.format("[%s] [%s] %s\n%s\n", os.date "%Y-%m-%d %H:%M:%S", typ, (fmt or "???"), vim.inspect(node, inspect_opts)), ...)
|
M.raw(typ, string.format("[%s] [%s] %s\n%s\n", os.date("%Y-%m-%d %H:%M:%S"), typ, (fmt or "???"), vim.inspect(node, inspect_opts)), ...)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -91,7 +91,7 @@ end
|
|||||||
function M.setup(opts)
|
function M.setup(opts)
|
||||||
M.config = opts.log
|
M.config = opts.log
|
||||||
if M.config and M.config.enable and M.config.types then
|
if M.config and M.config.enable and M.config.types then
|
||||||
M.path = string.format("%s/nvim-tree.log", vim.fn.stdpath "log", os.date "%H:%M:%S", vim.env.USER)
|
M.path = string.format("%s/nvim-tree.log", vim.fn.stdpath("log"), os.date("%H:%M:%S"), vim.env.USER)
|
||||||
if M.config.truncate then
|
if M.config.truncate then
|
||||||
os.remove(M.path)
|
os.remove(M.path)
|
||||||
end
|
end
|
||||||
|
|||||||
@ -1,12 +1,12 @@
|
|||||||
local Iterator = require "nvim-tree.iterators.node-iterator"
|
local Iterator = require("nvim-tree.iterators.node-iterator")
|
||||||
local core = require "nvim-tree.core"
|
local core = require("nvim-tree.core")
|
||||||
local lib = require "nvim-tree.lib"
|
local lib = require("nvim-tree.lib")
|
||||||
local notify = require "nvim-tree.notify"
|
local notify = require("nvim-tree.notify")
|
||||||
local open_file = require "nvim-tree.actions.node.open-file"
|
local open_file = require("nvim-tree.actions.node.open-file")
|
||||||
local remove_file = require "nvim-tree.actions.fs.remove-file"
|
local remove_file = require("nvim-tree.actions.fs.remove-file")
|
||||||
local rename_file = require "nvim-tree.actions.fs.rename-file"
|
local rename_file = require("nvim-tree.actions.fs.rename-file")
|
||||||
local trash = require "nvim-tree.actions.fs.trash"
|
local trash = require("nvim-tree.actions.fs.trash")
|
||||||
local utils = require "nvim-tree.utils"
|
local utils = require("nvim-tree.utils")
|
||||||
|
|
||||||
---@class Marks
|
---@class Marks
|
||||||
---@field config table hydrated user opts.filters
|
---@field config table hydrated user opts.filters
|
||||||
@ -87,7 +87,7 @@ end
|
|||||||
---@public
|
---@public
|
||||||
function Marks:bulk_delete()
|
function Marks:bulk_delete()
|
||||||
if not next(self.marks) then
|
if not next(self.marks) then
|
||||||
notify.warn "No bookmarks to delete."
|
notify.warn("No bookmarks to delete.")
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -116,7 +116,7 @@ end
|
|||||||
---@public
|
---@public
|
||||||
function Marks:bulk_trash()
|
function Marks:bulk_trash()
|
||||||
if not next(self.marks) then
|
if not next(self.marks) then
|
||||||
notify.warn "No bookmarks to trash."
|
notify.warn("No bookmarks to trash.")
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -145,7 +145,7 @@ end
|
|||||||
---@public
|
---@public
|
||||||
function Marks:bulk_move()
|
function Marks:bulk_move()
|
||||||
if not next(self.marks) then
|
if not next(self.marks) then
|
||||||
notify.warn "No bookmarks to move."
|
notify.warn("No bookmarks to move.")
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -176,7 +176,7 @@ function Marks:bulk_move()
|
|||||||
|
|
||||||
for _, node in pairs(self.marks) do
|
for _, node in pairs(self.marks) do
|
||||||
local head = vim.fn.fnamemodify(node.absolute_path, ":t")
|
local head = vim.fn.fnamemodify(node.absolute_path, ":t")
|
||||||
local to = utils.path_join { location, head }
|
local to = utils.path_join({ location, head })
|
||||||
rename_file.rename(node, to)
|
rename_file.rename(node, to)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -9,9 +9,9 @@ local title_support
|
|||||||
---@return boolean
|
---@return boolean
|
||||||
function M.supports_title()
|
function M.supports_title()
|
||||||
if title_support == nil then
|
if title_support == nil then
|
||||||
title_support = (package.loaded.notify and (vim.notify == require "notify" or vim.notify == require("notify").notify))
|
title_support = (package.loaded.notify and (vim.notify == require("notify") or vim.notify == require("notify").notify))
|
||||||
or (package.loaded.noice and (vim.notify == require("noice").notify or vim.notify == require("noice.source.notify").notify))
|
or (package.loaded.noice and (vim.notify == require("noice").notify or vim.notify == require("noice.source.notify").notify))
|
||||||
or (package.loaded.notifier and require("notifier.config").has_component "nvim")
|
or (package.loaded.notifier and require("notifier.config").has_component("nvim"))
|
||||||
or false
|
or false
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -21,8 +21,8 @@ end
|
|||||||
local modes = {
|
local modes = {
|
||||||
{ name = "trace", level = vim.log.levels.TRACE },
|
{ name = "trace", level = vim.log.levels.TRACE },
|
||||||
{ name = "debug", level = vim.log.levels.DEBUG },
|
{ name = "debug", level = vim.log.levels.DEBUG },
|
||||||
{ name = "info", level = vim.log.levels.INFO },
|
{ name = "info", level = vim.log.levels.INFO },
|
||||||
{ name = "warn", level = vim.log.levels.WARN },
|
{ name = "warn", level = vim.log.levels.WARN },
|
||||||
{ name = "error", level = vim.log.levels.ERROR },
|
{ name = "error", level = vim.log.levels.ERROR },
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -35,7 +35,7 @@ do
|
|||||||
vim.schedule(function()
|
vim.schedule(function()
|
||||||
if not M.supports_title() then
|
if not M.supports_title() then
|
||||||
-- add title to the message, with a newline if the message is multiline
|
-- add title to the message, with a newline if the message is multiline
|
||||||
msg = string.format("[NvimTree]%s%s", (msg:match "\n" and "\n" or " "), msg)
|
msg = string.format("[NvimTree]%s%s", (msg:match("\n") and "\n" or " "), msg)
|
||||||
end
|
end
|
||||||
|
|
||||||
vim.notify(msg, level, { title = "NvimTree" })
|
vim.notify(msg, level, { title = "NvimTree" })
|
||||||
|
|||||||
@ -1,18 +1,18 @@
|
|||||||
local notify = require "nvim-tree.notify"
|
local notify = require("nvim-tree.notify")
|
||||||
local utils = require "nvim-tree.utils"
|
local utils = require("nvim-tree.utils")
|
||||||
local view = require "nvim-tree.view"
|
local view = require("nvim-tree.view")
|
||||||
|
|
||||||
local DecoratorBookmarks = require "nvim-tree.renderer.decorator.bookmarks"
|
local DecoratorBookmarks = require("nvim-tree.renderer.decorator.bookmarks")
|
||||||
local DecoratorCopied = require "nvim-tree.renderer.decorator.copied"
|
local DecoratorCopied = require("nvim-tree.renderer.decorator.copied")
|
||||||
local DecoratorCut = require "nvim-tree.renderer.decorator.cut"
|
local DecoratorCut = require("nvim-tree.renderer.decorator.cut")
|
||||||
local DecoratorDiagnostics = require "nvim-tree.renderer.decorator.diagnostics"
|
local DecoratorDiagnostics = require("nvim-tree.renderer.decorator.diagnostics")
|
||||||
local DecoratorGit = require "nvim-tree.renderer.decorator.git"
|
local DecoratorGit = require("nvim-tree.renderer.decorator.git")
|
||||||
local DecoratorModified = require "nvim-tree.renderer.decorator.modified"
|
local DecoratorModified = require("nvim-tree.renderer.decorator.modified")
|
||||||
local DecoratorHidden = require "nvim-tree.renderer.decorator.hidden"
|
local DecoratorHidden = require("nvim-tree.renderer.decorator.hidden")
|
||||||
local DecoratorOpened = require "nvim-tree.renderer.decorator.opened"
|
local DecoratorOpened = require("nvim-tree.renderer.decorator.opened")
|
||||||
|
|
||||||
local pad = require "nvim-tree.renderer.components.padding"
|
local pad = require("nvim-tree.renderer.components.padding")
|
||||||
local icons = require "nvim-tree.renderer.components.icons"
|
local icons = require("nvim-tree.renderer.components.icons")
|
||||||
|
|
||||||
local PICTURE_MAP = {
|
local PICTURE_MAP = {
|
||||||
jpg = true,
|
jpg = true,
|
||||||
@ -397,7 +397,7 @@ function Builder:add_hidden_count_string(node, idx, num_children)
|
|||||||
-- if we change the traversal, we might need to sort by depth before rendering `self.virtual_lines`
|
-- if we change the traversal, we might need to sort by depth before rendering `self.virtual_lines`
|
||||||
-- to maintain proper ordering of parent and child folder hidden count info.
|
-- to maintain proper ordering of parent and child folder hidden count info.
|
||||||
table.insert(self.virtual_lines[line_nr], {
|
table.insert(self.virtual_lines[line_nr], {
|
||||||
{ indent_string, indent_markers.hl },
|
{ indent_string, indent_markers.hl },
|
||||||
{ string.rep(indent_padding, (node.parent == nil and 0 or 1)) .. hidden_count_string, "NvimTreeHiddenDisplay" },
|
{ string.rep(indent_padding, (node.parent == nil and 0 or 1)) .. hidden_count_string, "NvimTreeHiddenDisplay" },
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
@ -521,7 +521,8 @@ function Builder:setup_hidden_display_function(opts)
|
|||||||
|
|
||||||
local ok, result = pcall(hidden_display, hidden_stats)
|
local ok, result = pcall(hidden_display, hidden_stats)
|
||||||
if not ok then
|
if not ok then
|
||||||
notify.warn "Problem occurred in the function ``opts.renderer.hidden_display`` see nvim-tree.renderer.hidden_display on :h nvim-tree"
|
notify.warn(
|
||||||
|
"Problem occurred in the function ``opts.renderer.hidden_display`` see nvim-tree.renderer.hidden_display on :h nvim-tree")
|
||||||
return nil
|
return nil
|
||||||
end
|
end
|
||||||
return result
|
return result
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
local HL_POSITION = require("nvim-tree.enum").HL_POSITION
|
local HL_POSITION = require("nvim-tree.enum").HL_POSITION
|
||||||
local diagnostics = require "nvim-tree.diagnostics"
|
local diagnostics = require("nvim-tree.diagnostics")
|
||||||
|
|
||||||
local M = {
|
local M = {
|
||||||
-- highlight strings for the icons
|
-- highlight strings for the icons
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
local utils = require "nvim-tree.utils"
|
local utils = require("nvim-tree.utils")
|
||||||
|
|
||||||
local function hide(win)
|
local function hide(win)
|
||||||
if win then
|
if win then
|
||||||
@ -42,7 +42,7 @@ local function show()
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
local line = vim.fn.getline "."
|
local line = vim.fn.getline(".")
|
||||||
local leftcol = vim.fn.winsaveview().leftcol
|
local leftcol = vim.fn.winsaveview().leftcol
|
||||||
-- hide full name if left column of node in nvim-tree win is not zero
|
-- hide full name if left column of node in nvim-tree win is not zero
|
||||||
if leftcol ~= 0 then
|
if leftcol ~= 0 then
|
||||||
@ -81,7 +81,7 @@ local function show()
|
|||||||
|
|
||||||
vim.api.nvim_buf_add_highlight(0, ns_id, details.hl_group, 0, col, details.end_col)
|
vim.api.nvim_buf_add_highlight(0, ns_id, details.hl_group, 0, col, details.end_col)
|
||||||
end
|
end
|
||||||
vim.cmd [[ setlocal nowrap cursorline noswapfile nobuflisted buftype=nofile bufhidden=hide ]]
|
vim.cmd([[ setlocal nowrap cursorline noswapfile nobuflisted buftype=nofile bufhidden=hide ]])
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -107,7 +107,7 @@ end
|
|||||||
function M.setup(opts)
|
function M.setup(opts)
|
||||||
M.config = opts.renderer.icons
|
M.config = opts.renderer.icons
|
||||||
|
|
||||||
M.devicons = pcall(require, "nvim-web-devicons") and require "nvim-web-devicons" or nil
|
M.devicons = pcall(require, "nvim-web-devicons") and require("nvim-web-devicons") or nil
|
||||||
end
|
end
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
M.diagnostics = require "nvim-tree.renderer.components.diagnostics"
|
M.diagnostics = require("nvim-tree.renderer.components.diagnostics")
|
||||||
M.full_name = require "nvim-tree.renderer.components.full-name"
|
M.full_name = require("nvim-tree.renderer.components.full-name")
|
||||||
M.icons = require "nvim-tree.renderer.components.icons"
|
M.icons = require("nvim-tree.renderer.components.icons")
|
||||||
M.padding = require "nvim-tree.renderer.components.padding"
|
M.padding = require("nvim-tree.renderer.components.padding")
|
||||||
|
|
||||||
function M.setup(opts)
|
function M.setup(opts)
|
||||||
M.diagnostics.setup(opts)
|
M.diagnostics.setup(opts)
|
||||||
|
|||||||
@ -117,7 +117,7 @@ function M.setup(opts)
|
|||||||
return " "
|
return " "
|
||||||
end
|
end
|
||||||
-- return the first character from the UTF-8 encoded string; we may use utf8.codes from Lua 5.3 when available
|
-- return the first character from the UTF-8 encoded string; we may use utf8.codes from Lua 5.3 when available
|
||||||
return symbol:match "[%z\1-\127\194-\244][\128-\191]*"
|
return symbol:match("[%z\1-\127\194-\244][\128-\191]*")
|
||||||
end
|
end
|
||||||
|
|
||||||
for k, v in pairs(M.config.indent_markers.icons) do
|
for k, v in pairs(M.config.indent_markers.icons) do
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
local HL_POSITION = require("nvim-tree.enum").HL_POSITION
|
local HL_POSITION = require("nvim-tree.enum").HL_POSITION
|
||||||
local ICON_PLACEMENT = require("nvim-tree.enum").ICON_PLACEMENT
|
local ICON_PLACEMENT = require("nvim-tree.enum").ICON_PLACEMENT
|
||||||
|
|
||||||
local Decorator = require "nvim-tree.renderer.decorator"
|
local Decorator = require("nvim-tree.renderer.decorator")
|
||||||
|
|
||||||
---@class (exact) DecoratorBookmarks: Decorator
|
---@class (exact) DecoratorBookmarks: Decorator
|
||||||
---@field icon HighlightedString
|
---@field icon HighlightedString
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
local HL_POSITION = require("nvim-tree.enum").HL_POSITION
|
local HL_POSITION = require("nvim-tree.enum").HL_POSITION
|
||||||
local ICON_PLACEMENT = require("nvim-tree.enum").ICON_PLACEMENT
|
local ICON_PLACEMENT = require("nvim-tree.enum").ICON_PLACEMENT
|
||||||
|
|
||||||
local Decorator = require "nvim-tree.renderer.decorator"
|
local Decorator = require("nvim-tree.renderer.decorator")
|
||||||
|
|
||||||
---@class (exact) DecoratorCopied: Decorator
|
---@class (exact) DecoratorCopied: Decorator
|
||||||
---@field enabled boolean
|
---@field enabled boolean
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
local HL_POSITION = require("nvim-tree.enum").HL_POSITION
|
local HL_POSITION = require("nvim-tree.enum").HL_POSITION
|
||||||
local ICON_PLACEMENT = require("nvim-tree.enum").ICON_PLACEMENT
|
local ICON_PLACEMENT = require("nvim-tree.enum").ICON_PLACEMENT
|
||||||
|
|
||||||
local Decorator = require "nvim-tree.renderer.decorator"
|
local Decorator = require("nvim-tree.renderer.decorator")
|
||||||
|
|
||||||
---@class (exact) DecoratorCut: Decorator
|
---@class (exact) DecoratorCut: Decorator
|
||||||
---@field enabled boolean
|
---@field enabled boolean
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
local diagnostics = require "nvim-tree.diagnostics"
|
local diagnostics = require("nvim-tree.diagnostics")
|
||||||
|
|
||||||
local HL_POSITION = require("nvim-tree.enum").HL_POSITION
|
local HL_POSITION = require("nvim-tree.enum").HL_POSITION
|
||||||
local ICON_PLACEMENT = require("nvim-tree.enum").ICON_PLACEMENT
|
local ICON_PLACEMENT = require("nvim-tree.enum").ICON_PLACEMENT
|
||||||
|
|
||||||
local Decorator = require "nvim-tree.renderer.decorator"
|
local Decorator = require("nvim-tree.renderer.decorator")
|
||||||
|
|
||||||
-- highlight groups by severity
|
-- highlight groups by severity
|
||||||
local HG_ICON = {
|
local HG_ICON = {
|
||||||
|
|||||||
@ -1,10 +1,10 @@
|
|||||||
local notify = require "nvim-tree.notify"
|
local notify = require("nvim-tree.notify")
|
||||||
local explorer_node = require "nvim-tree.explorer.node"
|
local explorer_node = require("nvim-tree.explorer.node")
|
||||||
|
|
||||||
local HL_POSITION = require("nvim-tree.enum").HL_POSITION
|
local HL_POSITION = require("nvim-tree.enum").HL_POSITION
|
||||||
local ICON_PLACEMENT = require("nvim-tree.enum").ICON_PLACEMENT
|
local ICON_PLACEMENT = require("nvim-tree.enum").ICON_PLACEMENT
|
||||||
|
|
||||||
local Decorator = require "nvim-tree.renderer.decorator"
|
local Decorator = require("nvim-tree.renderer.decorator")
|
||||||
|
|
||||||
---@class HighlightedStringGit: HighlightedString
|
---@class HighlightedStringGit: HighlightedString
|
||||||
---@field ord number decreasing priority
|
---@field ord number decreasing priority
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
local HL_POSITION = require("nvim-tree.enum").HL_POSITION
|
local HL_POSITION = require("nvim-tree.enum").HL_POSITION
|
||||||
local ICON_PLACEMENT = require("nvim-tree.enum").ICON_PLACEMENT
|
local ICON_PLACEMENT = require("nvim-tree.enum").ICON_PLACEMENT
|
||||||
local explorer_node = require "nvim-tree.explorer.node"
|
local explorer_node = require("nvim-tree.explorer.node")
|
||||||
local Decorator = require "nvim-tree.renderer.decorator"
|
local Decorator = require("nvim-tree.renderer.decorator")
|
||||||
|
|
||||||
---@class (exact) DecoratorHidden: Decorator
|
---@class (exact) DecoratorHidden: Decorator
|
||||||
---@field icon HighlightedString|nil
|
---@field icon HighlightedString|nil
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
local buffers = require "nvim-tree.buffers"
|
local buffers = require("nvim-tree.buffers")
|
||||||
|
|
||||||
local HL_POSITION = require("nvim-tree.enum").HL_POSITION
|
local HL_POSITION = require("nvim-tree.enum").HL_POSITION
|
||||||
local ICON_PLACEMENT = require("nvim-tree.enum").ICON_PLACEMENT
|
local ICON_PLACEMENT = require("nvim-tree.enum").ICON_PLACEMENT
|
||||||
|
|
||||||
local Decorator = require "nvim-tree.renderer.decorator"
|
local Decorator = require("nvim-tree.renderer.decorator")
|
||||||
|
|
||||||
---@class (exact) DecoratorModified: Decorator
|
---@class (exact) DecoratorModified: Decorator
|
||||||
---@field icon HighlightedString|nil
|
---@field icon HighlightedString|nil
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
local buffers = require "nvim-tree.buffers"
|
local buffers = require("nvim-tree.buffers")
|
||||||
|
|
||||||
local HL_POSITION = require("nvim-tree.enum").HL_POSITION
|
local HL_POSITION = require("nvim-tree.enum").HL_POSITION
|
||||||
local ICON_PLACEMENT = require("nvim-tree.enum").ICON_PLACEMENT
|
local ICON_PLACEMENT = require("nvim-tree.enum").ICON_PLACEMENT
|
||||||
|
|
||||||
local Decorator = require "nvim-tree.renderer.decorator"
|
local Decorator = require("nvim-tree.renderer.decorator")
|
||||||
|
|
||||||
---@class (exact) DecoratorOpened: Decorator
|
---@class (exact) DecoratorOpened: Decorator
|
||||||
---@field enabled boolean
|
---@field enabled boolean
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
local log = require "nvim-tree.log"
|
local log = require("nvim-tree.log")
|
||||||
local view = require "nvim-tree.view"
|
local view = require("nvim-tree.view")
|
||||||
local events = require "nvim-tree.events"
|
local events = require("nvim-tree.events")
|
||||||
|
|
||||||
local icon_component = require "nvim-tree.renderer.components.icons"
|
local icon_component = require("nvim-tree.renderer.components.icons")
|
||||||
|
|
||||||
local Builder = require "nvim-tree.renderer.builder"
|
local Builder = require("nvim-tree.renderer.builder")
|
||||||
|
|
||||||
local SIGN_GROUP = "NvimTreeRendererSigns"
|
local SIGN_GROUP = "NvimTreeRendererSigns"
|
||||||
|
|
||||||
local namespace_highlights_id = vim.api.nvim_create_namespace "NvimTreeHighlights"
|
local namespace_highlights_id = vim.api.nvim_create_namespace("NvimTreeHighlights")
|
||||||
local namespace_extmarks_id = vim.api.nvim_create_namespace "NvimTreeExtmarks"
|
local namespace_extmarks_id = vim.api.nvim_create_namespace("NvimTreeExtmarks")
|
||||||
local namespace_virtual_lines_id = vim.api.nvim_create_namespace "NvimTreeVirtualLines"
|
local namespace_virtual_lines_id = vim.api.nvim_create_namespace("NvimTreeVirtualLines")
|
||||||
|
|
||||||
---@class (exact) Renderer
|
---@class (exact) Renderer
|
||||||
---@field private __index? table
|
---@field private __index? table
|
||||||
@ -42,7 +42,7 @@ end
|
|||||||
---@param hl_args AddHighlightArgs[]
|
---@param hl_args AddHighlightArgs[]
|
||||||
---@param signs string[]
|
---@param signs string[]
|
||||||
function Renderer:_draw(bufnr, lines, hl_args, signs, extmarks, virtual_lines)
|
function Renderer:_draw(bufnr, lines, hl_args, signs, extmarks, virtual_lines)
|
||||||
if vim.fn.has "nvim-0.10" == 1 then
|
if vim.fn.has("nvim-0.10") == 1 then
|
||||||
vim.api.nvim_set_option_value("modifiable", true, { buf = bufnr })
|
vim.api.nvim_set_option_value("modifiable", true, { buf = bufnr })
|
||||||
else
|
else
|
||||||
vim.api.nvim_buf_set_option(bufnr, "modifiable", true) ---@diagnostic disable-line: deprecated
|
vim.api.nvim_buf_set_option(bufnr, "modifiable", true) ---@diagnostic disable-line: deprecated
|
||||||
@ -51,7 +51,7 @@ function Renderer:_draw(bufnr, lines, hl_args, signs, extmarks, virtual_lines)
|
|||||||
vim.api.nvim_buf_set_lines(bufnr, 0, -1, false, lines)
|
vim.api.nvim_buf_set_lines(bufnr, 0, -1, false, lines)
|
||||||
self:render_hl(bufnr, hl_args)
|
self:render_hl(bufnr, hl_args)
|
||||||
|
|
||||||
if vim.fn.has "nvim-0.10" == 1 then
|
if vim.fn.has("nvim-0.10") == 1 then
|
||||||
vim.api.nvim_set_option_value("modifiable", false, { buf = bufnr })
|
vim.api.nvim_set_option_value("modifiable", false, { buf = bufnr })
|
||||||
else
|
else
|
||||||
vim.api.nvim_buf_set_option(bufnr, "modifiable", false) ---@diagnostic disable-line: deprecated
|
vim.api.nvim_buf_set_option(bufnr, "modifiable", false) ---@diagnostic disable-line: deprecated
|
||||||
@ -104,7 +104,7 @@ function Renderer:draw()
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
local profile = log.profile_start "draw"
|
local profile = log.profile_start("draw")
|
||||||
|
|
||||||
local cursor = vim.api.nvim_win_get_cursor(view.get_winnr() or 0)
|
local cursor = vim.api.nvim_win_get_cursor(view.get_winnr() or 0)
|
||||||
icon_component.reset_config()
|
icon_component.reset_config()
|
||||||
|
|||||||
@ -1,15 +1,15 @@
|
|||||||
local Iterator = require "nvim-tree.iterators.node-iterator"
|
local Iterator = require("nvim-tree.iterators.node-iterator")
|
||||||
local notify = require "nvim-tree.notify"
|
local notify = require("nvim-tree.notify")
|
||||||
|
|
||||||
local M = {
|
local M = {
|
||||||
debouncers = {},
|
debouncers = {},
|
||||||
}
|
}
|
||||||
|
|
||||||
M.is_unix = vim.fn.has "unix" == 1
|
M.is_unix = vim.fn.has("unix") == 1
|
||||||
M.is_macos = vim.fn.has "mac" == 1 or vim.fn.has "macunix" == 1
|
M.is_macos = vim.fn.has("mac") == 1 or vim.fn.has("macunix") == 1
|
||||||
M.is_wsl = vim.fn.has "wsl" == 1
|
M.is_wsl = vim.fn.has("wsl") == 1
|
||||||
-- false for WSL
|
-- false for WSL
|
||||||
M.is_windows = vim.fn.has "win32" == 1 or vim.fn.has "win32unix" == 1
|
M.is_windows = vim.fn.has("win32") == 1 or vim.fn.has("win32unix") == 1
|
||||||
|
|
||||||
---@param haystack string
|
---@param haystack string
|
||||||
---@param needle string
|
---@param needle string
|
||||||
@ -250,7 +250,7 @@ function M.rename_loaded_buffers(old_path, new_path)
|
|||||||
-- to avoid the 'overwrite existing file' error message on write for
|
-- to avoid the 'overwrite existing file' error message on write for
|
||||||
-- normal files
|
-- normal files
|
||||||
local buftype
|
local buftype
|
||||||
if vim.fn.has "nvim-0.10" == 1 then
|
if vim.fn.has("nvim-0.10") == 1 then
|
||||||
buftype = vim.api.nvim_get_option_value("buftype", { buf = buf })
|
buftype = vim.api.nvim_get_option_value("buftype", { buf = buf })
|
||||||
else
|
else
|
||||||
buftype = vim.api.nvim_buf_get_option(buf, "buftype") ---@diagnostic disable-line: deprecated
|
buftype = vim.api.nvim_buf_get_option(buf, "buftype") ---@diagnostic disable-line: deprecated
|
||||||
@ -258,8 +258,8 @@ function M.rename_loaded_buffers(old_path, new_path)
|
|||||||
|
|
||||||
if buftype == "" then
|
if buftype == "" then
|
||||||
vim.api.nvim_buf_call(buf, function()
|
vim.api.nvim_buf_call(buf, function()
|
||||||
vim.cmd "silent! write!"
|
vim.cmd("silent! write!")
|
||||||
vim.cmd "edit"
|
vim.cmd("edit")
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -277,7 +277,7 @@ end
|
|||||||
---@param path string
|
---@param path string
|
||||||
---@return string
|
---@return string
|
||||||
function M.canonical_path(path)
|
function M.canonical_path(path)
|
||||||
if M.is_windows and path:match "^%a:" then
|
if M.is_windows and path:match("^%a:") then
|
||||||
return path:sub(1, 1):upper() .. path:sub(2)
|
return path:sub(1, 1):upper() .. path:sub(2)
|
||||||
end
|
end
|
||||||
return path
|
return path
|
||||||
@ -467,7 +467,7 @@ function M.focus_file(path)
|
|||||||
local _, i = M.find_node(require("nvim-tree.core").get_explorer().nodes, function(node)
|
local _, i = M.find_node(require("nvim-tree.core").get_explorer().nodes, function(node)
|
||||||
return node.absolute_path == path
|
return node.absolute_path == path
|
||||||
end)
|
end)
|
||||||
require("nvim-tree.view").set_cursor { i + 1, 1 }
|
require("nvim-tree.view").set_cursor({ i + 1, 1 })
|
||||||
end
|
end
|
||||||
|
|
||||||
---Focus node passed as parameter if visible, otherwise focus first visible parent.
|
---Focus node passed as parameter if visible, otherwise focus first visible parent.
|
||||||
@ -487,7 +487,7 @@ function M.focus_node_or_parent(node)
|
|||||||
end)
|
end)
|
||||||
|
|
||||||
if found_node or node.parent == nil then
|
if found_node or node.parent == nil then
|
||||||
require("nvim-tree.view").set_cursor { i + 1, 1 }
|
require("nvim-tree.view").set_cursor({ i + 1, 1 })
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -510,7 +510,7 @@ end
|
|||||||
|
|
||||||
function M.clear_prompt()
|
function M.clear_prompt()
|
||||||
if vim.opt.cmdheight._value ~= 0 then
|
if vim.opt.cmdheight._value ~= 0 then
|
||||||
vim.cmd "normal! :"
|
vim.cmd("normal! :")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -567,7 +567,7 @@ function M.is_nvim_tree_buf(bufnr)
|
|||||||
end
|
end
|
||||||
if vim.api.nvim_buf_is_valid(bufnr) then
|
if vim.api.nvim_buf_is_valid(bufnr) then
|
||||||
local bufname = vim.api.nvim_buf_get_name(bufnr)
|
local bufname = vim.api.nvim_buf_get_name(bufnr)
|
||||||
if vim.fn.fnamemodify(bufname, ":t"):match "^NvimTree_[0-9]+$" then
|
if vim.fn.fnamemodify(bufname, ":t"):match("^NvimTree_[0-9]+$") then
|
||||||
if vim.bo[bufnr].filetype == "NvimTree" then
|
if vim.bo[bufnr].filetype == "NvimTree" then
|
||||||
return true
|
return true
|
||||||
elseif vim.fn.filereadable(bufname) == 0 then
|
elseif vim.fn.filereadable(bufname) == 0 then
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
local events = require "nvim-tree.events"
|
local events = require("nvim-tree.events")
|
||||||
local utils = require "nvim-tree.utils"
|
local utils = require("nvim-tree.utils")
|
||||||
local log = require "nvim-tree.log"
|
local log = require("nvim-tree.log")
|
||||||
local notify = require "nvim-tree.notify"
|
local notify = require("nvim-tree.notify")
|
||||||
|
|
||||||
---@class OpenInWinOpts
|
---@class OpenInWinOpts
|
||||||
---@field hijack_current_buf boolean|nil default true
|
---@field hijack_current_buf boolean|nil default true
|
||||||
@ -167,7 +167,7 @@ local function open_window()
|
|||||||
if M.View.float.enable then
|
if M.View.float.enable then
|
||||||
vim.api.nvim_open_win(0, true, open_win_config())
|
vim.api.nvim_open_win(0, true, open_win_config())
|
||||||
else
|
else
|
||||||
vim.api.nvim_command "vsp"
|
vim.api.nvim_command("vsp")
|
||||||
M.reposition_window()
|
M.reposition_window()
|
||||||
end
|
end
|
||||||
setup_tabpage(vim.api.nvim_get_current_tabpage())
|
setup_tabpage(vim.api.nvim_get_current_tabpage())
|
||||||
@ -182,7 +182,7 @@ end
|
|||||||
|
|
||||||
---@return number|nil
|
---@return number|nil
|
||||||
local function get_alt_or_next_buf()
|
local function get_alt_or_next_buf()
|
||||||
local alt_buf = vim.fn.bufnr "#"
|
local alt_buf = vim.fn.bufnr("#")
|
||||||
if is_buf_displayed(alt_buf) then
|
if is_buf_displayed(alt_buf) then
|
||||||
return alt_buf
|
return alt_buf
|
||||||
end
|
end
|
||||||
@ -200,7 +200,7 @@ local function switch_buf_if_last_buf()
|
|||||||
if buf then
|
if buf then
|
||||||
vim.cmd("sb" .. buf)
|
vim.cmd("sb" .. buf)
|
||||||
else
|
else
|
||||||
vim.cmd "new"
|
vim.cmd("new")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -214,7 +214,7 @@ end
|
|||||||
|
|
||||||
---@param tabpage integer
|
---@param tabpage integer
|
||||||
local function close(tabpage)
|
local function close(tabpage)
|
||||||
if not M.is_visible { tabpage = tabpage } then
|
if not M.is_visible({ tabpage = tabpage }) then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
save_tab_state(tabpage)
|
save_tab_state(tabpage)
|
||||||
@ -223,7 +223,7 @@ local function close(tabpage)
|
|||||||
local current_win = vim.api.nvim_get_current_win()
|
local current_win = vim.api.nvim_get_current_win()
|
||||||
for _, win in pairs(vim.api.nvim_tabpage_list_wins(tabpage)) do
|
for _, win in pairs(vim.api.nvim_tabpage_list_wins(tabpage)) do
|
||||||
if vim.api.nvim_win_get_config(win).relative == "" then
|
if vim.api.nvim_win_get_config(win).relative == "" then
|
||||||
local prev_win = vim.fn.winnr "#" -- this tab only
|
local prev_win = vim.fn.winnr("#") -- this tab only
|
||||||
if tree_win == current_win and prev_win > 0 then
|
if tree_win == current_win and prev_win > 0 then
|
||||||
vim.api.nvim_set_current_win(vim.fn.win_getid(prev_win))
|
vim.api.nvim_set_current_win(vim.fn.win_getid(prev_win))
|
||||||
end
|
end
|
||||||
@ -264,7 +264,7 @@ function M.open(options)
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
local profile = log.profile_start "view open"
|
local profile = log.profile_start("view open")
|
||||||
|
|
||||||
create_buffer()
|
create_buffer()
|
||||||
open_window()
|
open_window()
|
||||||
@ -272,7 +272,7 @@ function M.open(options)
|
|||||||
|
|
||||||
local opts = options or { focus_tree = true }
|
local opts = options or { focus_tree = true }
|
||||||
if not opts.focus_tree then
|
if not opts.focus_tree then
|
||||||
vim.cmd "wincmd p"
|
vim.cmd("wincmd p")
|
||||||
end
|
end
|
||||||
events._dispatch_on_tree_open()
|
events._dispatch_on_tree_open()
|
||||||
|
|
||||||
@ -358,7 +358,7 @@ function M.resize(size)
|
|||||||
if new_size ~= vim.api.nvim_win_get_width(winnr) then
|
if new_size ~= vim.api.nvim_win_get_width(winnr) then
|
||||||
vim.api.nvim_win_set_width(winnr, new_size)
|
vim.api.nvim_win_set_width(winnr, new_size)
|
||||||
if not M.View.preserve_window_proportions then
|
if not M.View.preserve_window_proportions then
|
||||||
vim.cmd ":wincmd ="
|
vim.cmd(":wincmd =")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -465,7 +465,7 @@ function M.winid(opts)
|
|||||||
if tabpage == 0 then
|
if tabpage == 0 then
|
||||||
tabpage = vim.api.nvim_get_current_tabpage()
|
tabpage = vim.api.nvim_get_current_tabpage()
|
||||||
end
|
end
|
||||||
if M.is_visible { tabpage = tabpage } then
|
if M.is_visible({ tabpage = tabpage }) then
|
||||||
return M.get_winnr(tabpage)
|
return M.get_winnr(tabpage)
|
||||||
else
|
else
|
||||||
return nil
|
return nil
|
||||||
@ -514,7 +514,7 @@ function M._prevent_buffer_override()
|
|||||||
local curbuf = vim.api.nvim_win_get_buf(curwin)
|
local curbuf = vim.api.nvim_win_get_buf(curwin)
|
||||||
local bufname = vim.api.nvim_buf_get_name(curbuf)
|
local bufname = vim.api.nvim_buf_get_name(curbuf)
|
||||||
|
|
||||||
if not bufname:match "NvimTree" then
|
if not bufname:match("NvimTree") then
|
||||||
for i, tabpage in ipairs(M.View.tabpages) do
|
for i, tabpage in ipairs(M.View.tabpages) do
|
||||||
if tabpage.winnr == view_winnr then
|
if tabpage.winnr == view_winnr then
|
||||||
M.View.tabpages[i] = nil
|
M.View.tabpages[i] = nil
|
||||||
@ -528,9 +528,9 @@ function M._prevent_buffer_override()
|
|||||||
|
|
||||||
-- patch to avoid the overriding window to be fixed in size
|
-- patch to avoid the overriding window to be fixed in size
|
||||||
-- might need a better patch
|
-- might need a better patch
|
||||||
vim.cmd "setlocal nowinfixwidth"
|
vim.cmd("setlocal nowinfixwidth")
|
||||||
vim.cmd "setlocal nowinfixheight"
|
vim.cmd("setlocal nowinfixheight")
|
||||||
M.open { focus_tree = false }
|
M.open({ focus_tree = false })
|
||||||
|
|
||||||
local explorer = require("nvim-tree.core").get_explorer()
|
local explorer = require("nvim-tree.core").get_explorer()
|
||||||
if explorer then
|
if explorer then
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
local notify = require "nvim-tree.notify"
|
local notify = require("nvim-tree.notify")
|
||||||
local log = require "nvim-tree.log"
|
local log = require("nvim-tree.log")
|
||||||
local utils = require "nvim-tree.utils"
|
local utils = require("nvim-tree.utils")
|
||||||
|
|
||||||
local M = {
|
local M = {
|
||||||
config = {},
|
config = {},
|
||||||
@ -79,7 +79,7 @@ function Event:start()
|
|||||||
rc, _, name = self._fs_event:start(self._path, FS_EVENT_FLAGS, event_cb)
|
rc, _, name = self._fs_event:start(self._path, FS_EVENT_FLAGS, event_cb)
|
||||||
if rc ~= 0 then
|
if rc ~= 0 then
|
||||||
if name == "EMFILE" then
|
if name == "EMFILE" then
|
||||||
M.disable_watchers "fs.inotify.max_user_watches exceeded, see https://github.com/nvim-tree/nvim-tree.lua/wiki/Troubleshooting"
|
M.disable_watchers("fs.inotify.max_user_watches exceeded, see https://github.com/nvim-tree/nvim-tree.lua/wiki/Troubleshooting")
|
||||||
else
|
else
|
||||||
notify.warn(string.format("Could not start the fs_event watcher for path %s : %s", self._path, name))
|
notify.warn(string.format("Could not start the fs_event watcher for path %s : %s", self._path, name))
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user