private void createActions() {
		String pluginName = getName();

		editAction = CommentsActionFactory.getEditCommentsAction(dialog, name);
		tool.addAction(editAction);
		preCommentEditAction = CommentsActionFactory.getSetCommentsAction(dialog, name,
			"Set Pre Comment", CommentType.PRE);
		tool.addAction(preCommentEditAction);

		postCommentEditAction = CommentsActionFactory.getSetCommentsAction(dialog, name,
			"Set Post Comment", CommentType.POST);
		tool.addAction(postCommentEditAction);

		plateCommentEditAction = CommentsActionFactory.getSetCommentsAction(dialog, name,
			"Set Plate Comment", CommentType.PLATE);
		tool.addAction(plateCommentEditAction);

		eolCommentEditAction = CommentsActionFactory.getSetCommentsAction(dialog, name,
			"Set EOL Comment", CommentType.EOL);
		tool.addAction(eolCommentEditAction);

		repeatableCommentEditAction = CommentsActionFactory.getSetCommentsAction(dialog, name,
			"Set Repeatable Comment", CommentType.REPEATABLE);
		tool.addAction(repeatableCommentEditAction);

		deleteAction = new ListingContextAction("Delete Comments", pluginName) {
			@Override
			protected void actionPerformed(ListingActionContext context) {
				deleteComments(context.getProgram(), context.getLocation());
			}

			@Override
			public boolean isEnabledForContext(ListingActionContext context) {
				ProgramLocation loc = context.getLocation();
				if (!CommentsActionFactory.isCommentSupported(loc)) {
					return false;
				}
				if (loc instanceof CommentFieldLocation ||
					loc instanceof FunctionRepeatableCommentFieldLocation) {
					updatePopupPath(deleteAction, "Delete", loc);
					return hasComment(context.getCodeUnit(), loc);
				}
				getPopupMenuData().setMenuPath(new String[] { "Comments", "Delete" });
				return false;
			}
		};
		deleteAction.setPopupMenuData(new MenuData(DELETE_MENUPATH, null, "comments"));
		deleteAction.setKeyBindingData(new KeyBindingData(KeyEvent.VK_DELETE, 0));

		tool.addAction(deleteAction);

		historyAction = new ListingContextAction("Show Comment History", pluginName) {
			@Override
			protected void actionPerformed(ListingActionContext context) {
				showCommentHistory(context);
			}

			@Override
			public boolean isEnabledForContext(ListingActionContext context) {
				ProgramLocation loc = context.getLocation();
				if (!CommentsActionFactory.isCommentSupported(loc)) {
					return false;
				}
				if (loc instanceof CommentFieldLocation ||
					loc instanceof FunctionRepeatableCommentFieldLocation) {
					updatePopupPath(historyAction, "Show History for", loc);
				}
				else {
					historyAction.getPopupMenuData().setMenuPath(HISTORY_MENUPATH);
				}
				historyAction
						.setEnabled(CommentTypeUtils.isCommentAllowed(context.getCodeUnit(), loc));
				return true;
			}
		};
		historyAction.setPopupMenuData(new MenuData(HISTORY_MENUPATH, null, "comments"));

		tool.addAction(historyAction);
	}
Called by the deleteAction to delete an end-of-line comment.
@param program the {@link Program} for which to act
@param loc the {@link ProgramLocation} for which to delete the comment
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/comments/CommentsPlugin.java