def f(region): if not region.a == region.b: return shared.erase_region(view, edit, region) point = region.a (lb, rb) = shared.get_expression(view, point) if shared.truthy(lb, rb): region = sublime.Region(lb, rb) if shared.is_expression_empty(view.substr(region)): shared.erase_region(view, edit, region) return lb elif expression: view.erase(edit, sublime.Region(lb + 1, rb - 1)) return lb + 1 else: view.erase(edit, sublime.Region(point, rb - 1)) return point else: line_region = view.line(point) a = line_region.begin() if not expression: a = point return shared.erase_region(view, edit, sublime.Region(a, line_region.end()))
def remove_empty_expression(view, edit, point, fail_direction): (lb, rb) = shared.get_expression(view, point) if lb and rb: expr_region = sublime.Region(lb, rb) expression = view.substr(expr_region) if shared.is_expression_empty(expression): return shared.erase_region(view, edit, expr_region) else: return sublime.Region(point + fail_direction, point + fail_direction) else: return point
def remove_empty_expression(view, edit, point, fail_direction): (lb, rb) = shared.get_expression(view, point) if shared.truthy(lb, rb): expr_region = sublime.Region(lb, rb) expression = view.substr(expr_region) if shared.is_expression_empty(expression): return shared.erase_region(view, edit, expr_region) else: return sublime.Region(point + fail_direction, point + fail_direction) else: return point