Compare commits
7 Commits
nvim-tree-
...
v1.3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2bc725a3eb | ||
|
|
340d3a9795 | ||
|
|
edd4e25fd4 | ||
|
|
78c4c083ed | ||
|
|
acffab931a | ||
|
|
64f61e4c91 | ||
|
|
347e1eb352 |
37
.github/workflows/luarocks.yml
vendored
Normal file
37
.github/workflows/luarocks.yml
vendored
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
name: Release
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- 'v[0-9]+.[0-9]+.[0-9]+'
|
||||||
|
workflow_dispatch:
|
||||||
|
jobs:
|
||||||
|
luarocks-upload:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: LuaRocks Upload
|
||||||
|
uses: nvim-neorocks/luarocks-tag-release@v5
|
||||||
|
env:
|
||||||
|
LUAROCKS_API_KEY: ${{ secrets.LUAROCKS_API_KEY }}
|
||||||
|
with:
|
||||||
|
summary: A File Explorer For Neovim
|
||||||
|
detailed_description: |
|
||||||
|
Automatic updates
|
||||||
|
|
||||||
|
File type icons
|
||||||
|
|
||||||
|
Git integration
|
||||||
|
|
||||||
|
Diagnostics integration - LSP and COC
|
||||||
|
|
||||||
|
(Live) filtering
|
||||||
|
|
||||||
|
Cut, copy, paste, rename, delete, create etc.
|
||||||
|
|
||||||
|
Highly customisable
|
||||||
|
|
||||||
|
Rich API
|
||||||
|
license: "GPL-3.0"
|
||||||
|
labels: neovim
|
||||||
|
dependencies: |
|
||||||
|
nvim-web-devicons
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
{
|
{
|
||||||
".": "1.3.1"
|
".": "1.3.3"
|
||||||
}
|
}
|
||||||
|
|||||||
16
CHANGELOG.md
16
CHANGELOG.md
@@ -1,5 +1,21 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## [1.3.3](https://github.com/nvim-tree/nvim-tree.lua/compare/nvim-tree-v1.3.2...nvim-tree-v1.3.3) (2024-05-14)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* nil access exception with git integration when changing branches ([#2774](https://github.com/nvim-tree/nvim-tree.lua/issues/2774)) ([340d3a9](https://github.com/nvim-tree/nvim-tree.lua/commit/340d3a9795e06bdd1814228de398cd510f9bfbb0))
|
||||||
|
|
||||||
|
## [1.3.2](https://github.com/nvim-tree/nvim-tree.lua/compare/nvim-tree-v1.3.1...nvim-tree-v1.3.2) (2024-05-12)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **#2758:** use nvim-webdevicons default file icon, not renderer.icons.glyphs.default, as per :help ([#2759](https://github.com/nvim-tree/nvim-tree.lua/issues/2759)) ([347e1eb](https://github.com/nvim-tree/nvim-tree.lua/commit/347e1eb35264677f66a79466bb5e3d111968e12c))
|
||||||
|
* **#2758:** use nvim-webdevicons default for default files ([347e1eb](https://github.com/nvim-tree/nvim-tree.lua/commit/347e1eb35264677f66a79466bb5e3d111968e12c))
|
||||||
|
* **#925:** handle newlines in file names ([#2754](https://github.com/nvim-tree/nvim-tree.lua/issues/2754)) ([64f61e4](https://github.com/nvim-tree/nvim-tree.lua/commit/64f61e4c913047a045ff90bd188dd3b54ee443cf))
|
||||||
|
|
||||||
## [1.3.1](https://github.com/nvim-tree/nvim-tree.lua/compare/nvim-tree-v1.3.0...nvim-tree-v1.3.1) (2024-04-25)
|
## [1.3.1](https://github.com/nvim-tree/nvim-tree.lua/compare/nvim-tree-v1.3.0...nvim-tree-v1.3.1) (2024-04-25)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -268,13 +268,14 @@ local function open_in_new_window(filename, mode)
|
|||||||
local fname = vim.fn.fnameescape(filename)
|
local fname = vim.fn.fnameescape(filename)
|
||||||
fname = utils.escape_special_chars(fname)
|
fname = utils.escape_special_chars(fname)
|
||||||
|
|
||||||
local cmd
|
local command
|
||||||
if create_new_window then
|
if create_new_window then
|
||||||
cmd = string.format("%s vsplit %s", new_window_side, fname)
|
-- generated from vim.api.nvim_parse_cmd("belowright vsplit foo", {})
|
||||||
|
command = { cmd = "vsplit", mods = { split = new_window_side }, args = { fname } }
|
||||||
elseif mode:match "split$" then
|
elseif mode:match "split$" then
|
||||||
cmd = string.format("%s %s", mode, fname)
|
command = { cmd = mode, args = { fname } }
|
||||||
else
|
else
|
||||||
cmd = string.format("edit %s", fname)
|
command = { cmd = "edit", args = { fname } }
|
||||||
end
|
end
|
||||||
|
|
||||||
if (mode == "preview" or mode == "preview_no_picker") and view.View.float.enable then
|
if (mode == "preview" or mode == "preview_no_picker") and view.View.float.enable then
|
||||||
@@ -286,7 +287,7 @@ local function open_in_new_window(filename, mode)
|
|||||||
set_current_win_no_autocmd(target_winid, { "BufEnter" })
|
set_current_win_no_autocmd(target_winid, { "BufEnter" })
|
||||||
end
|
end
|
||||||
|
|
||||||
pcall(vim.cmd, cmd)
|
pcall(vim.cmd, command)
|
||||||
lib.set_target_win()
|
lib.set_target_win()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ end
|
|||||||
---@param absolute_path string
|
---@param absolute_path string
|
||||||
---@return GitStatus
|
---@return GitStatus
|
||||||
local function get_git_status(parent_ignored, status, absolute_path)
|
local function get_git_status(parent_ignored, status, absolute_path)
|
||||||
local file_status = parent_ignored and "!!" or status.files and status.files[absolute_path]
|
local file_status = parent_ignored and "!!" or (status and status.files and status.files[absolute_path])
|
||||||
return { file = file_status }
|
return { file = file_status }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -422,11 +422,21 @@ function Builder:build_header()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
---Sanitize lines for rendering.
|
||||||
|
---Replace newlines with literal \n
|
||||||
|
---@private
|
||||||
|
function Builder:sanitize_lines()
|
||||||
|
self.lines = vim.tbl_map(function(line)
|
||||||
|
return line and line:gsub("\n", "\\n") or ""
|
||||||
|
end, self.lines)
|
||||||
|
end
|
||||||
|
|
||||||
---Build all lines with highlights and signs
|
---Build all lines with highlights and signs
|
||||||
---@return Builder
|
---@return Builder
|
||||||
function Builder:build()
|
function Builder:build()
|
||||||
self:build_header()
|
self:build_header()
|
||||||
self:build_lines()
|
self:build_lines()
|
||||||
|
self:sanitize_lines()
|
||||||
return self
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -64,10 +64,15 @@ local function get_file_icon_webdev(fname, extension)
|
|||||||
elseif string.match(extension, "%.(.*)") then
|
elseif string.match(extension, "%.(.*)") then
|
||||||
-- If there are more extensions to the file, try to grab the icon for them recursively
|
-- If there are more extensions to the file, try to grab the icon for them recursively
|
||||||
return get_file_icon_webdev(fname, string.match(extension, "%.(.*)"))
|
return get_file_icon_webdev(fname, string.match(extension, "%.(.*)"))
|
||||||
|
else
|
||||||
|
local devicons_default = M.devicons.get_default_icon()
|
||||||
|
if devicons_default and type(devicons_default.icon) == "string" and type(devicons_default.name) == "string" then
|
||||||
|
return devicons_default.icon, "DevIcon" .. devicons_default.name
|
||||||
else
|
else
|
||||||
return get_file_icon_default()
|
return get_file_icon_default()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
local function config_file_icon()
|
local function config_file_icon()
|
||||||
if M.config.show.file then
|
if M.config.show.file then
|
||||||
|
|||||||
Reference in New Issue
Block a user