summaryrefslogtreecommitdiff
path: root/fnl/plugins/tools/orgmode.fnl
blob: be96fd79386e35f521a1d3dce4f5b916b6a30f9b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
;; Orgmode for nvim.

(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 setup []
  (let [orgmode (require :orgmode)]
    (tset vim.opt :conceallevel 2)
    (tset vim.opt :concealcursor :nc)
    (orgmode.setup_ts_grammar)
    (orgmode.setup opts)))

{1 :nvim-orgmode/orgmode
 :config (fn []
           (setup))
 :event :BufReadPost
 :keys [{1 :ga 2 :<cmd>OrgAgendaPrompt<cr> :desc "Open agenda prompt"}
        {1 :gc 2 :<cmd>OrgCapturePrompt<cr> :desc "Open capture prompt"}
        {1 :gm
         2 "<cmd>Telescope orgmode search_headings theme=dropdown<cr>"
         :desc "Search headings"}]}