delashum / obsidian-checklist-plugin

MIT License
392 stars 42 forks source link

[Feature Request] Extended Checkbox states #61

Open TheMathGuyd opened 3 years ago

TheMathGuyd commented 3 years ago

Currently - [ ] and - [x] are supported states of checkboxes. It would be useful to many to have a greater variety of states, each with their individual toggles in the settings regarding their inclusion in the plugin's consolidated list pane.

I am proposing adding support for:

Important

Proposed plaintext: - [!] Could be placed at the top of the consolidated list by default.

Tentative

Proposed plaintext: - [?] Could be placed at the bottom of the consolidated list by default For those upcoming events that shouldn't be forgotten, but might not even happen.

Scheduled

Proposed plaintext: - [>] In an ideal world, I would be able to use the Slated schedule command to turn a checkbox into this state via a secondary-click menu. Items with this state should not be shown, because their newly scheduled (unchecked) date will naturally be included.

Canceled

Proposed plaintext: - [-] Canceled tasks would not show up in the consolidated list, but unchecked items could be changed to this state via a secondary-click menu.


I do not think these should be enabled by default, but for users of this snippet, it currently feels like a choice between more checkbox states and this extension. I would like to help change that. I understand this is not markdown spec, but I am not concerned with that in my vault.

Since an image may help convey this to anyone in a tl;dr mood:

Screen Shot 2021-06-02 at 16 59 18
delashum commented 3 years ago

Yeah I like this sort of idea, or at least a way to tag certain checklist items as important or otherwise. I'm initially a bit skeptical to do it based on the char that's inside of the check because in the rendered markdown that technically means the item is checked off, and you may want to indicate something as important that is still incomplete. I have been toying with the idea of something similar to iOS reminders, where you can prefix and todo with 1-3 exclamation marks to set priority.

i.e. - [ ] !!! do this thing would be the most important, and could reflect so in both styling and sort order in the plugin.

Would something like that move this in the right direction?

TheMathGuyd commented 3 years ago

Ah I've never seen that in reminders, since it doesn't seem typing in the exclamation marks works. If reminder integration is planned, I think that would be a really cool direction.

Considering a lot of the code necessary to do that would not change, would it be possible to have user defined categories assigned to different prefix strings? - [ ] ? win the lotto could be my tentative prefix

Additionally sorting order could be defined by the user as list in a textbox in settings. Default: !!!, !!, ! Example custom order: %&, !!!, ???, !!, ?? , &&, %%, !, ?

colinbate commented 3 years ago

LogSeq supports priorities using essentially inline tags: [#A] (Or B or C). I came here looking to see if inline tags could be used to group or sort the tasks. I suppose any of these syntaxes would do the trick. There have been other syntaxes I've seen as well. I think FoldingText did @p1 and things like @due(2021-06-21) as well. Certainly add me to the list of interested parties.

delashum commented 2 years ago

nvm, that commit doesn't close this ^ All it does is add support for arbitrary characters inside a checklist (e.g. - [a] === - [x], which is a step in the right direction

damianpowell commented 1 month ago

I would also like to see the incomplete or in-progress style supported: - [/]