@Override
	protected void decompilerActionPerformed(DecompilerActionContext context) {

		ClangToken tokenAtCursor = context.getTokenAtCursor();
		Composite composite = getCompositeDataType(tokenAtCursor);
		ClangFieldToken token = (ClangFieldToken) tokenAtCursor;
		DataTypeComponent dtc = null;
		int offset = token.getOffset();
		String fieldName = token.getText();
		if (composite instanceof Structure structure) {
			dtc = structure.getComponentContaining(offset);
		}
		else if (composite instanceof Union union) {

			int n = union.getNumComponents();
			for (int i = 0; i < n; i++) {
				DataTypeComponent unionDtc = union.getComponent(i);
				String dtcName = unionDtc.getFieldName();
				if (fieldName.equals(dtcName)) {
					dtc = unionDtc;
					break;
				}
			}
		}

		if (dtc == null) {
			Msg.debug(this,
				"Unable to find field '%s' at offset %d in composite %s".formatted(fieldName,
					offset, composite.getName()));
			return;
		}

		Address address = context.getAddress();
		Program program = context.getProgram();
		int ordinal = dtc.getOrdinal();
		PluginTool tool = context.getTool();

		DataTypeManagerService service =
			tool.getService(DataTypeManagerService.class);
		EditDataFieldDialog dialog =
			new EditDataFieldDialog(tool, service, composite, program, address, ordinal);
		tool.showDialog(dialog);
	}
Performs a quick edit of a given field using the {@link EditDataFieldDialog}.   This action is
similar to the same named action available in the Listing.
Ghidra/Features/Decompiler/src/main/java/ghidra/app/plugin/core/decompile/actions/EditFieldAction.java