feat: display editor setting

Display the configured editor, version and path using the $EDITOR
environment variable similar to the way the shell version is displayed
from the $SHELL variable.

fixes: #2270
This commit is contained in:
Moritz Röhrich 2022-12-28 16:54:34 +01:00
parent ccd5d9f526
commit d6f16601a8
No known key found for this signature in database
GPG key ID: 25B043C7123B35FD
2 changed files with 69 additions and 0 deletions

View file

@ -62,6 +62,7 @@ print_info() {
info "Uptime" uptime info "Uptime" uptime
info "Packages" packages info "Packages" packages
info "Shell" shell info "Shell" shell
info "Editor" editor
info "Resolution" resolution info "Resolution" resolution
info "DE" de info "DE" de
info "WM" wm info "WM" wm
@ -224,6 +225,32 @@ shell_path="off"
shell_version="on" shell_version="on"
# Editor
# Show path to $EDITOR
#
# Default: 'off'
# Values: 'on', 'off'
# Flag: --editor_path
#
# Example:
# on: '/opt/bin/vim'
# off: 'vim'
editor_path="off"
# Show $EDITOR version
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: '--editor_version'
#
# Example:
# on: 'vim 9.0'
# off: 'vim'
editor_version="on"
# CPU # CPU
@ -1768,6 +1795,38 @@ get_shell() {
shell=${shell/\(*\)} shell=${shell/\(*\)}
} }
get_editor() {
local editor_full_path="${VISUAL:-$EDITOR}"
# in case neither is set just return
[[ -z "$editor_full_path" ]] && return
case $editor_path in
on) editor="${editor_full_path} " ;;
off) editor="${editor_full_path##*/} " ;;
esac
# in case editor version is not demanded don't bother parsing it
[[ $editor_version != on ]] && return
case ${editor_name:=${editor_full_path##*/}} in
nano|vim)
editor+=$("$editor_full_path" --version 2>&1)
editor="${editor/$'\n'*}"
editor="${editor/$editor_name }"
;;
*)
editor+=$("$editor_full_path" --version 2>&1)
editor="${editor/$'\n'*}"
;;
esac
# remove some common unwanted info from version strings
editor=${editor/, version}
editor=${editor/options*}
editor=${editor/\(*\)}
}
get_de() { get_de() {
# If function was run, stop here. # If function was run, stop here.
((de_run == 1)) && return ((de_run == 1)) && return
@ -5047,6 +5106,8 @@ INFO:
--gtk3 on/off Enable/Disable gtk3 theme/font/icons output --gtk3 on/off Enable/Disable gtk3 theme/font/icons output
--shell_path on/off Enable/Disable showing \$SHELL path --shell_path on/off Enable/Disable showing \$SHELL path
--shell_version on/off Enable/Disable showing \$SHELL version --shell_version on/off Enable/Disable showing \$SHELL version
--editor_path on/off Enable/Disable showing \$EDITOR path
--editor_version on/off Enable/Disable showing \$EDITOR version
--disk_show value Which disks to display. --disk_show value Which disks to display.
Possible values: '/', '/dev/sdXX', '/path/to/mount point' Possible values: '/', '/dev/sdXX', '/path/to/mount point'
@ -5263,6 +5324,8 @@ get_args() {
"--gtk3") gtk3="$2" ;; "--gtk3") gtk3="$2" ;;
"--shell_path") shell_path="$2" ;; "--shell_path") shell_path="$2" ;;
"--shell_version") shell_version="$2" ;; "--shell_version") shell_version="$2" ;;
"--editor_path") editor_path="$2" ;;
"--editor_version") editor_version="$2" ;;
"--ip_host") public_ip_host="$2" ;; "--ip_host") public_ip_host="$2" ;;
"--ip_timeout") public_ip_timeout="$2" ;; "--ip_timeout") public_ip_timeout="$2" ;;
"--ip_interface") "--ip_interface")

View file

@ -125,6 +125,12 @@ Enable/Disable showing $SHELL path
\fB\-\-shell_version\fR on/off \fB\-\-shell_version\fR on/off
Enable/Disable showing $SHELL version Enable/Disable showing $SHELL version
.TP .TP
\fB\-\-editor_path\fR on/off
Enable/Disable showing $VISUAL or $EDITOR path
.TP
\fB\-\-editor_version\fR on/off
Enable/Disable showing $VISUAL or $EDITOR version
.TP
\fB\-\-disk_show\fR value \fB\-\-disk_show\fR value
Which disks to display. Which disks to display.
Possible values: '/', '/dev/sdXX', '/path/to/mount point' Possible values: '/', '/dev/sdXX', '/path/to/mount point'