Exemple #1
0
def get_point_row_and_col(view, from_point):
    """Return the row and col the current point is in the table.
    """
    line_num, _ = view.rowcol(from_point)
    line_num -= 1

    line_text = utilities.text_at_line(view, line_num)
    row_num = 0
    while line_text and (TABLE_PATTERN.match(line_text) or
                         SEPARATOR_PATTERN.match(line_text)):
        row_num += 1
        line_num -= 1
        line_text = utilities.text_at_line(view, line_num)

    line_start_point = view.line(from_point)
    region = sublime.Region(line_start_point.a, from_point)
    precedding_text = view.substr(region)

    split_row = precedding_text.split("|")
    if len(split_row) >= 2:
        col_num = len(split_row) - 2
    elif split_row[0].strip() == "":
        col_num = -1
    else:
        col_num = None
    return (row_num, col_num)
Exemple #2
0
def convert_table_above_or_below_as_list(view, from_point, above):
    """Convert the table above the point as python list.

    Returns
    -------
    table: list
        A nested list representing the table.

    """
    line_num, _ = view.rowcol(from_point)
    line_num += - 1 if above else 1

    line_text = utilities.text_at_line(view, line_num)
    table = []

    while line_text and (TABLE_PATTERN.match(line_text) or
                         SEPARATOR_PATTERN.match(line_text)):
        table.append(_convert_row_text_as_list(line_text))
        line_num += -1 if above else 1
        line_text = utilities.text_at_line(view, line_num)

    if above:
        table = table[::-1]

    return table
def convert_table_above_or_below_as_list(view, from_point, above):
    """Convert the table above the point as python list.

    Returns
    -------
    table: list
        A nested list representing the table.

    """
    line_num, _ = view.rowcol(from_point)
    line_num += -1 if above else 1

    line_text = utilities.text_at_line(view, line_num)
    table = []

    while line_text and (TABLE_PATTERN.match(line_text)
                         or SEPARATOR_PATTERN.match(line_text)):
        table.append(_convert_row_text_as_list(line_text))
        line_num += -1 if above else 1
        line_text = utilities.text_at_line(view, line_num)

    if above:
        table = table[::-1]

    return table
def get_point_row_and_col(view, from_point):
    """Return the row and col the current point is in the table.
    """
    line_num, _ = view.rowcol(from_point)
    line_num -= 1

    line_text = utilities.text_at_line(view, line_num)
    row_num = 0
    while line_text and (TABLE_PATTERN.match(line_text)
                         or SEPARATOR_PATTERN.match(line_text)):
        row_num += 1
        line_num -= 1
        line_text = utilities.text_at_line(view, line_num)

    line_start_point = view.line(from_point)
    region = sublime.Region(line_start_point.a, from_point)
    precedding_text = view.substr(region)

    split_row = precedding_text.split("|")
    if len(split_row) >= 2:
        col_num = len(split_row) - 2
    elif split_row[0].strip() == "":
        col_num = -1
    else:
        col_num = None
    return (row_num, col_num)
Exemple #5
0
def convert_row_at_point_as_list(view, from_point):
    """Convert the row at point as a python list.
    """
    line_num, _ = view.rowcol(from_point)
    line_text = utilities.text_at_line(view, line_num)

    return _convert_row_text_as_list(line_text)
def convert_row_at_point_as_list(view, from_point):
    """Convert the row at point as a python list.
    """
    line_num, _ = view.rowcol(from_point)
    line_text = utilities.text_at_line(view, line_num)

    return _convert_row_text_as_list(line_text)
Exemple #7
0
def is_line_separator(view, line_num):
    """Check if the current line is a separator.
    """
    text = utilities.text_at_line(view, line_num)
    if text and SEPARATOR_PATTERN.match(text):
        return True
    else:
        return False
def is_line_separator(view, line_num):
    """Check if the current line is a separator.
    """
    text = utilities.text_at_line(view, line_num)
    if text and SEPARATOR_PATTERN.match(text):
        return True
    else:
        return False