feat: use natural sort order by default (#328)

* Sort entries with natural sorting

* refactor: move natural ordering logic and add config option

---------

Co-authored-by: Steven Arcangeli <stevearc@stevearc.com>
This commit is contained in:
Lucas Eras Paiva 2024-03-12 21:21:54 -05:00 committed by GitHub
parent e045ee3b4e
commit 71b076b3af
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 20 additions and 2 deletions

View file

@ -279,6 +279,10 @@ M.register("type", {
end,
})
local function pad_number(int)
return string.format("%012d", int)
end
M.register("name", {
render = function(entry, conf)
error("Do not use the name column. It is for sorting only")
@ -289,7 +293,11 @@ M.register("name", {
end,
get_sort_value = function(entry)
return entry[FIELD_NAME]
if config.view_options.natural_order then
return entry[FIELD_NAME]:gsub("%d+", pad_number)
else
return entry[FIELD_NAME]
end
end,
})