diff options
author | iurii plugatarov <[email protected]> | 2024-08-02 23:19:11 +0200 |
---|---|---|
committer | iurii plugatarov <[email protected]> | 2024-08-02 23:19:11 +0200 |
commit | f24a3ab9744a3f50eb8cacc06d4ef4c5f96875db (patch) | |
tree | e53c36d600f9ded45036d3489411cb82f26cb192 /lua/sketchbook/config.lua | |
parent | dfee9611c0134def92d3c254ca4b067338ae7720 (diff) | |
download | sketchbook.nvim-f24a3ab9744a3f50eb8cacc06d4ef4c5f96875db.tar.gz |
fix
Diffstat (limited to 'lua/sketchbook/config.lua')
-rw-r--r-- | lua/sketchbook/config.lua | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/lua/sketchbook/config.lua b/lua/sketchbook/config.lua new file mode 100644 index 0000000..999245d --- /dev/null +++ b/lua/sketchbook/config.lua @@ -0,0 +1,88 @@ +local M = {} + +-- Default configuration +M.defaults = { + notes_directory = "~/notes", + templates_directory = "~/notes/templates/", + keymaps = { + create_note = "<leader>tnn", + update_index = "<leader>tui", + search_notes = "<leader>tns", + select_template = "<leader>ttn", + toggle_quick_note = "<leader>qc", + create_quick_note = "<leader>nq", + open_entire_quick_note = "<leader>qo", + commit_notes = "<leader>tgc", + push_notes = "<leader>tgp", -- New keymap for pushing notes + }, +} + +M.config = {} + +function M.setup(user_config) + M.config = vim.tbl_deep_extend("force", {}, M.defaults, user_config or {}) + vim.g.notes_directory = M.config.notes_directory + vim.g.notes_templates_dir = M.config.templates_directory + M.set_keymaps() +end + +function M.set_keymaps() + local keymaps = M.config.keymaps + + vim.api.nvim_set_keymap( + "n", + keymaps.create_note, + ':lua require("sketchbook.create_note").create_new_note()<CR>', + { noremap = true, silent = true, desc = "Create a new note" } + ) + vim.api.nvim_set_keymap( + "n", + keymaps.update_index, + ':lua require("sketchbook.update_index").update_index()<CR>', + { noremap = true, silent = true, desc = "Update notes index" } + ) + vim.api.nvim_set_keymap( + "n", + keymaps.search_notes, + ':lua require("sketchbook.search_notes").search_notes()<CR>', + { noremap = true, silent = true, desc = "Search notes" } + ) + vim.api.nvim_set_keymap( + "n", + keymaps.select_template, + ':lua require("sketchbook.select_template").select_template()<CR>', + { noremap = true, silent = true, desc = "Select a note template" } + ) + vim.api.nvim_set_keymap( + "n", + keymaps.create_quick_note, + ':lua require("sketchbook.quick_note").create_quick_note_window()<CR>', + { noremap = true, silent = true, desc = "Create a quick note buffer" } + ) + vim.api.nvim_set_keymap( + "n", + keymaps.toggle_quick_note, + ':lua require("sketchbook.quick_note").toggle_quick_note_window()<CR>', + { noremap = true, silent = true, desc = "Toggle quick note window" } + ) + vim.api.nvim_set_keymap( + "n", + keymaps.open_entire_quick_note, + ':lua require("sketchbook.quick_note").open_entire_quick_note()<CR>', + { noremap = true, silent = true, desc = "Open entire quick note" } + ) + vim.api.nvim_set_keymap( + "n", + keymaps.commit_notes, + ':lua require("sketchbook.git_sync").commit_notes()<CR>', + { noremap = true, silent = true, desc = "Commit notes to Git" } + ) + vim.api.nvim_set_keymap( + "n", + keymaps.push_notes, + ':lua require("sketchbook.git_sync").push_notes()<CR>', + { noremap = true, silent = true, desc = "Push notes to remote Git repository" } + ) +end + +return M |