def align_selected_code_on_character(character): selection = PySelection(editor) selection.selectCompleteLine() # change selection to entire lines lines = StringUtils.splitInLines(selection.getSelectedText()) adjusted_lines = align_on_character(lines, character) replacement = ''.join(adjusted_lines) selection.getDoc().replace(selection.getStartLine().getOffset(), selection.getSelLength(), replacement)