]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
runtime(less.sh): simplify the script and avoid startup messages
authorShane Harper <shane@shaneharper.net>
Wed, 18 Feb 2026 17:30:27 +0000 (17:30 +0000)
committerChristian Brabandt <cb@256bit.org>
Wed, 18 Feb 2026 17:30:27 +0000 (17:30 +0000)
closes: #19445

Signed-off-by: Shane Harper <shane@shaneharper.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
runtime/macros/less.sh

index e29958f7ad5fd6845a9e8d662b688a6a919e1fcf..ba980397958a9c29a0c8664e749590b1d4856ba0 100755 (executable)
@@ -2,25 +2,14 @@
 # Shell script to start Vim with less.vim.
 # Read stdin if no arguments were given and stdin was redirected.
 
-if test -t 1; then
-  if test $# = 0; then
-    if test -t 0; then
-      echo "Missing filename" 1>&2
-      exit
-    fi
-    vim --cmd 'let no_plugin_maps = 1' -c 'runtime! macros/less.vim' -
-  else
-    vim --cmd 'let no_plugin_maps = 1' -c 'runtime! macros/less.vim' "$@"
-  fi
-else
-  # Output is not a terminal, cat arguments or stdin
-  if test $# = 0; then
-    if test -t 0; then
-      echo "Missing filename" 1>&2
-      exit
-    fi
-    cat
-  else
-    cat "$@"
-  fi
+if [ $# -eq 0 ] && [ -t 0 ]; then
+  echo "$(basename "$0"): No input." 1>&2
+  exit
+fi
+
+if [ -t 1 ]; then
+  [ $# -eq 0 ] && set -- "-"
+  exec vim --cmd 'let no_plugin_maps=1' -c 'runtime! macros/less.vim' --not-a-term -- "$@"
+else  # Output is not a terminal.
+  exec cat -- "$@"
 fi