File tree Expand file tree Collapse file tree 1 file changed +7
-1
lines changed Expand file tree Collapse file tree 1 file changed +7
-1
lines changed Original file line number Diff line number Diff line change @@ -100,24 +100,30 @@ end
100
100
--- @param bufnr bufnr
101
101
--- @return string
102
102
local get_pick_letter = function (filename , bufnr )
103
+ -- If the bufnr has already a letter associated to it return that.
103
104
if gl_mut_taken_pick_letters [bufnr ] then
104
105
return gl_mut_taken_pick_letters [bufnr ]
105
106
end
106
107
108
+ -- If the initial letter of the filename is valid and it hasn't already been
109
+ -- assigned return that.
107
110
local init_letter = filename :sub (1 , 1 )
108
- if gl_mut_valid_pick_letters :find (init_letter ) then
111
+ if gl_mut_valid_pick_letters :find (init_letter , nil , true ) then
109
112
gl_mut_valid_pick_letters = gl_mut_valid_pick_letters :gsub (init_letter , ' ' )
110
113
gl_mut_taken_pick_letters [bufnr ] = init_letter
111
114
return init_letter
112
115
end
113
116
117
+ -- Return the first valid letter if there is one.
114
118
if # gl_mut_valid_pick_letters > 0 then
115
119
local first_valid = gl_mut_valid_pick_letters :sub (1 , 1 )
116
120
gl_mut_valid_pick_letters = gl_mut_valid_pick_letters :sub (2 )
117
121
gl_mut_taken_pick_letters [bufnr ] = first_valid
118
122
return first_valid
119
123
end
120
124
125
+ -- Finally, just return a '?' (this is rarely reached, you'd need to have
126
+ -- opened 54 buffers in the same session).
121
127
return ' ?'
122
128
end
123
129
You can’t perform that action at this time.
0 commit comments