@requires_segment_info
def bufferlister(pl, segment_info, show_unlisted=False, **kwargs):
 cur_buffer = vim.current.buffer
 cur_bufnr = cur_buffer.number
 def add_multiplier(buffer, dct):
  dct[u'priority_multiplier'] = (1 + (0.001 * abs((buffer.number - cur_bufnr))))
  return dct
 return ((lambda buffer, current, modified: (buffer_updated_segment_info(segment_info, buffer), add_multiplier(buffer, {u'highlight_group_prefix': u'{0}{1}'.format(current, modified), u'divider_highlight_group': u'tab:divider'})))(buffer, (u'buf' if (buffer is cur_buffer) else u'buf_nc'), (u'_mod' if (int(vim.eval(u"getbufvar({0}, '&modified')".format(buffer.number))) > 0) else u'')) for buffer in vim.buffers if ((buffer is cur_buffer) or show_unlisted or (int(vim.eval((u'buflisted(%s)' % buffer.number))) > 0)))

@ requires_segment_info def bufferlister ( pl , segment_info , show_unlisted = False , ** kwargs ) : cur_buffer = vim . current . buffer cur_bufnr = cur_buffer . number def add_multiplier ( buffer , dct ) : dct [ u'priority_multiplier' ] = ( 1 + ( 0.001 * abs ( ( buffer . number - cur_bufnr ) ) ) ) return dct return ( ( lambda buffer , current , modified : ( buffer_updated_segment_info ( segment_info , buffer ) , add_multiplier ( buffer , { u'highlight_group_prefix' : u'{0}{1}' . format ( current , modified ) , u'divider_highlight_group' : u'tab:divider' } ) ) ) ( buffer , ( u'buf' if ( buffer is cur_buffer ) else u'buf_nc' ) , ( u'_mod' if ( int ( vim . eval ( u"getbufvar({0}, '&modified')" . format ( buffer . number ) ) ) > 0 ) else u'' ) ) for buffer in vim . buffers if ( ( buffer is cur_buffer ) or show_unlisted or ( int ( vim . eval ( ( u'buflisted(%s)' % buffer . number ) ) ) > 0 ) ) )
list all buffers in segment_info format specifically generates a list of segment info dictionaries with buffer and bufnr keys set to buffer-specific ones .