To be honest, I still don't know what you're looking for since 90% of what is in your screenshot is already in Mathematica, but if you want to customize, here's something that'll do that on a single Notebook
:

SetOptions[
EvaluationNotebook[],
With[
{
operatorStyle = {FontColor -> GrayLevel[.3]},
commandStyle = {FontColor -> Orange},
blockStyle = {FontWeight -> Bold},
typeStyle = {FontColor -> Hue[.5 , .5, .5]},
constStyle = {FontColor -> Hue[.1 , 1, .6]},
globalStyle = {FontColor -> Pink},
systemStyle = {FontColor -> Black},
customSymbolStyle = {FontColor -> Hue[.5 , .7, .2]},
codeStyle = {
TabFilling -> StringRepeat[" ", 11] <> "|",
TabSpacings -> 2,
InitializationCell -> False
}
},
{
StyleDefinitions ->
Notebook[{
Cell[StyleData[StyleDefinitions -> "Default.nb"]],
Cell[StyleData["OperatorStyle"], Sequence @@ operatorStyle],
Cell[StyleData["CommandStyle"], Sequence @@ commandStyle],
Cell[StyleData["BlockStyle"], Sequence @@ blockStyle],
Cell[StyleData["TypeStyle"], Sequence @@ typeStyle],
Cell[StyleData["ConstantStyle"], Sequence @@ constStyle],
Cell[StyleData["GlobalStyle"], Sequence @@ globalStyle],
Cell[StyleData["SystemStyle"], Sequence @@ systemStyle],
Cell[StyleData["CustomSymbolStyle"], Sequence @@ customSymbolStyle],
Cell[StyleData["Code"], Sequence @@ codeStyle]
}],
AutoStyleOptions ->
{
"FunctionLocalVariableStyle" -> {FontColor -> Blue},
"LocalVariableStyle" -> {FontColor -> Purple},
"PatternVariableStyle" -> {FontColor -> Darker@Green,
FontSlant -> "Italic"},
"SymbolContextStyles" -> {
"System`" -> "SystemStyle",
"Global`" -> "GlobalStyle",
Automatic -> "CustomSymbolStyle"
}
},
AutoStyleWords -> {
"@" -> "OperatorStyle", "//" -> "OperatorStyle", "~" -> "OperatorStyle",
";" -> "OperatorStyle", "," -> "OperatorStyle", "-" -> "OperatorStyle",
"+" -> "OperatorStyle", "/" -> "OperatorStyle", "*" -> "OperatorStyle",
"(" -> "OperatorStyle", ")" -> "OperatorStyle", "[" -> "OperatorStyle",
"]" -> "OperatorStyle", "{" -> "OperatorStyle", "}" -> "OperatorStyle",
"[[" -> "OperatorStyle", "]]" -> "OperatorStyle", "<" -> "OperatorStyle",
">" -> "OperatorStyle", ":" -> "OperatorStyle", "::" -> "OperatorStyle",
"." -> "OperatorStyle", ".." -> "OperatorStyle",
"..." -> "OperatorStyle", "_" -> "OperatorStyle",
"__" -> "OperatorStyle", "___" -> "OperatorStyle",
"?" -> "OperatorStyle", "&" -> "OperatorStyle", "&&" -> "OperatorStyle",
"~~" -> "OperatorStyle", "\[Rule]" -> "OperatorStyle",
"\[RuleDelayed]" -> "OperatorStyle", "->" -> "OperatorStyle",
":>" -> "OperatorStyle", "|" -> "OperatorStyle", ":=" -> "OperatorStyle",
"^:=" -> "OperatorStyle", "/:" -> "OperatorStyle",
"/;" -> "OperatorStyle",
"Return" -> "CommandStyle", "Break" -> "CommandStyle",
"DialogReturn" -> "CommandStyle", "Goto" -> "CommandStyle",
"Throw" -> "CommandStyle", "Catch" -> "CommandStyle",
"Message" -> "CommandStyle", "Print" -> "CommandStyle",
"Assert" -> "CommandStyle", "Begin" -> "CommandStyle",
"BeginPackage" -> "CommandStyle", "End" -> "CommandStyle",
"EndPackage" -> "CommandStyle",
"With" -> "BlockStyle", "Module" -> "BlockStyle",
"Block" -> "BlockStyle", "If" -> "BlockStyle", "Switch" -> "BlockStyle",
"Which" -> "BlockStyle", "Do" -> "BlockStyle", "Table" -> "BlockStyle",
"For" -> "BlockStyle", "While" -> "BlockStyle",
"Replace" -> "BlockStyle", "ReplaceAll" -> "BlockStyle",
"ReplaceRepeated" -> "BlockStyle", "ReplacePart" -> "BlockStyle",
"Map" -> "BlockStyle", "MapIndexed" -> "BlockStyle",
"MapThread" -> "BlockStyle", "Entity" -> "TypeStyle",
"Quantity" -> "TypeStyle", "ChannelObject" -> "TypeStyle",
"CloudObject" -> "TypeStyle", "CloudExpression" -> "TypeStyle",
"CellObject" -> "TypeStyle", "Notebook" -> "TypeStyle",
"Cell" -> "TypeStyle", "ResourceObject" -> "TypeStyle",
"LocalObject" -> "TypeStyle", "FormObject" -> "TypeStyle",
"$Failed" -> "ConstantStyle", "False" -> "ConstantStyle",
"True" -> "ConstantStyle", "$Canceled" -> "ConstantStyle",
"All" -> "ConstantStyle"
}
}
]
]
This is based off of something I do for my own stuff, but there I put all of this in a SyntaxHighlighting.nb
stylesheet and then link off of that. That way if you just want to make a minor adjustment to one style, you can only change that one piece. Here's a sample for you to work from. Here's an example of a stylesheet deriving from it.
I'd recommend that flow to you, moving forward, but my guess is you aren't familiar with working with Mathematica stylesheets, so the function above will get you started for for some on-the-fly testing.