aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--runtime/autoload/health.vim23
1 files changed, 11 insertions, 12 deletions
diff --git a/runtime/autoload/health.vim b/runtime/autoload/health.vim
index 579db62cb8..73c1459f86 100644
--- a/runtime/autoload/health.vim
+++ b/runtime/autoload/health.vim
@@ -181,21 +181,20 @@ function! s:get_healthcheck(plugin_names) abort
let health_list = s:get_healthcheck_list(a:plugin_names)
let healthchecks = {}
for c in health_list
- let name = c[0]
- let existent = get(healthchecks, name, [])
- " If an entry with the same name exists and is from vim, prefer Lua so
- " overwrite it.
- if existent != []
- if existent[1] == "v"
- let healthchecks[name] = c[1:]
- else
- continue
- endif
+ let normalized_name = substitute(c[0], '-', '_', 'g')
+ let existent = get(healthchecks, normalized_name, [])
+ " Prefer Lua over vim entries
+ if existent != [] && existent[2] == 'l'
+ continue
else
- let healthchecks[name] = c[1:]
+ let healthchecks[normalized_name] = c
endif
endfor
- return healthchecks
+ let output = {}
+ for v in values(healthchecks)
+ let output[v[0]] = v[1:]
+ endfor
+ return output
endfunction
" Returns list of lists [ [{name}, {func}, {type}] ] representing healthchecks