joerdav / xc

Markdown defined task runner.
https://xcfile.dev/
MIT License
1.04k stars 25 forks source link

:sloth: Feature request > Support emojis in tasks names #101

Closed adriens closed 8 months ago

adriens commented 8 months ago

:grey_question: About

While reading a markdown with sections, it's comfortable for humans to get an emoji at the beginning of section name.... but when we want to get or call a task from its name, it's more comfortable to only call the alpha version (no emoji) of the task.

This issue is about that

:dart: Feature request

:moneybag: Benefits

waldyrious commented 8 months ago

I don't have a personal need for Emoji myself, but I'd like to point out that it's pretty common for addition of emoji support to have the nice side effect of making programs able to process a wider range of Unicode characters (especially non-Latin scripts), which makes them more globally accessible and typically more robust towards different types of input.

adriens commented 8 months ago

That's a good point @waldyrious

joerdav commented 8 months ago

I'm interested in this, but I think that @waldyrious and @adriens your suggestions are a bit in conflict.

@waldyrious you suggested that adding this kind of support would unlock non-latin characters, which is a brilliant idea.

@adriens your suggestion though was that we should allow more characters (specifically emojis) but NOT require them in the xc command.

So my question is how this would work in an implementation level?

joerdav commented 8 months ago

I'm open to ideas.

adriens commented 8 months ago

@adriens your suggestion though was that we should allow more characters (specifically emojis) but NOT require them in the xc command.

yes, exactly :+1:

So I think we're in consensus that we expand the allowed characters list.

Indeed :smile_cat:

Do we allow headings to be prefixed by a single emoji only, for people who like a bit more flare in their readmes?

That seems to do the job... taking care of properly handle the space between the emoji and the task target name.

Do we print the emojis out when just xc is ran (I think no, could be confusing)?

if we consider that the xc output can be used to copy/paste the tasks : we should not put the emoji in the task list as it would lead to a task not found exception :sweat_smile:

Do we go with an approach of allowing prefixes to tasks that aren't considered by xc (## anything: task-name, where anything can be any characters, but does not affect the task name?)

Sorry, can you provide some real life example as I don't really understand what you mean :pray:

joerdav commented 8 months ago

@adriens It was just a suggestion of how we could include text in titles that aren't part of the task name (such as emojis).

We could support a : delimeter:

# Tasks

## 👍: hello-world

echo hello

Would result in a task named hello-world.

I've had some time to think on this one though, I think this may be a case of style over substance. Added complexity for the sake of emojis in tasks.

So I think the action here should be to expand what is allowed in task names, but for now I don't think we should allow any characters to be omitted in task names.

joerdav commented 8 months ago

With a review of the code and some testing, I can see that there is actually no rules on what characters you can include in a task name. So will close this issue, if there isn't anything further.

adriens commented 8 months ago

Yep, thanks a lot fo rthe feedbacks :pray: