perryrh0dan / taskline

Tasks, boards & notes for the command-line habitat
MIT License
225 stars 21 forks source link

[feature request] sorting tasks by priority #2

Open claytonjschneider opened 4 years ago

claytonjschneider commented 4 years ago

This is the best CLI task manager I've seen yet, but I'd like to see the ability to sort tasks and boards differently. For instance, within boards, tasks might be sorted by some weight of due date * priority. Boards could then be sorted by the sum of their tasks or perhaps in an arbitrary user-defined way.

perryrh0dan commented 4 years ago

Hi Clayton,

thanks for the kind words. At the newest release (1.0.6) that i uploaded just 20 min ago on npm (currently building the snap version) i sort the items in a board according to the id of the item. The boards are still sorted alphabetically. But i rly like your idea of sorting/prioritizing. Maybe we could manage that the users can somehow build there own sorting formula in the config file. Something like: $priority * 2 + $dueDays. What do you think about that ?

claytonjschneider commented 4 years ago

Hi Perry,

Thanks for getting to this so quickly. Is there value in sorting by id? It seems arbitrary to me, but I'm wondering if I'm missing something in the functionality which would make it beneficial.

I love the concept of letting the sorting algorithm be user-defined! Perhaps there could also be flags to print the task list as sorted by due-date (I thought that's what the timeline flag would do) or a flag to print sorted by priority. I prefer the output separated by boards to the current timeline view.

To reiterate, I love the ease of this tool, and combining notes/tasks adds a LOT of value to me. Thank you for sharing it!

One more thing that just popped into my head - is there an option to define color palette? I'm colorblind and usually prefer an odd range of text color in my terminal.

perryrh0dan commented 4 years ago

Hi Clayton,

First thanks for your rly great ideas and suggestions.

The ids of the items are incremented meaning that sorting by id is the same as sorting by creation date. Hopefully on the weekend i can start with the user defined sorting algorithm.

Yes actually the timeline is sorted by creation date. I think there should be the possibility to add a sort option to the timeline command. Something like tl timeline (-s/--sort) duedate.

For the next version I will also try to add the functionality to add a user defined color palette in the configuration file. So the user can set there own warning and alert color.

perryrh0dan commented 4 years ago

Hi Clayton,

in the new version you can now customize all the colors of the icons and texts.

aditya95sriram commented 4 years ago

Sorry, I'm a bit late to the party and I don't know how much progress you've already made on this. But, it seems to me that sorting by a few pre-defined criteria is a much better starting point both in terms of ease of implementing it and also user-friendliness. These pre-defined criteria could be ids, priority, duedate etc. And the interface I imagine would be tl [--sort <criteria>], that is just tl would behave exactly as it does now (taking id to be the default sorting criteria) and optionally users can do tl --sort p for sorting by priority, tl --sort d for sorting by due date and so on. How does that sound ?