lib/rules/indent.js
function getFixerFunction() {
			var rangeToFix = [];

			if (needed > gotten) {
				var spaces = "" + new Array(needed - gotten + 1).join(indentChar);  // replace with repeat in future

				if (isLastNodeCheck === true) {
					rangeToFix = [
						node.range[1] - 1,
						node.range[1] - 1
					];
				} else {
					rangeToFix = [
						node.range[0],
						node.range[0]
					];
				}

				return function(fixer) {
					return fixer.insertTextBeforeRange(rangeToFix, spaces);
				};
			} else {
				if (isLastNodeCheck === true) {
					rangeToFix = [
						node.range[1] - (gotten - needed) - 1,
						node.range[1] - 1
					];
				} else {
					rangeToFix = [
						node.range[0] - (gotten - needed),
						node.range[0]
					];
				}

				return function(fixer) {
					return fixer.removeRange(rangeToFix);
				};
			}
		}
function getFixerFunction() {
			var rangeToFix = [];

			if (needed > gotten) {
				var spaces = "" + new Array(needed - gotten + 1).join(indentChar);  // replace with repeat in future

				if (isLastNodeCheck === true) {
					rangeToFix = [
						node.range[1] - 1,
						node.range[1] - 1
					];
				} else {
					rangeToFix = [
						node.range[0],
						node.range[0]
					];
				}

				return function(fixer) {
					return fixer.insertTextBeforeRange(rangeToFix, spaces);
				};
			} else {
				if (isLastNodeCheck === true) {
					rangeToFix = [
						node.range[1] - (gotten - needed) - 1,
						node.range[1] - 1
					];
				} else {
					rangeToFix = [
						node.range[0] - (gotten - needed),
						node.range[0]
					];
				}

				return function(fixer) {
					return fixer.removeRange(rangeToFix);
				};
			}
		}
Responsible for fixing the indentation issue fix
@returns {Function} function to be executed by the fixer
@private