Skip to content

Commit

Permalink
feat: lazier loading for third party plugins
Browse files Browse the repository at this point in the history
  • Loading branch information
stevearc committed Oct 27, 2022
1 parent d453a73 commit 4c6f8aa
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 8 deletions.
5 changes: 5 additions & 0 deletions lua/aerial/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -311,6 +311,11 @@ M.setup = function(opts)
end
end

---Synchronously complete setup (if lazy-loaded)
M.sync_load = function()
do_setup()
end

---Returns true if aerial is open for the current window or buffer (returns false inside an aerial buffer)
---@param opts nil|table
--- bufnr nil|integer
Expand Down
3 changes: 2 additions & 1 deletion lua/lualine/components/aerial.lua
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@
local M = require("lualine.component"):extend()
local aerial = require("aerial")
local utils = require("lualine.utils.utils")
local identifiers = require("aerial.highlight").identifiers

local default_options = {
sep = "",
Expand All @@ -56,6 +55,7 @@ local default_options = {
}

function M:color_for_lualine()
local identifiers = require("aerial.highlight").identifiers
self.highlight_groups = {}
for _, symbol_kind in ipairs(identifiers) do
local hl = "Aerial" .. symbol_kind
Expand Down Expand Up @@ -105,6 +105,7 @@ function M:init(options)
self.options.colored = true
end
if self.options.colored then
aerial.sync_load()
require("aerial.highlight").create_highlight_groups()
self:color_for_lualine()
end
Expand Down
6 changes: 4 additions & 2 deletions lua/resession/extensions/aerial.lua
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
local window = require("aerial.window")
local util = require("aerial.util")
local M = {}

M.on_save = function() end
M.on_load = function() end

M.is_win_supported = function(winid, bufnr)
local util = require("aerial.util")
return util.is_aerial_buffer(bufnr)
end

M.save_win = function(winid)
local util = require("aerial.util")
local source_win = util.get_source_win(winid)
local rel_nr = vim.api.nvim_win_get_number(source_win) - vim.api.nvim_win_get_number(winid)
local bufnr = util.get_source_buffer(vim.api.nvim_win_get_buf(winid))
Expand All @@ -20,6 +20,8 @@ M.save_win = function(winid)
end

M.load_win = function(winid, config)
require("aerial").sync_load()
local window = require("aerial.window")
local source_nr = vim.api.nvim_win_get_number(winid) + config.rel_nr
local source_win = vim.api.nvim_tabpage_list_wins(0)[source_nr]
vim.defer_fn(function()
Expand Down
11 changes: 6 additions & 5 deletions lua/telescope/_extensions/aerial.lua
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
local backends = require("aerial.backends")
local config = require("aerial.config")
local data = require("aerial.data")
local util = require("aerial.util")

local conf = require("telescope.config").values
local entry_display = require("telescope.pickers.entry_display")
local finders = require("telescope.finders")
Expand All @@ -19,6 +14,12 @@ local ext_config = {

local function aerial_picker(opts)
opts = opts or {}
require("aerial").sync_load()
local backends = require("aerial.backends")
local config = require("aerial.config")
local data = require("aerial.data")
local util = require("aerial.util")

local bufnr = vim.api.nvim_get_current_buf()
local filename = vim.api.nvim_buf_get_name(0)
local filetype = vim.api.nvim_buf_get_option(bufnr, "filetype")
Expand Down

0 comments on commit 4c6f8aa

Please sign in to comment.