Closed thombruce closed 3 months ago
Having created two documents in VS Code to test sorting, it looks like tilde is sorting above:
~aardvark.todo
aardvark.todo
This is the opposite of my intention behind using the tilde. Looking into whether other options may exist now...
Incidentally, however, aardvark.x.todo
DOES sort beneath aardvark.todo
. It maintains its place above other files, alphabetically, of course but... I dunno... Might be preferable to tilde to do that.
I've tested every character easily accessible from a keyboard. Certain characters, like _
, sort before period, most sort after but before letters... and nothing sorts after letters. Meaning our best option is like... z.[filename].todo
z
isn't particularly indicative of purpose, however, and so I would still prefer x.[filename].todo
, even though it sorts above x, y and z.
ANY letter has the same problem though. x.xylophone.todo
will sort above xylophone.todo
, y.yacht.todo
will sort above yacht.todo
and z.zoo.todo
will sort above zoo.todo
, so...
If you want to use this approach to sort todo and done lists for your xylophone repairs, yacht holidays or trips to the zoo, you're shit out of luck. And of these, I do think z
is the most likely character to be visited - I mean a trip to the zoo is more common than a yacht experience or xylophone repairs (or that you'd need a todo list for your x-ray), soooooo...
This is me justifying the use of x.[filename].todo
as the recommended and default approach. With the additional recommendation that lists be titled starting with characters which precede x
alphabetically:
repair-xylophone.todo
day-on-yacht.todo
trip-to-zoo.todo
It sucks but the attraction of using x.
over any other character far outweighs the downsides of doing so.
Another argument for using x.
and certainly no earlier a character alphabetically:
X is the latest character alphabetically for which there is no month or day which begins with the character:
Apr
Aug
Dec
Feb
Fri
Jan
Jul
Jun
Mar
May
Mon
Nov
Oct
Sat
Sep
Sun
Thu
Tue
Wed
Wednesday is the last "date value" alphabetically, in English at least. And there is a strong case to be made for supporting monthly and daily todo lists.
_Again, y or z would certainly be better, but neither also has the benefit of being indicative of done status, which we already use x
for within the documents themselves. Thus... x.[filename].todo
remains my preferred approach.
That said, given that ~
indicates obsolete status, it is also a viable option even though it sorts above the alphabet in VS Code and certain other places. For this reason, I recommend both approaches:
x.[filename].todo
(default)~[filename].todo
We'll try to keep this in mind, so that we can eventually add a config option should the user prefer the tilde approach over what I'm considering to be the default.
With all of that said, we do in fact already have highlighting support for such documents, because they still end with the extensions .todo
, .shop
and .list
.
This can be closed.
It was opened in case we wanted to support additional extensions like .done
or .got
, but as well as being extension "greedy" this also presents the challenge of coming up with a brief adjective for .list
as well that isn't confusingly similar to .done
, so that we could maintain clear separation of each type. In short, I much prefer the prefix approach.
Feature request
We already support
done.txt
alongsidetodo.txt
, but we presently have no specification for handling the archiving of list items in*.todo
,*.shop
or*.list
documents.Consider a list of documents:
home.todo
: a todo list for home improvementscamping.shop
: a shopping list for camping gear/suppliesonboarding.list
: a checklist for onboarding employeesFor each, come up with a standard way to archive items that have been marked as completed (and possibly obsolete), so that each list retains its name and has its own archiving document(s).
This could be something as simple as:
_home.todo
_camping.shop
_onboarding.list
Though I was already thinking of using `` to mark template files._
Or maybe it's something more complex, like:
home.x.todo
camping.x.shop
onboarding.x.list
x.home.todo
x.camping.shop
x.onboarding.list
Knowing, as we do, that tilde comes last alphabetically on most systems, maybe:
~home.todo
~camping.shop
~onboarding.list
This would have the benefit of shifting the items to the bottom of the filesystem list, whereas starting with an
x
would still appear above x, y and z. It also somewhat reflects our usage of the tilde in documents for a "obsolete" status. AND... it would take no extra effort to support in highlighting, since they maintain the standard set of extensions.BUT, one of my gripes with
todo.txt
anddone.txt
is that "done" comes before "todo" alphabetically (and so moves up a file list), and the documents no longer sit together in that list.So maybe we support the
~
at the start of a document name, as well as... something else like*.done.todo
,*.x.todo
or something like that. These too should already work, since they still end with the standard extensions. By default, when we implement sorting, I expect we'll go with the tilde for "done" and "obsolete" list items:~home.todo
~camping.shop
~onboarding.list
Code of Conduct