Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions lua/csvview/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ local config = require("csvview.config")
local keymap = require("csvview.keymap")
local util = require("csvview.util")

M._setup_done = false

--- check if csv table view is enabled
---@param bufnr integer
---@return boolean
Expand All @@ -22,6 +24,10 @@ end
---@param bufnr integer?
---@param opts CsvView.Options?
function M.enable(bufnr, opts)
if not M._setup_done then
M.setup()
end

bufnr = util.resolve_bufnr(bufnr)
opts = config.get(opts) ---@diagnostic disable-line: cast-local-type

Expand Down Expand Up @@ -138,6 +144,10 @@ end
--- disable csv table view
---@param bufnr integer?
function M.disable(bufnr)
if not M._setup_done then
M.setup()
end

bufnr = util.resolve_bufnr(bufnr)
if not M.is_enabled(bufnr) then
vim.notify("csvview: not enabled for this buffer.")
Expand Down Expand Up @@ -174,6 +184,11 @@ function M.setup(opts)
-- Set default options
config.setup(opts)

if M._setup_done then
return
end
M._setup_done = true

-- Register view rendering trigger
local ns = vim.api.nvim_create_namespace("csvview.view")
vim.api.nvim_set_decoration_provider(ns, {
Expand Down