From efe9e99c3c73e368d763ed1f14a7905f8e5ea370 Mon Sep 17 00:00:00 2001 From: yetone Date: Fri, 16 Aug 2024 16:18:41 +0800 Subject: [PATCH] fix(autocmd): make sure to load tiktoken on correct events (manually cherry-pick) --- lua/avante/init.lua | 20 ++++++++++++++++---- lua/avante/sidebar.lua | 3 --- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/lua/avante/init.lua b/lua/avante/init.lua index 41156a424..c20b9a9b1 100644 --- a/lua/avante/init.lua +++ b/lua/avante/init.lua @@ -1,26 +1,38 @@ local M = {} +local tiktoken = require("avante.tiktoken") local sidebar = require("avante.sidebar") local config = require("avante.config") +local api = vim.api + function M.setup(opts) + local load_path = function() + require("tiktoken_lib").load() + + tiktoken.setup("gpt-4o") + end + local ok, LazyConfig = pcall(require, "lazy.core.config") if ok then local name = "avante.nvim" if LazyConfig.plugins[name] and LazyConfig.plugins[name]._.loaded then - vim.schedule(function() - require("tiktoken_lib").load() - end) + vim.schedule(load_path) else vim.api.nvim_create_autocmd("User", { pattern = "LazyLoad", callback = function(event) if event.data == name then - require("tiktoken_lib").load() + load_path() return true end end, }) end + + api.nvim_create_autocmd("User", { + pattern = "VeryLazy", + callback = load_path, + }) end config.update(opts) diff --git a/lua/avante/sidebar.lua b/lua/avante/sidebar.lua index 9188a3471..93413901e 100644 --- a/lua/avante/sidebar.lua +++ b/lua/avante/sidebar.lua @@ -2,7 +2,6 @@ local M = {} local Path = require("plenary.path") local n = require("nui-components") local diff = require("avante.diff") -local tiktoken = require("avante.tiktoken") local config = require("avante.config") local ai_bot = require("avante.ai_bot") local api = vim.api @@ -630,8 +629,6 @@ function M.setup() _cur_code_buf = bufnr end - tiktoken.setup("gpt-4o") - diff.setup({ debug = false, -- log output to console default_mappings = config.get().mappings.diff, -- disable buffer local mapping created by this plugin