diff options
| author | William Boman <william@redwill.se> | 2025-07-29 21:50:09 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-29 19:50:09 +0000 |
| commit | 8465e6e752f2217988887ead42a053dcf74ade54 (patch) | |
| tree | 9c6139e522dcde31d3369b360d8f7b4499cbb89d /lua | |
| parent | docs: fix sponsors link (#599) (diff) | |
| download | mason-lspconfig-8465e6e752f2217988887ead42a053dcf74ade54.tar mason-lspconfig-8465e6e752f2217988887ead42a053dcf74ade54.tar.gz mason-lspconfig-8465e6e752f2217988887ead42a053dcf74ade54.tar.bz2 mason-lspconfig-8465e6e752f2217988887ead42a053dcf74ade54.tar.lz mason-lspconfig-8465e6e752f2217988887ead42a053dcf74ade54.tar.xz mason-lspconfig-8465e6e752f2217988887ead42a053dcf74ade54.tar.zst mason-lspconfig-8465e6e752f2217988887ead42a053dcf74ade54.zip | |
perf: cache registry specs (#598)
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/mason-lspconfig/mappings.lua | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lua/mason-lspconfig/mappings.lua b/lua/mason-lspconfig/mappings.lua index c40853f..b35308f 100644 --- a/lua/mason-lspconfig/mappings.lua +++ b/lua/mason-lspconfig/mappings.lua @@ -3,10 +3,15 @@ local registry = require "mason-registry" local M = {} +local cached_specs = _.lazy(registry.get_all_package_specs) +registry:on("update:success", function() + cached_specs = _.lazy(registry.get_all_package_specs) +end) + function M.get_mason_map() ---@type table<string, string> local package_to_lspconfig = {} - for _, pkg_spec in ipairs(registry.get_all_package_specs()) do + for _, pkg_spec in ipairs(cached_specs()) do local lspconfig = vim.tbl_get(pkg_spec, "neovim", "lspconfig") if lspconfig then package_to_lspconfig[pkg_spec.name] = lspconfig |
