@@ -204,7 +204,11 @@ function Calendar:render()
204
204
205
205
-- FIXME this line is currently not shown because of a bug.
206
206
if self :has_time () then
207
- table.insert (content , ' [t] - enter time [T] - clear time' )
207
+ if self .select_state == SelState .DAY then
208
+ table.insert (content , ' [t] - enter time [T] - clear time' )
209
+ else
210
+ table.insert (content , ' [d] - enter time [T] - clear time' )
211
+ end
208
212
else
209
213
table.insert (content , ' [t] - enter time' )
210
214
end
@@ -281,6 +285,32 @@ function Calendar:render_time()
281
285
return l_pad .. hour_str .. ' :' .. min_str .. r_pad
282
286
end
283
287
288
+ function Calendar :rerender_time ()
289
+ vim .api .nvim_set_option_value (' modifiable' , true , { buf = self .buf })
290
+ vim .api .nvim_buf_set_lines (self .buf , 8 , 9 , true , { self :render_time () })
291
+ if self :has_time () then
292
+ local map_opts = { buffer = self .buf , silent = true , nowait = true }
293
+ vim .keymap .set (' n' , ' T' , function ()
294
+ self :clear_time ()
295
+ end , map_opts )
296
+ vim .keymap .set (' n' , ' d' , function ()
297
+ self :set_day ()
298
+ end , map_opts )
299
+ if self .select_state == SelState .DAY then
300
+ vim .api .nvim_buf_set_lines (self .buf , 13 , 14 , true , { ' [t] - select day [T] - clear time' })
301
+ else
302
+ vim .api .nvim_buf_set_lines (self .buf , 13 , 14 , true , { ' [d] - select day [T] - clear time' })
303
+ end
304
+ vim .api .nvim_buf_add_highlight (self .buf , namespace , ' Normal' , 8 , 0 , - 1 )
305
+ vim .api .nvim_buf_add_highlight (self .buf , namespace , ' Comment' , 13 , 0 , - 1 )
306
+ else
307
+ vim .api .nvim_buf_set_lines (self .buf , 13 , 14 , true , { ' [t] - enter time' })
308
+ vim .api .nvim_buf_add_highlight (self .buf , namespace , ' Comment' , 8 , 0 , - 1 )
309
+ vim .api .nvim_buf_add_highlight (self .buf , namespace , ' Comment' , 13 , 0 , - 1 )
310
+ end
311
+ vim .api .nvim_set_option_value (' modifiable' , false , { buf = self .buf })
312
+ end
313
+
284
314
function Calendar :has_time ()
285
315
return not self .date .date_only
286
316
end
@@ -552,28 +582,15 @@ function Calendar:set_time()
552
582
self :set_sel_hour ()
553
583
end
554
584
555
- function Calendar :rerender_time ()
556
- vim .api .nvim_set_option_value (' modifiable' , true , { buf = self .buf })
557
- vim .api .nvim_buf_set_lines (self .buf , 8 , 9 , true , { self :render_time () })
558
- if self :has_time () then
559
- vim .keymap .set (' n' , ' T' , function ()
560
- self :clear_time ()
561
- end , { buffer = self .buf , silent = true , nowait = true })
562
- vim .api .nvim_buf_set_lines (self .buf , 13 , 14 , true , { ' [t] - enter time [T] - clear time' })
563
- vim .api .nvim_buf_add_highlight (self .buf , namespace , ' Normal' , 8 , 0 , - 1 )
564
- vim .api .nvim_buf_add_highlight (self .buf , namespace , ' Comment' , 13 , 0 , - 1 )
565
- else
566
- vim .api .nvim_buf_set_lines (self .buf , 13 , 14 , true , { ' [t] - enter time' })
567
- vim .api .nvim_buf_add_highlight (self .buf , namespace , ' Comment' , 8 , 0 , - 1 )
568
- vim .api .nvim_buf_add_highlight (self .buf , namespace , ' Comment' , 13 , 0 , - 1 )
569
- end
570
- vim .api .nvim_set_option_value (' modifiable' , false , { buf = self .buf })
585
+ function Calendar :set_day ()
586
+ self :set_sel_day ()
587
+ self :rerender_time ()
571
588
end
572
589
573
590
function Calendar :clear_time ()
574
591
self .date = self .date :set ({ hour = 0 , min = 0 , date_only = true })
575
- self :rerender_time ()
576
592
self :set_sel_day ()
593
+ self :rerender_time ()
577
594
end
578
595
579
596
function Calendar :set_sel_hour ()
0 commit comments