private void registerSearchOptions(PluginTool tool) {
		ToolOptions options = tool.getOptions(SearchConstants.SEARCH_OPTION_NAME);

		options.registerOption(PRE_POPULATE_MEM_SEARCH, prepopulateSearch, null,
			"Initializes memory search byte sequence from " +
				"the current selection provided the selection is less than 10 bytes.");
		options.registerOption(AUTO_RESTRICT_SELECTION, autoRestrictSelection, null,
			"Automactically restricts searches to the to the current selection," +
				" if a selection exists");
		options.registerOption(SearchConstants.SEARCH_HIGHLIGHT_NAME, highlightMatches, null,
			"Toggles highlight search results");

		options.registerThemeColorBinding(SearchConstants.SEARCH_HIGHLIGHT_COLOR_OPTION_NAME,
			SearchConstants.SEARCH_HIGHLIGHT_COLOR.getId(), null,
			"The search result highlight color");
		options.registerThemeColorBinding(
			SearchConstants.SEARCH_HIGHLIGHT_CURRENT_COLOR_OPTION_NAME,
			SearchConstants.SEARCH_HIGHLIGHT_CURRENT_ADDR_COLOR.getId(), null,
			"The search result highlight color for the currently selected match");

		loadSearchOptions(options);

		searchOptionsListener = this::searchOptionsChanged;
		options.addOptionsChangeListener(searchOptionsListener);
	}
Class for managing search tool options.
Ghidra/Features/Base/src/main/java/ghidra/features/base/memsearch/gui/MemorySearchOptions.java