Un piccolo strumento a interfaccia a linea di comando per far sì che i tuoi file rispettino le convenzioni delle risorse di CSUnibo per gli insegnamenti.
Nelle regex non accettiamo mai accenti e altri segni grafici non alfanumerici (a meno che non sia il trattino classico). csurename dovrebbe rimuoverli tutti, possibilmente sostituendoli con le loro controparti "semplici". Vista la enorme quantità di caratteri speciali di questo tipo, è altamente preferibile trovare un pacchetto specializzato che lo faccia per noi.
Quando csurename rinomina i file (es. IMMAGINE.png -> immagine.png), i riferimenti a essi da dentro le risorse si rompono (es. appunti.md che incorpora un'immagine), ma andrebbero aggiornati di conseguenza.
Aggiunta di Unit Tests vari che andranno poi integrati in un eventuale CI.
Al momento organizzerei i tests in questo modo:
.tests/
|-- modules/
| |-- template.rs
| |-- analisi.rs
| `-- ...
|-- integration_tests.rs
`-- common.rs
modules/ => i vari insegnamenti con i loro regex e (default) template.
integration_tests.rs => i test piu' semplici ed esterni.
common.rs => funzioni condivise dai test.
Per i test dei regex si potrebbero usare proprio le pr fallite in passato.
Vari test piu avanzati (come ad esempio per #1 e #7) saranno poi discussi in altre issues o qui.
Lo strumento originale include molte flag che però a csurename non servono. Una volta stabili i valori predefiniti che ci interessano (es. ricorsivo, cartelle, etc), potremo procedere a eliminare tutte le flag.