pending.nvim/lua/pending/health.lua

51 lines
1.4 KiB
Lua

local M = {}
function M.check()
vim.health.start('pending.nvim')
local ok, config = pcall(require, 'pending.config')
if not ok then
vim.health.error('Failed to load pending.config')
return
end
local cfg = config.get()
vim.health.ok('Config loaded')
vim.health.info('Data path: ' .. cfg.data_path)
local data_dir = vim.fn.fnamemodify(cfg.data_path, ':h')
if vim.fn.isdirectory(data_dir) == 1 then
vim.health.ok('Data directory exists: ' .. data_dir)
else
vim.health.warn('Data directory does not exist yet: ' .. data_dir)
end
if vim.fn.filereadable(cfg.data_path) == 1 then
local store_ok, store = pcall(require, 'pending.store')
if store_ok then
local load_ok, err = pcall(store.load)
if load_ok then
local tasks = store.tasks()
vim.health.ok('Data file loaded: ' .. #tasks .. ' tasks')
else
vim.health.error('Failed to load data file: ' .. tostring(err))
end
end
else
vim.health.info('No data file yet (will be created on first save)')
end
if vim.fn.executable('curl') == 1 then
vim.health.ok('curl found (required for Google Calendar sync)')
else
vim.health.warn('curl not found (needed for Google Calendar sync)')
end
if vim.fn.executable('openssl') == 1 then
vim.health.ok('openssl found (required for OAuth PKCE)')
else
vim.health.warn('openssl not found (needed for Google Calendar OAuth)')
end
end
return M