Only use deepcopy on the default icons, not the whole default options table.
We only need to deepcopy at all because the icons are merged together, and sometimes share references to each other.
Only prevent expansion of the final click group if there are click groups in the bufferline.
I noticed that, since I have clickable = false in my config, that this was the only click handler in the barbar at all. The reason for it being there is only to prevent bugs when clickable == true, so we can avoid making a new string per render in this case.
This PR does two things to increase performance:
deepcopy
on the default icons, not the whole default options table.deepcopy
at all because the icons are merged together, and sometimes share references to each other.clickable = false
in my config, that this was the only click handler in the barbar at all. The reason for it being there is only to prevent bugs whenclickable == true
, so we can avoid making a new string per render in this case.