Table of Contents

Class: Whitespace | eric3/Checks/Tabnanny.py
--- | ---

Methods |
--- | ---
__init__ equal indent_level less longest_run_of_spaces not_equal_witness not_less_witness
| __init__

    __init__ ( self,  ws )

| equal

    equal ( self,  other )

return true iff self.indent_level(t) == other.indent_level(t) for all t >= 1

| indent_level

    indent_level ( self,  tabsize )

count, il = self.norm for i in range(len(count)): if count[i]: il = il + (i/tabsize + 1)tabsize count[i] return il

| less

    less ( self,  other )

Return true iff self.indent_level(t) < other.indent_level(t) for all t >= 1. The algorithm is due to Vincent Broman. Easy to prove it's correct. XXXpost that. Trivial to prove n is sharp (consider T vs ST). Unknown whether there's a faster general way. I suspected so at first, but no longer. For the special (but common!) case where M and N are both of the form (T)(S), M.less(N) iff M.len() < N.len() and M.num_tabs() <= N.num_tabs(). Proof is easy but kinda long-winded. XXXwrite that up. Note that M is of the form (T)(S) iff len(M.norm[0]) <= 1.

| longest_run_of_spaces

    longest_run_of_spaces ( self )

return length of longest contiguous run of spaces (whether or not preceding a tab)

| not_equal_witness

    not_equal_witness ( self,  other )

return a list of tuples (ts, i1, i2) such that i1 == self.indent_level(ts) != other.indent_level(ts) == i2. Intended to be used after not self.equal(other) is known, in which case it will return at least one witnessing tab size.

| not_less_witness

    not_less_witness ( self,  other )

return a list of tuples (ts, i1, i2) such that i1 == self.indent_level(ts) >= other.indent_level(ts) == i2. Intended to be used after not self.less(other) is known, in which case it will return at least one witnessing tab size.

Table of Contents

This document was automatically generated by HappyDoc version 2.1