macedotavares / obsidian-utilities

An Alfred workflow focusing on quick entry and logging.
https://github.com/macedotavares/obsidian-utilities
GNU General Public License v3.0
169 stars 7 forks source link

Suggestion: Prepend task to contents of Tasks file #4

Open heliostatic opened 3 years ago

heliostatic commented 3 years ago

Currently, adding a Task to the Task file appends it to the specified section. It would be trivial to prepend it to the existing contents of the section, but might be nice to have a setting to specify where to put new tasks in the Task file section.

The code (which I guess lives in the plist?) would be here:

find = re.compile(r'^(## ' + re.escape(heading) + r'\n.*?)\n+#', flags = re.MULTILINE|re.DOTALL)
replace = '\\1\n- ' + entry + '\n\n#'

if re.findall(find, original_content) == []:
    new_content = original_content + '## ' + heading + '\n- ' + entry + '\n\n#'
else:
    new_content = re.sub(find, replace, original_content)