Hello,
would it be possible to add a ligature for __? In C that is used every now and then.
Javascript libraries use __ as a placeholder for function parameters as well. Ramda.js is an example.
How would you want it to look? I don鈥檛 want to make them a single line because then it would be hard to see how many underscores are there.
At least on my system they run together already at small sizes. The result is a tiny dirty looking spot in the middle. So merging them together, at least in small sizes, might be better. See attached screenshot for the current way it renders here.

I do not have experience in designing fonts, I guessed that merging two underlines would remove a small gap between them. It may be needed on small font sizes only, I am not sure.
An uneducated suggestion would be to have two underscores become a lying angled bracket, probably with shorter vertical edges up:

Salesforce custom objects use __ very often, usually after a object name.

Switching from consolas to fira code was jarring. Having a mixture of clean, easy to look at ligatures, mixed in with broken lines with subpar spacing tends to wear on the eyes. I think, even just having a smooth line would be a net gain.
Concur with @sladiri's suggestion, for sure. I guess the only caveat would be whether that ligature would make cohesive sense in the context of variable names. Some compiler-reserved usage in the C family, and Ruby's __FILE__ and __LINE__.
This would be a specific feature and detection would be specific as well: Many but not all languages use functions parameters insided curved brackets. Then there is the difference between some people who put spaces between the brackets and the parameters and those who do not:
(__) (SPACE__SPACE)
(__, (SPACE__,
SPACE__,
SPACE__) SPACE__SPACE)
I guess that would mean at least four and possibly seven variants, if I understand correctly?
__proto__ is seen on occasion in JavaScript.
At first I liked the curved-ends version, but now I think I creates more problems than solves.
How about just making the solid line thicker? Might cause confusion when the font is underlined,... Hmmm underscores are hard...
I was actually coming here to propose this idea, so glad to see I'm not the only want hoping to see it implemented. Doing a lot of PHP work with classes, the methods such as public function __construct etc would definitely benefit from this. Everything else looks great in the source, then there's the two underscores, which look dirty with the small gap in the middle.
Personally, I don't feel like anyone has proposed anything that resolves the fact that two combined will just look like one (The laid-down square-bracket won't look good in any lang where it means private/mangled). I really think this is one that won't be solvable. There's only so much you can do with an underline.
what about something like
? I think a small dot would be better than a vertical bar but I don't know how to draw this small.
(edit for @houz : Even if it is a monospaced font, it can be hard for some people to figure out how many underscores there are. Plus, wit a separator (personnally I like the default tiny space) it's instantaneous)
What is so bad about having one long line? After all, = are joined, too. And as it's a monospaced font it should be obvious that it's two underscores and not one. But I have to admit, I didn't see it in practice so it might indeed be worse.
The equal one is obviously extended because visually you can recognize it as a rectangle versus the typical square size of =. However with an underscore there is no visual cue that helps our eyes differentiate.
I do like niahoo's idea.
Here's my proposal, a solid white line with a small "hump" in the middle.

That's an excellent idea. I just come here to create such a suggestion.
I mainly see it useful for different "protected" methods and properties like __mymethod, or PHP magic methods: __get, __set, __construct etc.
@tonsky, @r3oath's proposal is very good. What are you think about it?
I think it doesn鈥檛 improve much over what鈥檚 already there. I think __ looks decent by default.
This would be nice for python as well
Just came to see if this had already been requested, because yeah, it鈥檚 everywhere in Python and the gap looks gross. A lot of fonts already merge them into a single line (probably unintentionally), including those GitHub is using to show these comments. No one seems to be confused by it. So a single long line would be my vote.
Is there any progress update on this? I would really like to see this added, as all constructors and internal functions in python (e.g. __init__()) look pretty ugly.
Most helpful comment
Here's my proposal, a solid white line with a small "hump" in the middle.