From 2a94573f54c69a9af7536586ab2c03eb88bda5e7 Mon Sep 17 00:00:00 2001 From: Gustaf Rydholm Date: Fri, 5 Jan 2024 01:50:20 +0100 Subject: Refactor --- fnl/plugins/orgmode.fnl | 60 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 fnl/plugins/orgmode.fnl (limited to 'fnl/plugins/orgmode.fnl') diff --git a/fnl/plugins/orgmode.fnl b/fnl/plugins/orgmode.fnl new file mode 100644 index 0000000..abf98f7 --- /dev/null +++ b/fnl/plugins/orgmode.fnl @@ -0,0 +1,60 @@ +;; Orgmode for nvim. + +(local keys [{1 :ga 2 :OrgAgendaPrompt :desc "Open agenda prompt"} + {1 :gc 2 :OrgCapturePrompt :desc "Open capture prompt"} + {1 :go + 2 ":Telescope find_files theme=dropdown cwd=~/.local/share/org" + :desc "Find org file"} + {1 :gm + 2 "Telescope orgmode search_headings theme=dropdown" + :desc "Search headings"}]) + +(local user-cmds [[:OrgAgendaPrompt + (lambda [] + (let [orgmode (require :orgmode)] + (orgmode.action :agenda.prompt))) + {:nargs 0}] + [:OrgCapturePrompt + (lambda [] + (let [orgmode (require :orgmode)] + (orgmode.action :capture.prompt))) + {:nargs 0}]]) + +(local auto-cmds + [[:FileType + {:pattern :org + :callback (fn [] + (tset vim.opt_local :foldenable false) + (tset vim.opt_local :foldlevelstart 0) + (tset vim.opt_local :foldlevel 0) + (tset vim.opt_local :conceallevel 2))}]]) + +(fn init [] + (let [cmds (require :util.cmds)] + (cmds.create-user-cmds user-cmds) + (cmds.create-auto-cmds auto-cmds))) + +(local templates + {:t {:description :Task :template "* TODO %?\n %u\n DEADLINE: %T\n"} + :m {:description :Meeting :template "* Meeting %?"} + :n {:description :Note :template "* NOTE %? :NOTE:\n %u\n"}}) + +(local opts {:org_agenda_files ["~/.local/share/org/**/*"] + :org_hide_emphasis_markers true + :org_agenda_start_on_weekday false + :org_default_notes_file "~/.local/share/org/refile.org" + :org_agenda_templates templates}) + +(fn config [] + (let [orgmode (require :orgmode) + bullets (require :org-bullets)] + (orgmode.setup_ts_grammar) + (orgmode.setup opts) + (bullets.setup {:concealcursor true}))) + +{1 :nvim-orgmode/orgmode + :dependencies :akinsho/org-bullets.nvim + :ft :org + : config + : init + : keys} -- cgit v1.2.3-70-g09d2