From 1e1e4066b11fb34933a3adb97ce8492f9f3ae309 Mon Sep 17 00:00:00 2001 From: monkoose Date: Wed, 11 Sep 2024 07:55:37 +0300 Subject: [PATCH 1/2] fix(health): return correct name from 'path2name()' `path2name()` function doesn't process `'pluginname/health/init.lua'` correctly. Instead of retruning `'pluginname'` it returns `'pluginname.health'` (cherry picked from commit 237d2aef4d706a787e940670072839f82da41046) --- runtime/lua/vim/health.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/runtime/lua/vim/health.lua b/runtime/lua/vim/health.lua index 110a98f40a..385e4acf7f 100644 --- a/runtime/lua/vim/health.lua +++ b/runtime/lua/vim/health.lua @@ -350,8 +350,8 @@ local path2name = function(path) -- Remove everything up to the last /lua/ folder path = path:gsub('^.*/lua/', '') - -- Remove the filename (health.lua) - path = vim.fs.dirname(path) + -- Remove the filename (health.lua) or (health/init.lua) + path = vim.fs.dirname(path:gsub('/init%.lua$', '')) -- Change slashes to dots path = path:gsub('/', '.') From 61b0816790d483dbe8fe34df0115aee831bfe2f6 Mon Sep 17 00:00:00 2001 From: "Justin M. Keyes" Date: Wed, 11 Sep 2024 11:40:56 +0200 Subject: [PATCH 2/2] test(health): "test_plug/health/init.lua" completes as "test_plug" (cherry picked from commit 7b680e0ca995cacadd9e7c8cb13d5f6ef203694a) --- test/functional/plugin/health_spec.lua | 30 ++++++++++++++------------ 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/test/functional/plugin/health_spec.lua b/test/functional/plugin/health_spec.lua index 78cffd07fb..e0883db7e1 100644 --- a/test/functional/plugin/health_spec.lua +++ b/test/functional/plugin/health_spec.lua @@ -5,7 +5,7 @@ local Screen = require('test.functional.ui.screen') local clear = n.clear local curbuf_contents = n.curbuf_contents local command = n.command -local eq, neq, matches = t.eq, t.neq, t.matches +local eq, matches = t.eq, t.matches local getcompletion = n.fn.getcompletion local insert = n.insert local exec_lua = n.exec_lua @@ -40,12 +40,18 @@ describe(':checkhealth', function() matches('ERROR $VIM .* zub', curbuf_contents()) end) - it('completions can be listed via getcompletion()', function() - clear() - eq('nvim', getcompletion('nvim', 'checkhealth')[1]) - eq('provider.clipboard', getcompletion('prov', 'checkhealth')[1]) - eq('vim.lsp', getcompletion('vim.ls', 'checkhealth')[1]) - neq('vim', getcompletion('^vim', 'checkhealth')[1]) -- should not complete vim.health + it('getcompletion()', function() + clear { args = { '-u', 'NORC', '+set runtimepath+=test/functional/fixtures' } } + + -- "test_plug/health/init.lua" should complete as "test_plug", not "test_plug.health". #30342 + eq({ + 'test_plug', + 'test_plug.full_render', + 'test_plug.submodule', + 'test_plug.submodule_empty', + 'test_plug.success1', + 'test_plug.success2', + }, getcompletion('test_plug', 'checkhealth')) end) it('completion checks for vim.health._complete() return type #28456', function() @@ -58,11 +64,9 @@ describe(':checkhealth', function() end) end) -describe('health.vim', function() +describe('vim.health', function() before_each(function() - clear { args = { '-u', 'NORC' } } - -- Provides healthcheck functions - command('set runtimepath+=test/functional/fixtures') + clear { args = { '-u', 'NORC', '+set runtimepath+=test/functional/fixtures' } } end) describe(':checkhealth', function() @@ -208,9 +212,7 @@ end) describe(':checkhealth window', function() before_each(function() - clear { args = { '-u', 'NORC' } } - -- Provides healthcheck functions - command('set runtimepath+=test/functional/fixtures') + clear { args = { '-u', 'NORC', '+set runtimepath+=test/functional/fixtures' } } command('set nofoldenable nowrap laststatus=0') end)