parent
f8312cd06f
commit
aefa66c04d
@ -244,7 +244,7 @@ if the tree was previously open.
|
|||||||
|
|
||||||
*nvim-tree.sort_by*
|
*nvim-tree.sort_by*
|
||||||
Changes how files within the same directory are sorted.
|
Changes how files within the same directory are sorted.
|
||||||
Can be one of 'name', 'case_sensitive' or 'modification_time'.
|
Can be one of 'name', 'case_sensitive', 'modification_time' or 'extension'.
|
||||||
Type: `string`, Default: `"name"`
|
Type: `string`, Default: `"name"`
|
||||||
|
|
||||||
*nvim-tree.hijack_unnamed_buffer_when_opening*
|
*nvim-tree.hijack_unnamed_buffer_when_opening*
|
||||||
|
|||||||
@ -124,12 +124,38 @@ function M.node_comparator_modification_time(a, b)
|
|||||||
return last_modified_b <= last_modified_a
|
return last_modified_b <= last_modified_a
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function M.node_comparator_extension(a, b)
|
||||||
|
if not (a and b) then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
if a.nodes and not b.nodes then
|
||||||
|
return true
|
||||||
|
elseif not a.nodes and b.nodes then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
if not (a.extension and b.extension) then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
if a.extension and not b.extension then
|
||||||
|
return true
|
||||||
|
elseif not a.extension and b.extension then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
return a.extension:lower() <= b.extension:lower()
|
||||||
|
end
|
||||||
|
|
||||||
function M.setup(opts)
|
function M.setup(opts)
|
||||||
M.sort_by = opts.sort_by
|
M.sort_by = opts.sort_by
|
||||||
if M.sort_by == "modification_time" then
|
if M.sort_by == "modification_time" then
|
||||||
M.node_comparator = M.node_comparator_modification_time
|
M.node_comparator = M.node_comparator_modification_time
|
||||||
elseif M.sort_by == "case_sensitive" then
|
elseif M.sort_by == "case_sensitive" then
|
||||||
M.node_comparator = M.node_comparator_name_case_sensisive
|
M.node_comparator = M.node_comparator_name_case_sensisive
|
||||||
|
elseif M.sort_by == "extension" then
|
||||||
|
M.node_comparator = M.node_comparator_extension
|
||||||
else
|
else
|
||||||
M.node_comparator = M.node_comparator_name_ignorecase
|
M.node_comparator = M.node_comparator_name_ignorecase
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user