Это пример конфигурационного файла для кода, который занимается переименовыванием файлов по шаблону. Шаблон формируется массивом rules.
Так, например, этот конфиг скопирует файл ~/src/subdir1/file1.txt в ~/dst/2022-03-06_subdir1_0.txt
Мне очень хотелось бы сделать так, чтобы читать мануал пришлось только в нетиповых случаях когда «хочется странного», а в остальных случаях хватало бы примеров из самого конфига и здравого смысла.
Есть у кого интересные идеи как бы сделать лучше?
source_dir = "~/src";
destination_dir = "~/dst";
keep_dir_structure = false;
copy_or_rename = "copy";
rules = ( 
    {
        type        = "date";
        date_format = "%Y-%m-%d";
    },
    {   
        type        = "text";
        text        = "_";
    },
    {   
        type        = "dir";
        // mode     = "whole path"|"parent dir only"
        mode        = "parent dir only";
        separator   = "-"
      
    },
    {   
        type        = "text";
        text        = "_";
    },
    {   
        type        = "integer";
        // mode     = "global"|"local for every dir"
        mode        = "local for every dir";
        start       = 0;
        step        = 1;
    },
    {   
        type        = "extension";
        // leave the "text" variable empty to use an original extension
        text        = "";
        // register    = "lowercase"|"uppercase";
        register    = "lowercase";
    } 
);


