Compare commits
8 Commits
nvim-tree-
...
v1.12
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
be5b788f2d | ||
|
|
64bb47f868 | ||
|
|
c24c0470d9 | ||
|
|
3a63717d3d | ||
|
|
5bea2b3752 | ||
|
|
c3c1935942 | ||
|
|
44d9b58f11 | ||
|
|
c09ff35de5 |
@@ -7,6 +7,9 @@ end_of_line = lf
|
|||||||
[nvim-tree-lua.txt]
|
[nvim-tree-lua.txt]
|
||||||
max_line_length = 78
|
max_line_length = 78
|
||||||
|
|
||||||
|
# keep these in sync with .luarc.json
|
||||||
|
# .editorconfig is used within nvim, overriding .luarc.json
|
||||||
|
# .luarc.json is used by style check
|
||||||
[*.lua]
|
[*.lua]
|
||||||
indent_style = space
|
indent_style = space
|
||||||
max_line_length = 140
|
max_line_length = 140
|
||||||
|
|||||||
63
.github/workflows/ci.yml
vendored
63
.github/workflows/ci.yml
vendored
@@ -20,45 +20,25 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
lua_version: [ 5.1 ]
|
lua_version: [ 5.1 ]
|
||||||
|
luacheck_version: [ 1.2.0 ]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- name: checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- uses: leafo/gh-actions-lua@v10
|
- name: install lua ${{ matrix.lua_version }}
|
||||||
|
uses: leafo/gh-actions-lua@v11
|
||||||
with:
|
with:
|
||||||
luaVersion: ${{ matrix.lua_version }}
|
luaVersion: ${{ matrix.lua_version }}
|
||||||
|
|
||||||
- uses: leafo/gh-actions-luarocks@v4
|
- name: install luarocks
|
||||||
|
uses: leafo/gh-actions-luarocks@v5
|
||||||
|
|
||||||
- run: luarocks install luacheck 1.1.1
|
- name: install luacheck ${{ matrix.luacheck_version }}
|
||||||
|
run: luarocks install luacheck ${{ matrix.luacheck_version }}
|
||||||
|
|
||||||
- run: make lint
|
- run: make lint
|
||||||
|
|
||||||
style:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.workflow }}-${{ matrix.emmy_lua_code_style_version }}-${{ github.head_ref || github.ref_name }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
emmy_lua_code_style_version: [ 1.5.6 ]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: install emmy_lua_code_style
|
|
||||||
run: |
|
|
||||||
mkdir -p CodeFormat
|
|
||||||
curl -L "https://github.com/CppCXY/EmmyLuaCodeStyle/releases/download/${{ matrix.emmy_lua_code_style_version }}/linux-x64.tar.gz" | tar zx --directory CodeFormat
|
|
||||||
|
|
||||||
- run: echo "CodeFormat/linux-x64/bin" >> "$GITHUB_PATH"
|
|
||||||
|
|
||||||
- run: make style
|
|
||||||
|
|
||||||
- run: make style-doc
|
|
||||||
|
|
||||||
check:
|
check:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
@@ -69,26 +49,31 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
nvim_version: [ stable, nightly ]
|
nvim_version: [ stable, nightly ]
|
||||||
luals_version: [ 3.11.0 ]
|
luals_version: [ 3.13.9 ]
|
||||||
|
|
||||||
|
env:
|
||||||
|
VIMRUNTIME: /home/runner/nvim-${{ matrix.nvim_version }}/share/nvim/runtime
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- name: checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- uses: rhysd/action-setup-vim@v1
|
- name: install nvim ${{ matrix.nvim_version }}
|
||||||
|
uses: rhysd/action-setup-vim@v1
|
||||||
with:
|
with:
|
||||||
neovim: true
|
neovim: true
|
||||||
version: ${{ matrix.nvim_version }}
|
version: ${{ matrix.nvim_version }}
|
||||||
|
|
||||||
- name: install luals
|
- name: install lua-language-server ${{ matrix.luals_version }}
|
||||||
run: |
|
run: |
|
||||||
mkdir -p luals
|
mkdir -p luals
|
||||||
curl -L "https://github.com/LuaLS/lua-language-server/releases/download/${{ matrix.luals_version }}/lua-language-server-${{ matrix.luals_version }}-linux-x64.tar.gz" | tar zx --directory luals
|
curl -L "https://github.com/LuaLS/lua-language-server/releases/download/${{ matrix.luals_version }}/lua-language-server-${{ matrix.luals_version }}-linux-x64.tar.gz" | tar zx --directory luals
|
||||||
|
echo "luals/bin" >> "$GITHUB_PATH"
|
||||||
|
|
||||||
- run: echo "luals/bin" >> "$GITHUB_PATH"
|
- run: make check
|
||||||
|
|
||||||
- name: make check
|
|
||||||
env:
|
|
||||||
VIMRUNTIME: /home/runner/nvim-${{ matrix.nvim_version }}/share/nvim/runtime
|
|
||||||
run: make check
|
|
||||||
|
|
||||||
- run: make help-check
|
- run: make help-check
|
||||||
|
|
||||||
|
- run: make style
|
||||||
|
|
||||||
|
- run: make style-doc
|
||||||
|
|||||||
4
.github/workflows/luarocks-release.yml
vendored
4
.github/workflows/luarocks-release.yml
vendored
@@ -1,9 +1,11 @@
|
|||||||
name: Luarocks Release
|
name: Luarocks Release
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
tags:
|
tags:
|
||||||
- 'v[0-9]+.[0-9]+.[0-9]+'
|
- v*
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
luarocks-upload:
|
luarocks-upload:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|||||||
13
.luarc.json
13
.luarc.json
@@ -1,12 +1,23 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://raw.githubusercontent.com/sumneko/vscode-lua/master/setting/schema.json",
|
"$schema": "https://raw.githubusercontent.com/sumneko/vscode-lua/master/setting/schema.json",
|
||||||
"runtime.version.luals-check-only": "Lua 5.1",
|
|
||||||
"workspace": {
|
"workspace": {
|
||||||
"library": [
|
"library": [
|
||||||
"$VIMRUNTIME/lua/vim",
|
"$VIMRUNTIME/lua/vim",
|
||||||
"${3rd}/luv/library"
|
"${3rd}/luv/library"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"format": {
|
||||||
|
"defaultConfig": {
|
||||||
|
"indent_style": "space",
|
||||||
|
"max_line_length": "140",
|
||||||
|
"indent_size": "2",
|
||||||
|
"continuation_indent": "2",
|
||||||
|
"quote_style": "double",
|
||||||
|
"call_arg_parentheses": "always",
|
||||||
|
"space_before_closure_open_parenthesis": "false",
|
||||||
|
"align_continuous_similar_call_args": "true"
|
||||||
|
}
|
||||||
|
},
|
||||||
"diagnostics": {
|
"diagnostics": {
|
||||||
"libraryFiles": "Disable",
|
"libraryFiles": "Disable",
|
||||||
"globals": [],
|
"globals": [],
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
{
|
{
|
||||||
".": "1.11.0"
|
".": "1.12.0"
|
||||||
}
|
}
|
||||||
|
|||||||
14
CHANGELOG.md
14
CHANGELOG.md
@@ -1,5 +1,19 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## [1.12.0](https://github.com/nvim-tree/nvim-tree.lua/compare/nvim-tree-v1.11.0...nvim-tree-v1.12.0) (2025-04-20)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* add TreePreOpen event ([#3105](https://github.com/nvim-tree/nvim-tree.lua/issues/3105)) ([c24c047](https://github.com/nvim-tree/nvim-tree.lua/commit/c24c0470d9de277fbebecd718f33561ed7c90298))
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **#3101:** when renderer.highlight_opened_files = "none" do not reload on BufUnload and BufReadPost ([#3102](https://github.com/nvim-tree/nvim-tree.lua/issues/3102)) ([5bea2b3](https://github.com/nvim-tree/nvim-tree.lua/commit/5bea2b37523a31288e0fcab42f3be5c1bd4516bb))
|
||||||
|
* explicitly set `border` to `"none"` in full name float ([#3094](https://github.com/nvim-tree/nvim-tree.lua/issues/3094)) ([c3c1935](https://github.com/nvim-tree/nvim-tree.lua/commit/c3c193594213c5e2f89ec5d7729cad805f76b256))
|
||||||
|
* reliably dispatch exactly one TreeOpen and TreeClose events ([#3107](https://github.com/nvim-tree/nvim-tree.lua/issues/3107)) ([3a63717](https://github.com/nvim-tree/nvim-tree.lua/commit/3a63717d3d332d8f39aaf65be7a0e4c2265af021))
|
||||||
|
|
||||||
## [1.11.0](https://github.com/nvim-tree/nvim-tree.lua/compare/nvim-tree-v1.10.0...nvim-tree-v1.11.0) (2025-02-22)
|
## [1.11.0](https://github.com/nvim-tree/nvim-tree.lua/compare/nvim-tree-v1.10.0...nvim-tree-v1.11.0) (2025-02-22)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -12,9 +12,9 @@ Language server: [luals](https://luals.github.io)
|
|||||||
|
|
||||||
Lint: [luacheck](https://github.com/lunarmodules/luacheck/)
|
Lint: [luacheck](https://github.com/lunarmodules/luacheck/)
|
||||||
|
|
||||||
Style: [EmmyLuaCodeStyle](https://github.com/CppCXY/EmmyLuaCodeStyle): `CodeCheck`
|
Style Fixing: [EmmyLuaCodeStyle](https://github.com/CppCXY/EmmyLuaCodeStyle): `CodeCheck`
|
||||||
|
|
||||||
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
|
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, using an embedded [EmmyLuaCodeStyle](https://github.com/CppCXY/EmmyLuaCodeStyle)
|
||||||
|
|
||||||
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`
|
||||||
|
|
||||||
@@ -36,14 +36,14 @@ make lint
|
|||||||
|
|
||||||
## style
|
## style
|
||||||
|
|
||||||
1. Runs CodeCheck using `.editorconfig` settings
|
1. Runs lua language server `codestyle-check` only, using `.luarc.json` 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 `CodeCheck` issues via:
|
You can automatically fix style issues using `CodeCheck`:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
make style-fix
|
make style-fix
|
||||||
|
|||||||
2
Makefile
2
Makefile
@@ -17,7 +17,7 @@ luacheck:
|
|||||||
|
|
||||||
# --diagnosis-as-error does not function for workspace, hence we post-process the output
|
# --diagnosis-as-error does not function for workspace, hence we post-process the output
|
||||||
style-check:
|
style-check:
|
||||||
CodeFormat check --config .editorconfig --diagnosis-as-error --workspace lua
|
@scripts/luals-check.sh codestyle-check
|
||||||
|
|
||||||
style-doc:
|
style-doc:
|
||||||
scripts/doc-comments.sh
|
scripts/doc-comments.sh
|
||||||
|
|||||||
@@ -2769,13 +2769,21 @@ e.g. handler for node renamed: >lua
|
|||||||
|nvim_tree_events_kind|
|
|nvim_tree_events_kind|
|
||||||
|
|
||||||
- Event.Ready
|
- Event.Ready
|
||||||
When NvimTree has been initialized
|
When NvimTree has been initialized.
|
||||||
|
• Note: Handler takes no parameter.
|
||||||
|
|
||||||
|
- Event.TreePreOpen
|
||||||
|
Invoked before the window and buffer for NvimTree are created
|
||||||
|
or opened. Before |Event.TreeOpen| event.
|
||||||
• Note: Handler takes no parameter.
|
• Note: Handler takes no parameter.
|
||||||
|
|
||||||
- Event.TreeOpen
|
- Event.TreeOpen
|
||||||
|
Invoked after the NvimTree is opened.
|
||||||
• Note: Handler takes no parameter.
|
• Note: Handler takes no parameter.
|
||||||
|
|
||||||
- Event.TreeClose
|
- Event.TreeClose
|
||||||
|
Invoked after the NvimTree is closed, but before the window is
|
||||||
|
closed. Dispatched on |WinClosed| event for NvimTree window.
|
||||||
• Note: Handler takes no parameter.
|
• Note: Handler takes no parameter.
|
||||||
|
|
||||||
- Event.Resize - When NvimTree is resized.
|
- Event.Resize - When NvimTree is resized.
|
||||||
|
|||||||
@@ -236,6 +236,17 @@ local function setup_autocommands(opts)
|
|||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Handles event dispatch when tree is closed by `:q`
|
||||||
|
create_nvim_tree_autocmd("WinClosed", {
|
||||||
|
pattern = "*",
|
||||||
|
---@param ev vim.api.keyset.create_autocmd.callback_args
|
||||||
|
callback = function(ev)
|
||||||
|
if vim.api.nvim_get_option_value("filetype", { buf = ev.buf }) == "NvimTree" then
|
||||||
|
require("nvim-tree.events")._dispatch_on_tree_close()
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
local DEFAULT_OPTS = { -- BEGIN_DEFAULT_OPTS
|
local DEFAULT_OPTS = { -- BEGIN_DEFAULT_OPTS
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ M.Event = {
|
|||||||
Ready = "Ready",
|
Ready = "Ready",
|
||||||
WillRenameNode = "WillRenameNode",
|
WillRenameNode = "WillRenameNode",
|
||||||
NodeRenamed = "NodeRenamed",
|
NodeRenamed = "NodeRenamed",
|
||||||
|
TreePreOpen = "TreePreOpen",
|
||||||
TreeOpen = "TreeOpen",
|
TreeOpen = "TreeOpen",
|
||||||
TreeClose = "TreeClose",
|
TreeClose = "TreeClose",
|
||||||
WillCreateFile = "WillCreateFile",
|
WillCreateFile = "WillCreateFile",
|
||||||
@@ -91,6 +92,11 @@ function M._dispatch_folder_removed(folder_name)
|
|||||||
dispatch(M.Event.FolderRemoved, { folder_name = folder_name })
|
dispatch(M.Event.FolderRemoved, { folder_name = folder_name })
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--@private
|
||||||
|
function M._dispatch_on_tree_pre_open()
|
||||||
|
dispatch(M.Event.TreePreOpen, nil)
|
||||||
|
end
|
||||||
|
|
||||||
--@private
|
--@private
|
||||||
function M._dispatch_on_tree_open()
|
function M._dispatch_on_tree_open()
|
||||||
dispatch(M.Event.TreeOpen, nil)
|
dispatch(M.Event.TreeOpen, nil)
|
||||||
|
|||||||
@@ -101,10 +101,19 @@ function Explorer:create_autocmds()
|
|||||||
vim.api.nvim_create_autocmd("BufReadPost", {
|
vim.api.nvim_create_autocmd("BufReadPost", {
|
||||||
group = self.augroup_id,
|
group = self.augroup_id,
|
||||||
callback = function(data)
|
callback = function(data)
|
||||||
if (self.filters.state.no_buffer or self.opts.highlight_opened_files ~= "none") and vim.bo[data.buf].buftype == "" then
|
-- only handle normal files
|
||||||
|
if vim.bo[data.buf].buftype ~= "" then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
if self.filters.state.no_buffer then
|
||||||
|
-- full reload is required to update the filter state
|
||||||
utils.debounce("Buf:filter_buffer_" .. self.uid_explorer, self.opts.view.debounce_delay, function()
|
utils.debounce("Buf:filter_buffer_" .. self.uid_explorer, self.opts.view.debounce_delay, function()
|
||||||
self:reload_explorer()
|
self:reload_explorer()
|
||||||
end)
|
end)
|
||||||
|
elseif self.opts.renderer.highlight_opened_files ~= "none" then
|
||||||
|
-- draw to update opened highlight
|
||||||
|
self.renderer:draw()
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
@@ -113,10 +122,21 @@ function Explorer:create_autocmds()
|
|||||||
vim.api.nvim_create_autocmd("BufUnload", {
|
vim.api.nvim_create_autocmd("BufUnload", {
|
||||||
group = self.augroup_id,
|
group = self.augroup_id,
|
||||||
callback = function(data)
|
callback = function(data)
|
||||||
if (self.filters.state.no_buffer or self.opts.highlight_opened_files ~= "none") and vim.bo[data.buf].buftype == "" then
|
-- only handle normal files
|
||||||
|
if vim.bo[data.buf].buftype ~= "" then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
if self.filters.state.no_buffer then
|
||||||
|
-- full reload is required to update the filter state
|
||||||
utils.debounce("Buf:filter_buffer_" .. self.uid_explorer, self.opts.view.debounce_delay, function()
|
utils.debounce("Buf:filter_buffer_" .. self.uid_explorer, self.opts.view.debounce_delay, function()
|
||||||
self:reload_explorer()
|
self:reload_explorer()
|
||||||
end)
|
end)
|
||||||
|
elseif self.opts.renderer.highlight_opened_files ~= "none" then
|
||||||
|
-- draw to update opened highlight; must be delayed as the buffer is still loaded during BufUnload
|
||||||
|
vim.schedule(function()
|
||||||
|
self.renderer:draw()
|
||||||
|
end)
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
@@ -214,8 +234,9 @@ function Explorer:reload(node, project)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local abs = utils.path_join({ cwd, name })
|
local abs = utils.path_join({ cwd, name })
|
||||||
---@type uv.fs_stat.result|nil
|
|
||||||
local stat = vim.loop.fs_lstat(abs)
|
-- path incorrectly specified as an integer
|
||||||
|
local stat = vim.loop.fs_lstat(abs) ---@diagnostic disable-line param-type-mismatch
|
||||||
|
|
||||||
local filter_reason = self.filters:should_filter_as_reason(abs, stat, filter_status)
|
local filter_reason = self.filters:should_filter_as_reason(abs, stat, filter_status)
|
||||||
if filter_reason == FILTER_REASON.none then
|
if filter_reason == FILTER_REASON.none then
|
||||||
@@ -373,8 +394,9 @@ function Explorer:populate_children(handle, cwd, node, project, parent)
|
|||||||
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)
|
||||||
|
|
||||||
---@type uv.fs_stat.result|nil
|
-- path incorrectly specified as an integer
|
||||||
local stat = vim.loop.fs_lstat(abs)
|
local stat = vim.loop.fs_lstat(abs) ---@diagnostic disable-line param-type-mismatch
|
||||||
|
|
||||||
local filter_reason = parent.filters:should_filter_as_reason(abs, stat, filter_status)
|
local filter_reason = parent.filters:should_filter_as_reason(abs, stat, filter_status)
|
||||||
if filter_reason == FILTER_REASON.none and not nodes_by_path[abs] then
|
if filter_reason == FILTER_REASON.none and not nodes_by_path[abs] then
|
||||||
local child = node_factory.create({
|
local child = node_factory.create({
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
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 events = require("nvim-tree.events")
|
|
||||||
local notify = require("nvim-tree.notify")
|
local notify = require("nvim-tree.notify")
|
||||||
|
|
||||||
---@class LibOpenOpts
|
---@class LibOpenOpts
|
||||||
@@ -130,7 +129,6 @@ function M.open(opts)
|
|||||||
open_view_and_draw()
|
open_view_and_draw()
|
||||||
end
|
end
|
||||||
view.restore_tab_state()
|
view.restore_tab_state()
|
||||||
events._dispatch_on_tree_open()
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function M.setup(opts)
|
function M.setup(opts)
|
||||||
|
|||||||
@@ -64,6 +64,7 @@ local function show()
|
|||||||
height = 1,
|
height = 1,
|
||||||
noautocmd = true,
|
noautocmd = true,
|
||||||
style = "minimal",
|
style = "minimal",
|
||||||
|
border = "none"
|
||||||
})
|
})
|
||||||
|
|
||||||
local ns_id = vim.api.nvim_get_namespaces()["NvimTreeHighlights"]
|
local ns_id = vim.api.nvim_get_namespaces()["NvimTreeHighlights"]
|
||||||
|
|||||||
@@ -254,7 +254,6 @@ local function close(tabpage)
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
events._dispatch_on_tree_close()
|
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -289,6 +288,7 @@ function M.open(options)
|
|||||||
|
|
||||||
local profile = log.profile_start("view open")
|
local profile = log.profile_start("view open")
|
||||||
|
|
||||||
|
events._dispatch_on_tree_pre_open()
|
||||||
create_buffer()
|
create_buffer()
|
||||||
open_window()
|
open_window()
|
||||||
M.resize()
|
M.resize()
|
||||||
@@ -414,6 +414,7 @@ end
|
|||||||
---@param opts OpenInWinOpts|nil
|
---@param opts OpenInWinOpts|nil
|
||||||
function M.open_in_win(opts)
|
function M.open_in_win(opts)
|
||||||
opts = opts or { hijack_current_buf = true, resize = true }
|
opts = opts or { hijack_current_buf = true, resize = true }
|
||||||
|
events._dispatch_on_tree_pre_open()
|
||||||
if opts.winid and vim.api.nvim_win_is_valid(opts.winid) then
|
if opts.winid and vim.api.nvim_win_is_valid(opts.winid) then
|
||||||
vim.api.nvim_set_current_win(opts.winid)
|
vim.api.nvim_set_current_win(opts.winid)
|
||||||
end
|
end
|
||||||
@@ -425,6 +426,7 @@ function M.open_in_win(opts)
|
|||||||
M.reposition_window()
|
M.reposition_window()
|
||||||
M.resize()
|
M.resize()
|
||||||
end
|
end
|
||||||
|
events._dispatch_on_tree_open()
|
||||||
end
|
end
|
||||||
|
|
||||||
function M.abandon_current_window()
|
function M.abandon_current_window()
|
||||||
|
|||||||
@@ -4,6 +4,8 @@
|
|||||||
# luals-out/check.json will be produced on any issues, returning 1.
|
# luals-out/check.json will be produced on any issues, returning 1.
|
||||||
# Outputs only check.json to stdout, all other messages to stderr, to allow jq etc.
|
# Outputs only check.json to stdout, all other messages to stderr, to allow jq etc.
|
||||||
# $VIMRUNTIME specifies neovim runtime path, defaults to "/usr/share/nvim/runtime" if unset.
|
# $VIMRUNTIME specifies neovim runtime path, defaults to "/usr/share/nvim/runtime" if unset.
|
||||||
|
#
|
||||||
|
# Call with codestyle-check param to enable only codestyle-check
|
||||||
|
|
||||||
if [ -z "${VIMRUNTIME}" ]; then
|
if [ -z "${VIMRUNTIME}" ]; then
|
||||||
export VIMRUNTIME="/usr/share/nvim/runtime"
|
export VIMRUNTIME="/usr/share/nvim/runtime"
|
||||||
@@ -17,11 +19,24 @@ FILE_LUARC="${DIR_OUT}/luarc.json"
|
|||||||
rm -rf "${DIR_OUT}"
|
rm -rf "${DIR_OUT}"
|
||||||
mkdir "${DIR_OUT}"
|
mkdir "${DIR_OUT}"
|
||||||
|
|
||||||
# Uncomment runtime.version for strict neovim baseline 5.1
|
case "${1}" in
|
||||||
# It is not set normally, to prevent luals loading 5.1 and 5.x, resulting in both versions being chosen on vim.lsp.buf.definition()
|
"codestyle-check")
|
||||||
cat "${PWD}/.luarc.json" | sed -E 's/.luals-check-only//g' > "${FILE_LUARC}"
|
jq \
|
||||||
|
'.diagnostics.neededFileStatus[] = "None" | .diagnostics.neededFileStatus."codestyle-check" = "Any"' \
|
||||||
|
"${PWD}/.luarc.json" > "${FILE_LUARC}"
|
||||||
|
|
||||||
# execute inside lua to prevent luals itself from being checked
|
;;
|
||||||
|
*)
|
||||||
|
# Add runtime.version for strict neovim baseline 5.1
|
||||||
|
# It is not set normally, to prevent luals loading 5.1 and 5.x, resulting in both versions being chosen on vim.lsp.buf.definition
|
||||||
|
jq \
|
||||||
|
'."runtime.version" = "Lua 5.1"' \
|
||||||
|
"${PWD}/.luarc.json" > "${FILE_LUARC}"
|
||||||
|
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# execute inside lua directory to prevent luals itself from being checked
|
||||||
OUT=$(lua-language-server --check="${DIR_SRC}" --configpath="${FILE_LUARC}" --checklevel=Information --logpath="${DIR_OUT}" --loglevel=error)
|
OUT=$(lua-language-server --check="${DIR_SRC}" --configpath="${FILE_LUARC}" --checklevel=Information --logpath="${DIR_OUT}" --loglevel=error)
|
||||||
RC=$?
|
RC=$?
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user