summaryrefslogtreecommitdiff
path: root/fnl
diff options
context:
space:
mode:
Diffstat (limited to 'fnl')
-rw-r--r--fnl/config/neorg.fnl9
-rw-r--r--fnl/config/orgmode.fnl47
-rw-r--r--fnl/config/treesitter.fnl2
-rw-r--r--fnl/plugins.fnl4
4 files changed, 50 insertions, 12 deletions
diff --git a/fnl/config/neorg.fnl b/fnl/config/neorg.fnl
deleted file mode 100644
index a726bbc..0000000
--- a/fnl/config/neorg.fnl
+++ /dev/null
@@ -1,9 +0,0 @@
-;; A neovim orgmode.
-(module config.neorg {autoload {util config.util}})
-
-(def- opts
- {:load {:core.defaults []
- :core.norg.dirman {:config {:workspaces {:work "~/.local/share/neorg/work"
- :home "~/.local/share/neorg/home"}}}}})
-
-(util.setup :neorg opts)
diff --git a/fnl/config/orgmode.fnl b/fnl/config/orgmode.fnl
new file mode 100644
index 0000000..216fe4c
--- /dev/null
+++ b/fnl/config/orgmode.fnl
@@ -0,0 +1,47 @@
+;; Orgmode for nvim.
+(module config.orgmode {autoload {nvim aniseed.nvim util config.util}})
+
+(nvim.ex.set :conceallevel=2)
+(nvim.ex.set :concealcursor=nc)
+
+(def- 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"}})
+
+(defn- create-title [task]
+ (string.format "%s (%s)" task.category task.humanized_duration))
+
+(defn- create-subtitle [task]
+ (string.format "%s %s %s" (string.rep "*" task.level) task.todo
+ task.title))
+
+(defn- get-date [task] (string.format "%s: %s" task.type (task.time:to_string)))
+
+(def- notifications
+ {:reminder_time [0 1 5 10]
+ :repeater_reminder_time [0 1 5 10]
+ :deadline_warning_reminder_time [0]
+ :cron_notifier (fn [tasks]
+ (each [_ task (ipairs tasks)]
+ (let [title (create-title task)
+ sub-title (create-subtitle task)
+ date (get-date task)]
+ (if (vim.fn.executable :notify-send)
+ (vim.loop.spawn :notify-send
+ {:args [:--icon=.local/share/nvim/site/pack/packer/start/orgmode/assets/orgmode_nvim.png
+ (string.format "%s\n%s\n%s"
+ title
+ subtitle
+ date)]})))))})
+
+(def- 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
+ : notifications})
+
+(let [orgmode (util.prequire :orgmode)]
+ (orgmode.setup_ts_grammar)
+ (orgmode.setup opts))
diff --git a/fnl/config/treesitter.fnl b/fnl/config/treesitter.fnl
index 263391d..e61e2c0 100644
--- a/fnl/config/treesitter.fnl
+++ b/fnl/config/treesitter.fnl
@@ -6,7 +6,7 @@
:rust
:lua
:hcl
- :norg
+ :org
:haskell
:python
:fennel
diff --git a/fnl/plugins.fnl b/fnl/plugins.fnl
index d416865..b39a58f 100644
--- a/fnl/plugins.fnl
+++ b/fnl/plugins.fnl
@@ -63,10 +63,10 @@
:config (fn []
(require :config.trouble))}
;; Misc plugins
- {1 :nvim-neorg/neorg
+ {1 :nvim-orgmode/orgmode
:event :VeryLazy
:config (fn []
- (require :config.neorg))}
+ (require :config.orgmode))}
{1 :ojroques/nvim-bufdel :cmd :BufDel}
{1 :akinsho/toggleterm.nvim
:cmd :ToggleTerm