'Unindent current line or selection
force=True: unindent even if cursor is not a the beginning of the line'

def unindent(self, force=False):

    if self.has_selected_text():
        self.remove_prefix(self.indent_chars)
    else:
        leading_text = self.get_text('sol', 'cursor')
        if (force or (not leading_text.strip()) or (self.tab_indents and self.tab_mode)):
            if self.is_python_like():
                if (not self.fix_indent(forward=False)):
                    self.remove_prefix(self.indent_chars)
            elif leading_text.endswith(' DCTB '):
                self.remove_prefix(' DCTB ')
            else:
                self.remove_prefix(self.indent_chars)
