Parse : Add parse_snake.
This commit is contained in:
parent
ff07b915af
commit
0be0396232
|
@ -15,3 +15,9 @@ curl -s https://git.voronind.com/voronind/linux/raw/branch/master/.bootstrap.sh
|
||||||
# Load Gnome settings.
|
# Load Gnome settings.
|
||||||
|
|
||||||
To load Gnome settings run `dconf_load`.
|
To load Gnome settings run `dconf_load`.
|
||||||
|
|
||||||
|
# Conventions.
|
||||||
|
|
||||||
|
Directory names are `snake_case` so you don't have to release the Shift key 10 times per second when tabing deep for directory.
|
||||||
|
|
||||||
|
File names are `CamelCase` to differ from directories, also it works nice with things like my archives where underscore and dash separate extra file data.
|
||||||
|
|
|
@ -26,6 +26,21 @@ function parse_camel() {
|
||||||
echo "${result}"
|
echo "${result}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Parse to snake_case.
|
||||||
|
# Usage: parse_snake <STRING>
|
||||||
|
function parse_snake() {
|
||||||
|
local IFS=${IFS}_-
|
||||||
|
local parts=($(parse_simplify ${1}))
|
||||||
|
local result
|
||||||
|
|
||||||
|
for part in "${parts[@]}"; do
|
||||||
|
local word="${part,,}"
|
||||||
|
result="${result}_${word}"
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "${result#_}"
|
||||||
|
}
|
||||||
|
|
||||||
# Parse data keeping only alphanumeric characters.
|
# Parse data keeping only alphanumeric characters.
|
||||||
# Usage: parse_alnum <STRING>
|
# Usage: parse_alnum <STRING>
|
||||||
function parse_alnum() {
|
function parse_alnum() {
|
||||||
|
|
Reference in a new issue