@@ -32,20 +32,43 @@ vim.api.nvim_create_autocmd({
32
32
callback = function ()
33
33
--- | fS
34
34
35
- require ( " bars.statusline " ). clean ();
36
- require (" bars.statuscolumn " ).clean ();
37
- require (" bars.winbar " ).clean ();
38
- require (" bars.tabline " ).clean ();
35
+ local function callback ()
36
+ require (" bars.statusline " ).clean ();
37
+ require (" bars.statuscolumn " ).clean ();
38
+ require (" bars.winbar " ).clean ();
39
39
40
- vim .schedule (function ()
41
40
for _ , win in ipairs (vim .api .nvim_list_wins ()) do
42
41
require (" bars.statusline" ).attach (win );
43
42
require (" bars.statuscolumn" ).attach (win );
44
43
require (" bars.winbar" ).attach (win );
45
44
end
45
+ end
46
+
47
+ if vim .in_fast_event () then
48
+ vim .schedule (callback );
49
+ else
50
+ callback ();
51
+ end
52
+
53
+ --- | fE
54
+ end
55
+ });
56
+
57
+ --- Handle Tabline differently.
58
+ vim .api .nvim_create_autocmd (" TabNew" , {
59
+ callback = function ()
60
+ --- | fS
46
61
62
+ local function callback ()
63
+ require (" bars.tabline" ).clean ();
47
64
require (" bars.tabline" ).attach ();
48
- end );
65
+ end
66
+
67
+ if vim .in_fast_event () then
68
+ vim .schedule (callback );
69
+ else
70
+ callback ();
71
+ end
49
72
50
73
--- | fE
51
74
end
@@ -68,21 +91,23 @@ vim.api.nvim_create_autocmd({ "OptionSet" }, {
68
91
return ;
69
92
end
70
93
71
- --- Clean up invalid windows.
72
- require (" bars.statusline" ).clean ();
73
- require (" bars.statuscolumn" ).clean ();
74
- require (" bars.winbar" ).clean ();
75
- require (" bars.tabline" ).clean ();
94
+ local function callback ()
95
+ require (" bars.statusline" ).clean ();
96
+ require (" bars.statuscolumn" ).clean ();
97
+ require (" bars.winbar" ).clean ();
76
98
77
- vim .schedule (function ()
78
99
for _ , win in ipairs (vim .api .nvim_list_wins ()) do
79
100
require (" bars.statusline" ).attach (win );
80
101
require (" bars.statuscolumn" ).attach (win );
81
102
require (" bars.winbar" ).attach (win );
82
103
end
104
+ end
83
105
84
- require (" bars.tabline" ).attach ();
85
- end );
106
+ if vim .in_fast_event () then
107
+ vim .schedule (callback );
108
+ else
109
+ callback ();
110
+ end
86
111
87
112
--- | fE
88
113
end
0 commit comments