commit fe57971b9192d5ee093df12b288d5d2d9fd119c0
parent 2f8d3e8d9ea4abfff676248c840a8ae4cacd8fb3
Author: emmett1 <me@emmett1.my>
Date: Sat, 11 Apr 2026 02:11:23 +0800
removed extension colouring, and changed some colours
Diffstat:
| M | sfm | | | 45 | ++++++++++++--------------------------------- |
1 file changed, 12 insertions(+), 33 deletions(-)
diff --git a/sfm b/sfm
@@ -22,36 +22,15 @@ file_colour() {
_fc_ext="${_fc_name##*.}"
_fc_ext=$(printf '%s' "$_fc_ext" | tr '[:upper:]' '[:lower:]')
# executable?
- [ -x "${CWD}/${_fc_name}" ] && { printf '%s' "${RED}${BOLD}"; return; }
- case "$_fc_ext" in
- # images
- jpg|jpeg|png|gif|bmp|tiff|tif|webp|svg|ico|heic|heif|avif)
- printf '%s' "${MAGENTA}" ;;
- # video
- mp4|mkv|avi|mov|wmv|flv|webm|m4v|mpeg|mpg|3gp|ogv)
- printf '%s' "${MAGENTA}${BOLD}" ;;
- # audio
- mp3|flac|ogg|wav|aac|m4a|opus|wma|aiff)
- printf '%s' "${CYAN}${BOLD}" ;;
- # archives
- zip|tar|gz|bz2|xz|zst|7z|rar|tgz|tbz2)
- printf '%s' "${RED}" ;;
- # documents / text
- pdf|doc|docx|odt|xls|xlsx|ods|ppt|pptx|odp)
- printf '%s' "${YELLOW}" ;;
- # code / scripts
- sh|bash|zsh|fish|py|rb|pl|lua|js|ts|jsx|tsx|\
- c|h|cpp|cc|cxx|hpp|rs|go|java|kt|swift|cs|php|r)
- printf '%s' "${GREEN}" ;;
- # data / config
- json|xml|yaml|yml|toml|ini|conf|cfg|env)
- printf '%s' "${CYAN}" ;;
- # markdown / text
- md|markdown|rst|txt|log)
- printf '%s' "${WHITE}" ;;
- # default
- *) printf '%s' "${WHITE}" ;;
- esac
+ [ -x "${CWD}/${_fc_name}" ] && { printf '%s' "${GREEN}${BOLD}" ; return; }
+ # node device?
+ [ -c "${CWD}/${_fc_name}" ] && { printf '%s' "${MAGENTA}${BOLD}"; return; }
+ # block device?
+ [ -b "${CWD}/${_fc_name}" ] && { printf '%s' "${MAGENTA}${BOLD}"; return; }
+ # readable?
+ [ -r "${CWD}/${_fc_name}" ] || { printf '%s' "${RED}${BOLD}" ; return; }
+ # writable?
+ [ -w "${CWD}/${_fc_name}" ] || { printf '%s' "${RED}${BOLD}" ; return; }
}
goto() { printf '\033[%d;%dH' "$1" "$2"; }
@@ -362,12 +341,12 @@ render_row() {
entry=$(get_entry "$_idx")
case "$entry" in
- */) colour="${GREEN}${BOLD}" ;;
+ */) colour="${BLUE}${BOLD}" ;;
*@)
_name="${entry%@}"
# broken symlink if target doesn't exist
if [ -e "${CWD}/${_name}" ]; then
- colour="${MAGENTA}${BOLD}"
+ colour="${CYAN}${BOLD}"
else
colour="${RED}${BOLD}"
fi ;;
@@ -471,7 +450,7 @@ draw_preview() {
_dl=" ${_dn}/"
[ "${#_dl}" -gt "$((_pw - 1))" ] && _dl="$(printf '%s' "$_dl" | cut -c1-$((_pw-2)))~"
goto "$_pr" "$_px"
- printf '%s%s%s' "${GREEN}${BOLD}" "$_dl" "${RESET}"
+ printf '%s%s%s' "${BLUE}${BOLD}" "$_dl" "${RESET}"
_pr=$((_pr + 1))
done
for _fe in "$_path"/*; do