sindresorhus / emoj

Find relevant emoji from text on the command-line :open_mouth: :sparkles: :raised_hands: :horse: :boom: :see_no_evil:
MIT License
2.37k stars 58 forks source link

Skin tone #4

Closed vhmth closed 7 years ago

vhmth commented 8 years ago

I always use skin tone 5 (well that's what Slack calls it anyway) because it closely lines up with my skin color. :-) Would love a way to specify that as an arg.

sindresorhus commented 8 years ago

👍 I'm thinking a CLI flag like emoj --skin-tone=3. For the interactive search I could add the ability to use keyboard arrow up/down to select skin tone. We could even save your last choice so you don't have to pick it each time. What do you think?

What I need to figure out is how to detect what emojis have support for skin tone modifiers. @mathiasbynens Do you happen to have a module for that?

zwacky commented 8 years ago

might be cool to have a default options like emoj set skin-tone=3 so it applies it everytime. also having --skin-tone=3 at hand would be great for single commands.

mathiasbynens commented 8 years ago

What I need to figure out is how to detect what emojis have support for skin tone modifiers. @mathiasbynens Do you happen to have a module for that?

https://github.com/mathiasbynens/unicode-emoji-modifier-base

jdalton commented 8 years ago

Maybe pressing tab or something could cycle through modifiers.

vhmth commented 8 years ago

Up/down would be perfect. In https://github.com/sindresorhus/emoj/issues/2, Matchai said that clicking a number would "select" an emoji, so up/down could cycle through skin tones if they're available. I think supporting that and the arg would both be useful, but I actually see myself using the scheme of select number + up/down more.

lukeed commented 8 years ago

A combination of @sindresorhus, @zwacky and @vhmth's ideas would be perfect, imo.

Set global default with the --skin-tone flag. Applicable emojis appear as such, initially.

If one were to want a different tone for a specific emoji, "select" the emoji (by order position) and cycle thru available tones with UP/DOWN arrows.

Selecting this new emoji::tone combination should be saved in memory.

emoj --skin-tone=2 # or emoj skin 2 ?
emoj 'hand'

2, DOWN, SUPER + C

DOWN = darker? Tone selection would now be 3

sindresorhus commented 8 years ago

@mathiasbynens Awesome! :)

sindresorhus commented 8 years ago

I would prefer something simple. The Tab key to cycle through skin tones sounds better and I don't think you'd need to go up and down a lot. I also think it should change all of them. I don't see the use-case of individually changing the skin tone.

So my proposal:

sindresorhus commented 8 years ago

Any thoughts on my proposal?

I've made a skin-tone module to make this feature easier to implement. Could use some feedback on that module (especially from @mathiasbynens).

lukeed commented 8 years ago

I'd still prefer UP and DOWN so that I don't have to press Tab 4 times to loop from 3 back to 2.

The rest of your proposal is spot on imo.

vhmth commented 8 years ago

Agreed that up/down is much more preferable. I actually hate that I can't do that in Slack. @sindresorhus go ahead and try it in slack where you start the emoji with : and try to get to a skin tone by tabbing through. It's a huge PITA. :-P

sindresorhus commented 8 years ago

Alright. Up/Down then.

jonnybel commented 7 years ago

Hi, I made a pull request with a proposed solution for this issue, #19

It is my very first pull request ever, so I'd greatly appreciate feedback :raised_hands: