mirror of
https://github.com/vim/vim.git
synced 2026-06-14 15:37:28 +02:00
ac4ccb8e53
Problem: less.sh can't read from stdin; it will try to read from a file named "-" instead (after 515da6ecdb).
Solution: Do not prepend "-" with "--" in the arguments list for vim.
The following were checked manually and worked as expected:
echo Test | less.sh
echo Test | less.sh -
less.sh some_file
less.sh --cmd some_file # vim will try to load "--cmd" and "some_file".
less.sh # script outputs "No input."
# All of the above repeated with the output piped to 'cat'.
closes: #19462
Signed-off-by: Shane Harper <shane@shaneharper.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
17 lines
434 B
Bash
Executable File
17 lines
434 B
Bash
Executable File
#!/bin/sh
|
|
# Shell script to start Vim with less.vim.
|
|
# Read stdin if no arguments were given and stdin was redirected.
|
|
|
|
if [ $# -eq 0 ] && [ -t 0 ]; then
|
|
echo "$(basename "$0"): No input." 1>&2
|
|
exit
|
|
fi
|
|
|
|
if [ -t 1 ]; then
|
|
[ $# -eq 0 ] && set -- "-"
|
|
[ "$*" != "-" ] && 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
|