@Override
	public void findAll(Program program, SearchAndReplaceQuery query,
			Accumulator<QuickFix> accumulator, TaskMonitor monitor) throws CancelledException {

		int categoryCount = program.getDataTypeManager().getCategoryCount();
		monitor.initialize(categoryCount, "Searching Datatype categories...");

		Pattern pattern = query.getSearchPattern();

		DataTypeManager dtm = program.getDataTypeManager();
		Category rootCategory = dtm.getRootCategory();

		visitRecursively(rootCategory, category -> {
			monitor.increment();
			Matcher matcher = pattern.matcher(category.getName());
			if (matcher.find()) {
				String newName = matcher.replaceAll(query.getReplacementText());
				RenameCategoryQuickFix item = new RenameCategoryQuickFix(program, category, newName);
				accumulator.add(item);
				if (accumulator.size() >= query.getSearchLimit()) {
					return;
				}
			}
		});

	}
{@link SearchAndReplaceHandler} for handling search and replace for datatype category names.
Ghidra/Features/Base/src/main/java/ghidra/features/base/replace/handler/DatatypeCategorySearchAndReplaceHandler.java