blob: 472a8a36abe75445bf56ed86b3e02e9a61ca2336 (
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
;; Orgmode for nvim.
(local icons (require :settings.icons))
(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 :<leader>oh
2 "<cmd>Telescope orgmode search_headings theme=dropdown<cr>"
: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 :concealcursor :nc)
(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 :Todo :template "* TODO %?\n %u\n DEADLINE: %T\n"}
:m {:description :Meeting :template "* Meeting %?"}
:n {:description :Note :template "* NOTE %? :NOTE:\n %u\n"}})
(local org-opts
{: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_capture_templates templates
:mappings {:org {:org_cycle :<c-e> :org_global_cycle :<s-e>}}})
(local bullets-opts
{:concealcursor true
:symbols {:list (. icons :line)
:headlines [(. icons :orb)
(. icons :filled-orb)
(. icons :pentagon)
(. icons :filled-pentagon)]
:checkboxes {:half [(. icons :line)
"@org.checkbox.halfchecked"]
:done [(. icons :checkmark)
"@org.checkbox.checked"]
:todo [" " "@org.checkbox.checked"]}}})
(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/roam" :templates roam-templates})
(fn config []
(let [orgmode (require :orgmode)
roam (require :org-roam)
bullets (require :org-bullets)]
(orgmode.setup org-opts)
(roam.setup roam-opts)
(bullets.setup bullets-opts)))
{1 :nvim-orgmode/orgmode
:dependencies [:akinsho/org-bullets.nvim :chipsenkbeil/org-roam.nvim]
:ft [:org :orgagenda]
: config
: init
: keys}
|