@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['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, {
				'highlight_group_prefix': '{0}{1}'.format(current, modified),
				'divider_highlight_group': 'tab:divider'
			})
		))(
			buffer,
			'buf' if buffer is cur_buffer else 'buf_nc',
			'_mod' if int(vim.eval('getbufvar({0}, \'&modified\')'.format(buffer.number))) > 0 else ''
		)
		for buffer in vim.buffers if (
		    buffer is cur_buffer
		    or show_unlisted
		    # We can't use vim_getbufoption(segment_info, 'buflisted')
		    # here for performance reasons. Querying the buffer options
		    # through the vim python module's option attribute caused
		    # vim to think it needed to update the tabline for every
		    # keystroke after any event that changed the buffer's
		    # options.
		    #
		    # Using the vim module's eval method to directly use the
		    # buflisted(nr) vim method instead does not cause vim to
		    # update the tabline after every keystroke, but rather after
		    # events that would change that status. Fixes #1281
		    or int(vim.eval('buflisted(%s)' % buffer.number)) > 0
		)
	)
Removes the NAT rules already configured when an internal network is
dataset/ETHPy150Open powerline/powerline/powerline/listers/vim.py/bufferlister--crossover with--dataset/ETHPy150Open openstack/networking-cisco/networking_cisco/plugins/cisco/cfg_agent/device_drivers/asr1k/asr1k_routing_driver.py/ASR1kRoutingDriver._remove_internal_nw_nat_rules