private void addFunctionNameHighlight(String text, int cursorTextOffset,
			HashMap<VTMarkupType, VTMarkupItem> typeMap, ArrayList<Highlight> highlightList) {
		VTMarkupItem markupItem = typeMap.get(FunctionNameMarkupType.INSTANCE);
		if (markupItem != null) {
			FunctionNameStringable value =
				(isSource || markupItem.canUnapply())
						? (FunctionNameStringable) markupItem.getSourceValue()
						: (FunctionNameStringable) markupItem.getOriginalDestinationValue();
			if (value != null) {
				int parameterStart = text.indexOf("(");
				if (parameterStart < 0) {
					parameterStart = text.length();
				}
				String name = value.getSymbolName();
				int startIndex = text.lastIndexOf(name, parameterStart - 1);
				if (startIndex >= 0) {
					int endIndex = startIndex + name.length() - 1;
					Color highlightColor =
						getMarkupBackgroundColor(cursorTextOffset, markupItem, startIndex,
							endIndex);
					Highlight highlight = new Highlight(startIndex, endIndex, highlightColor);
					highlightList.add(highlight);
				}
			}
		}
	}
Creates a darker shade of the color passed-in, based on the given amount.

algorithm: 1) grab individual rgb elements
           2) multiply each by a factor.
           
           ie: int newRed = (int)(oldRed * 0.85);

@param color the color to shade
@param amount number between 0..1 (the smaller the number, the darker the shade)
@return the new color
Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/gui/duallisting/VTDualListingHighlightProvider.java