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
34 changes: 7 additions & 27 deletions lua/notes/init.lua
Original file line number Diff line number Diff line change
@@ -1,26 +1,13 @@
-- Main module for notes.nvim plugin

local config = require("notes.config")
local daily = require("notes.daily")
local utils = require("notes.utils")
local completion = require("notes.completion")
local M = {}

-- Lazy-load modules to avoid Windows timing issues
local function get_modules()
local config = require("notes.config")
local daily = require("notes.daily")
local utils = require("notes.utils")
local completion = require("notes.completion")

-- Ensure config module is properly loaded
if not config or not config.setup then
error("notes.nvim: config module failed to load properly")
end

return config, daily, utils, completion
end

-- Setup function called by users
function M.setup(user_config)
local config, daily, utils, completion = get_modules()

-- Setup configuration
config.setup(user_config)
local opts = config.options
Expand All @@ -34,8 +21,6 @@ end

-- Setup autocommands
function M.setup_autocommands(opts)
local config, daily, utils, completion = get_modules()

local augroup = vim.api.nvim_create_augroup("NotesNvimAutoUpdate", { clear = true })
vim.api.nvim_create_autocmd("BufWritePre", {
group = augroup,
Expand All @@ -49,8 +34,6 @@ end

-- Setup user commands
function M.setup_commands(opts)
local config, daily, utils, completion = get_modules()

vim.api.nvim_create_user_command("DailyNote", function(cmd_opts)
if cmd_opts.args and cmd_opts.args ~= "" then
daily.dynamic_daily_note(cmd_opts.args, opts)
Expand All @@ -74,8 +57,9 @@ end

-- Helper function to ensure setup has been called
local function ensure_setup()
local config, daily, utils, completion = get_modules()

if not config or not config.options then
error("notes.nvim config module not loaded properly. Try restarting Neovim.")
end
if not config.options.pkm_dir then
error("notes.nvim not configured. Call require('notes').setup({ pkm_dir = '/path/to/your/notes' }) first")
end
Expand All @@ -84,22 +68,18 @@ end

-- Export individual functions for advanced users
M.daily_note = function()
local config, daily, utils, completion = get_modules()
return daily.daily_note(ensure_setup())
end

M.tomorrow_note = function()
local config, daily, utils, completion = get_modules()
return daily.tomorrow_note(ensure_setup())
end

M.quick_note = function()
local config, daily, utils, completion = get_modules()
return daily.quick_note(ensure_setup())
end

M.dynamic_daily_note = function(input)
local config, daily, utils, completion = get_modules()
return daily.dynamic_daily_note(input, ensure_setup())
end

Expand Down
Loading