fabiospampinato / vscode-todo-plus

Manage todo lists with ease. Powerful, easy to use and customizable.
MIT License
908 stars 228 forks source link

[Feature Request] Fast Setup Tags Inside Todo Files #274

Closed BlackYuzia closed 4 years ago

BlackYuzia commented 4 years ago

Small Description about Problem

Hi there. This is kind a small idea for setup tags what user want for every file. So, let's begin...

Currently, we can create tags with setup any names to todo.tags.names. Like:

"todo.tags.names": [
        "critical"
       // ... any else names
]

For setup text-color and background-color colors we have todo.colors.tags.background and todo.colors.tags.foreground. Like:

    "todo.colors.tags.background": [
        "#e54545"
       // ...
],
    "todo.colors.tags.foreground": [
        "#000000"
        // ...
]

All above we need paste (or place) to settings.json. This is simple, maybe, but if you work more and more with projects you can get more like 50+ tags. you need check what tags you already have, count him and setup color and background color for every tag.

I mean, what you need setup 3 big arrays at the same time.

What I want? Here we go...

Suggestion

Create setup in to files. What we get? Simple and fast setup any tags. Unique tag for every file if we need it. Of course we can use global names (like todo.tags.names) but local too.

Example

// This is our kruzya_is_not_gay.js file
// We have some code didn't look at this code, I made him only for example
const kruzya = {}; // todo: add prop `gay:false`  @Kruzya @Don'tForget
console.log(kruzya); // debug. lol @Debug @Remove

So, now we have file with tags @Kruzya, @Don'tForget, @Debug and @Remove. I want setup blue background-color for @Kruzya, @Don'tForget and @Remove tags.

What I need to do? Right. Go to settings and create GLOBAL todo tags names in todo.tags.names then add bg-color to todo.colors.tags.background and ... maybe it is all. But this tag work in other files and every time when I add new tags I get 100500 tags in my settings.json. Did I need this? I think no.

What If we did something like this?

// the same kruzya!gay.js file
const kruzya = {}; // todo: add prop `gay:false`  @Kruzya @Don'tForget
console.log(kruzya); // @Debug @Remove

and we just add this in to file:

/*
 setup:todo:tags
 .tag "Kruzya" .bgcolor 'blue';             // add first tag with background-color blue
 .tag "Don'tForget" .bgcolor 'red';      // add second tag with background-color red
 .tag "Remove" .bgcolor '#F00';            // add third tag with background-color red
*/

we get this:

// This is a block of settings todo ext.
/*
 setup:todo:tags
 .tag "Kruzya" .bgcolor 'blue';
 .tag "Don'tForget" .bgcolor 'red';
 .tag "Remove" .bgcolor 'red';
*/
// This is a block of code in kruzya!gay.js
const kruzya = {}; // todo: add prop `gay:false`  @Kruzya @Don'tForget
console.log(kruzya); // @Debug @Remove

In my opinion this is:

Thx for attention.

PS: I actualy didn't know what name of this feature, so I call it Fast Setup Tags Inside Todo Files...

fabiospampinato commented 4 years ago

// This is our kruzya_is_not_gay.js file

🤨

I don't think this feature makes a lot of sense for this extension, it changes significantly how it works, it makes it more complicated and I don't really see a lot of value in it, maybe just stick with a smaller subset of tags and don't go crazy with them.