Esempio n. 1
0
    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()))
Esempio n. 2
0
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
Esempio n. 3
0
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
Esempio n. 4
0
	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()))