parameters: (self, line)
return_statement: return ''.join(ws), line[ws_len:]
docstring: Parse fence line.
docstring_summary: Parse fence line.
docstring_tokens: Parse fence line .
function: def parse_fence_line(self, line):
          """Parse fence line."""
  
          ws_len = 0
          ws_virtual_len = 0
          ws = []
          index = 0
          for c in line:
              if ws_virtual_len >= self.ws_virtual_len:
                  break
              if c not in PREFIX_CHARS:
                  break
              ws_len += 1
              if c == '\t':
                  tab_size = self.tab_len - (index % self.tab_len)
                  ws_virtual_len += tab_size
                  ws.append(' ' * tab_size)
              else:
                  tab_size = 1
                  ws_virtual_len += 1
                  ws.append(c)
              index += tab_size
  
          return ''.join(ws), line[ws_len:]
function_tokens: def parse_fence_line ( self , line ) : ws_len = 0 ws_virtual_len = 0 ws = [ ] index = 0 for c in line : if ws_virtual_len >= self . ws_virtual_len : break if c not in PREFIX_CHARS : break ws_len += 1 if c == '\t' : tab_size = self . tab_len - ( index % self . tab_len ) ws_virtual_len += tab_size ws . append ( ' ' * tab_size ) else : tab_size = 1 ws_virtual_len += 1 ws . append ( c ) index += tab_size return '' . join ( ws ) , line [ ws_len : ]