<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Arial,Helvetica,sans-serif;" dir="ltr">
<p><span style="font-family: Helvetica; font-size: 12px; text-size-adjust: auto;">Hi Swift Evolution</span></p>
<p><font face="Helvetica"><span style="font-size: 12px;"><br>
</span></font><span style="font-family: Helvetica; font-size: 12px; text-size-adjust: auto;"></span></p>
<div style="font-family: Helvetica; font-size: 12px; text-size-adjust: auto;">Color literals in their current state are in practice only useful as an Xcode utility feature, because creating, editing, or reading them in code is a pain.</div>
<div style="font-family: Helvetica; font-size: 12px; text-size-adjust: auto;">Currently the only autocomplete provided opens the color picker, which once a color is selected adds something like this to the code:&nbsp;<i>#colorLiteral(red: 0.9254902005, green: 0.2352941185,
 blue: 0.1019607857, alpha: 1)</i>.&nbsp;</div>
<div style="font-family: Helvetica; font-size: 12px; text-size-adjust: auto;">Xcode provides a nice color swatch to preview the color, but if viewing this in raw source from a git diff or a 3rd party editor it becomes hard to tell what the color is, or edit
 it, especially as the rgb components are a fraction of 1 instead of the more readable and standard 1-255.&nbsp;</div>
<div style="font-family: Helvetica; font-size: 12px; text-size-adjust: auto;"><br>
</div>
<div style="font-family: Helvetica; font-size: 12px; text-size-adjust: auto;">I propose adding a hex initialiser like this&nbsp;<i>#colorLiteral(hex:&nbsp;“DB8B09&quot;, alpha:&nbsp;</i><i>0.5</i><i>)</i>. Hex values are the industry standard for colors which makes this feature
 much easier to use. Now we can actually&nbsp;grok what a color is in source code without reaching for a convertor or calculator, as well as being to define these&nbsp;by simply pasting in hex strings.</div>
<div style="font-family: Helvetica; font-size: 12px; text-size-adjust: auto;"><br>
</div>
<div style="font-family: Helvetica; font-size: 12px; text-size-adjust: auto;">Possible alternative to the above syntax could be:</div>
<div style="font-family: Helvetica; font-size: 12px; text-size-adjust: auto;">
<ul class="MailOutline">
<li>hex string param name:&nbsp;<i>#colorLiteral(hexString: &quot;DB8B09&quot;, alpha: 1)</i></li><li>include alpha as last 2 characters: #<i>colorLiteral(hexString: &quot;DB8B09FF&quot;)</i></li><li>including #:&nbsp;&nbsp;<i>#colorLiteral(hexString: &quot;#DB8B09&quot;, alpha: 1)</i>. This should probably be optionally allowed either way.</li></ul>
<div><br>
</div>
<div>I’m proposing adding this new hex init in addition to the old one, so it’s still backwards compatible. While outside the scope of swift evolution, the goal would be to get this to also be the default way Xcode would write values from the color picker,
 as well as being able to render them in the first place.&nbsp;</div>
<div>Having an extra autocomplete with the new init hex would be useful too, so you can just provide a hex string without opening up a color picker, and I don't think this would&nbsp;require&nbsp;xcode support.</div>
<div><br>
</div>
<div>I’m unsure if this proposal would require changes in UIColor, NSColor or Xcode, so I’m not even sure this is the right place to propose such a thing.</div>
<div><br>
</div>
<div>I haven’t drafted a proposal yet, as I just wanted to check if there was any interest first, or if this is even feasible.</div>
</div>
<br>
<p></p>
</div>
</body>
</html>