private void createActions() {

		searchAction = new NavigatableContextAction(SEARCH_ACTION_NAME, getName(), false) {
			@Override
			public void actionPerformed(NavigatableActionContext context) {
				openSearchDialog();
			}
		};

		searchAction.setHelpLocation(new HelpLocation(this.getName(), "Scalar_Search"));
		searchAction.setMenuBarData(
			new MenuData(new String[] { ToolConstants.MENU_SEARCH, "For Scalars..." }, null,
				"search for", -1, "Scalars"));
		searchAction.setDescription("Search program for scalars");
		searchAction.addToWindowWhen(NavigatableActionContext.class);
		tool.addAction(searchAction);

		//
		// Unusual Code: This plugin does not use the delete action directly, but our transient
		//               tables do. We need a way to have keybindings shared for this action.
		//               Further, we need to register it now, not when the transient
		//               providers are created, as they would only appear in the options at
		//               that point.
		//
		DeleteTableRowAction.registerDummy(tool, getName());
	}
We need to be aware of changes to the program that could result in scalars being
added/removed. When this happens we want to update the appropriate providers.

@param ev the domain change event
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/scalartable/ScalarSearchPlugin.java