Buckets:
| # To generate localization information, run: | |
| # xgettext -o - -L Shell select-editor | |
| # if no gettext it will fallback to gettext on /usr/share/sensible-utils/bin | |
| # see #728612 | |
| PATH="$PATH:/usr/sbin:/usr/share/sensible-utils/bin" | |
| # EASIEST editor | |
| EASIEST="/bin/nano" | |
| # Ensure that $HOME/.selected_editor is writeable | |
| touch "$HOME/.selected_editor" || exit 1 | |
| sorted_list_of_editors() { | |
| update-alternatives --query editor | while read emptyline; do | |
| # skip the first entry (header) as well as the rest of processed entries | |
| if [ -z "$emptyline" ]; then continue; fi | |
| # extract the two interesting fields | |
| local ALTERNATIVE='' | |
| local PRIORITY='' | |
| while read field value; do | |
| case "${field}" in | |
| 'Alternative:') ALTERNATIVE="${value}";; | |
| 'Priority:') PRIORITY="${value}";; | |
| esac | |
| if [ -n "$ALTERNATIVE" ] && [ -n "$PRIORITY" ]; then break; fi | |
| done | |
| if [ -z "$ALTERNATIVE" ] || [ -z "$PRIORITY" ]; then continue; fi | |
| echo "${PRIORITY}:${ALTERNATIVE}" | |
| done | sort -n -r | cut -d':' -f 2- | |
| } | |
| editors=$(update-alternatives --list editor | wc -l) | |
| if [ $editors -gt 1 ]; then | |
| # fix simple to 1 see #777168 | |
| simple=1 | |
| echo | |
| echo "`gettext 'Select an editor. To change later, run'`" "'select-editor'." | |
| i=0 | |
| editors=$(sorted_list_of_editors) | |
| for e in $editors; do | |
| i=$(expr $i + 1) | |
| desc= | |
| if [ $e = "$EASIEST" ]; then | |
| desc=" <---- ` gettext 'easiest'`" | |
| simple=$i | |
| fi | |
| echo " $i. $e$desc" | |
| done | |
| echo "" | |
| selected=x | |
| while /bin/true; do | |
| if [ -z "$selected" -a ! -z "$simple" ]; then | |
| selected="$simple" | |
| elif ! test $selected -gt 0 2>/dev/null; then | |
| echo -n "$(gettext 'Choose') 1-$i [$simple]: " | |
| read -r selected | |
| elif ! test $selected -le $i 2>/dev/null; then | |
| echo -n "$(gettext 'Choose') 1-$i [$simple]: " | |
| read -r selected | |
| else | |
| break | |
| fi | |
| done | |
| i=0 | |
| for e in $editors; do | |
| i=$(expr $i + 1) | |
| if [ $i -eq $selected ]; then | |
| echo "# Generated by /usr/bin/select-editor" > $HOME/.selected_editor | |
| echo "SELECTED_EDITOR=\"$e\"" >> $HOME/.selected_editor && exit 0 | |
| fi | |
| done | |
| fi | |
| exit 1 | |
Xet Storage Details
- Size:
- 2.45 kB
- Xet hash:
- d9f3cdcb70ba4fc64f5d33af6755d8cdbf64315bc8982198e9733400a03d2b93
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.