diff options
-rw-r--r-- | fnl/plugins/orgmode.fnl | 48 |
1 files changed, 21 insertions, 27 deletions
diff --git a/fnl/plugins/orgmode.fnl b/fnl/plugins/orgmode.fnl index e89039b..835becf 100644 --- a/fnl/plugins/orgmode.fnl +++ b/fnl/plugins/orgmode.fnl @@ -2,12 +2,16 @@ (local icons (require :settings.icons)) -(local keys [{1 :ga 2 :<cmd>OrgAgendaPrompt<cr> :desc "Open agenda prompt"} - {1 :gc 2 :<cmd>OrgCapturePrompt<cr> :desc "Open capture prompt"} - {1 :go +(local keys [{1 :<leader>oa + 2 :<cmd>OrgAgendaPrompt<cr> + :desc "Open agenda prompt"} + {1 :<leader>oc + 2 :<cmd>OrgCapturePrompt<cr> + :desc "Open capture prompt"} + {1 :<leader>of 2 ":Telescope find_files theme=dropdown cwd=~/.local/share/org<CR>" :desc "Find org file"} - {1 :gm + {1 :<leader>oh 2 "<cmd>Telescope orgmode search_headings theme=dropdown<cr>" :desc "Search headings"}]) @@ -29,8 +33,8 @@ (tset vim.opt_local :foldenable false) (tset vim.opt_local :foldlevelstart 0) (tset vim.opt_local :foldlevel 0) - (tset vim.opt_local :conceallevel 2) - (tset vim.opt.local :concealcursor :nc))}]]) + (tset vim.opt_local :concealcursor :nc) + (tset vim.opt_local :conceallevel 2))}]]) (fn init [] (let [cmds (require :util.cmds)] @@ -38,34 +42,18 @@ (cmds.create-auto-cmds auto-cmds))) (local templates - {:t {:description :Task :template "* TODO %?\n %u\n DEADLINE: %T\n"} + {:t {:description :Todo :template "* TODO %?\n %u\n DEADLINE: %T\n"} :m {:description :Meeting :template "* Meeting %?"} :n {:description :Note :template "* NOTE %? :NOTE:\n %u\n"}}) -(lambda handler [data] - (let [options {} - options-by-label {}] - (each [_ item (ipairs data.items)] - (when (and item.key (not= (item.label:lower) :quit)) - (table.insert options item.label) - (tset options-by-label item.label item))) - (vim.ui.select options {:prompt data.prompt} - (fn [choice] - (if choice - (do - (local option (. options-by-label choice)) - (when option.action - (option.action)))))))) - (local org-opts - {:org_agenda_files ["~/.local/share/org/**/*"] + {:org_agenda_files "~/.local/share/org/**/*" + :org_default_notes_file "~/.local/share/org/refile.org" :org_hide_emphasis_markers true :org_agenda_start_on_weekday false :org_startup_indented true :org_log_into_drawer :LOGBOOK - :org_default_notes_file "~/.local/share/org/refile.org" - :org_agenda_templates templates - :ui {:menu {: handler}} + :org_capture_templates templates :mappings {:org {:org_cycle :<c-e> :org_global_cycle :<s-e>}}}) (local bullets-opts @@ -81,7 +69,12 @@ "@org.checkbox.checked"] :todo [" " "@org.checkbox.checked"]}}}) -(local roam-opts {:directory "~/.local/share/org"}) +(local roam-templates + {:n {:description :node + :template "#+category: %^{type}\n#+filetags: %^{tags}\n#+date: %u\n\n* %?" + :target "%<%Y%m%d%H%M%S>-%[slug].org"}}) + +(local roam-opts {:directory "~/.local/share/org" :templates roam-templates}) (fn config [] (let [orgmode (require :orgmode) @@ -92,6 +85,7 @@ (bullets.setup bullets-opts))) {1 :nvim-orgmode/orgmode + :event :VeryLazy :dependencies [:akinsho/org-bullets.nvim :chipsenkbeil/org-roam.nvim] :ft [:org :orgagenda] : config |