25 lines
1,010 B
Text
Executable file
25 lines
1,010 B
Text
Executable file
#!/bin/bash - not strictly necessary, but helps nano with syntax highlighting.
|
|
|
|
__nanorc_prompt_command() {
|
|
# Dynamically handle .nanorc file versions.
|
|
|
|
hash nano >/dev/null 2>&1 && {
|
|
# Darwin specifc .nanorc version.
|
|
[[ "$PLATFORM" == "Darwin" ]] && [[ "$(hash -t nano)" == "/usr/bin/nano" ]] && local NANO_VER="darwin"
|
|
# shellcheck disable=SC2155
|
|
[[ -v NANO_VER ]] || local NANO_VER="$(command nano --version | awk '/version/ { print $4 }' | cut -d. -f1)"
|
|
|
|
# Set the .nanorc symlink if it doesn't already point to the correct versioned file.
|
|
if [[ -f "$HOME/.nanorc-$NANO_VER" ]]; then
|
|
[[ "$(readlink "$HOME/.nanorc")" != ".nanorc-$NANO_VER" ]] && (cd "$HOME" && ln -sf ".nanorc-$NANO_VER" ".nanorc")
|
|
else
|
|
[[ -L "$HOME/.nanorc" ]] && rm -f "$HOME/.nanorc"
|
|
printf "\\033[1;31m%s\\033[0m\\n" "No .nanorc for version '$NANO_VER'." >&2
|
|
fi
|
|
}
|
|
|
|
return 0
|
|
}
|
|
|
|
# Add the nanorc prompt function call to PROMPT_COMMAND.
|
|
PROMPT_COMMAND+="__nanorc_prompt_command;"
|