mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-06 00:10:59 +00:00
70 lines
1.8 KiB
Bash
70 lines
1.8 KiB
Bash
# lyx(1) completion
|
|
# Copyleft 2010 Cengiz Gunay <cengique@users.sf.net>
|
|
|
|
have lyx &&
|
|
_lyx()
|
|
{
|
|
local cur g last
|
|
|
|
# turn on extglob
|
|
shopt -q extglob && g=1
|
|
test $g -eq 0 && shopt -s extglob
|
|
|
|
COMPREPLY=()
|
|
cur=${COMP_WORDS[COMP_CWORD]}
|
|
|
|
local dbg_cmds=( "none info init key gui \
|
|
parser lyxrc kbmap latex mathed font tclass \
|
|
lyxvc lyxserver action lyxlex depend insets \
|
|
files workarea clipboard graphics changes \
|
|
external painting debug any undo scrolling \
|
|
macros rtl locale selection find" )
|
|
|
|
# The below code would get rid of the hardcoding, but could be fragile:
|
|
# local dbg_cmds=$( lyx -dbg | awk '{print $2}' | tail -n +2 )
|
|
# If it is ever used, please put a comment in the code for -dbg output
|
|
# about breaking auto completion if the format is changed.
|
|
|
|
#echo "cmds: '$dbg_cmds'"
|
|
|
|
if [[ $COMP_CWORD > 1 ]]; then
|
|
last=${COMP_WORDS[$(($COMP_CWORD - 1))]}
|
|
else
|
|
last=''
|
|
fi
|
|
|
|
case "$last" in
|
|
--export|-e)
|
|
_filedir '+(pdf[1234]|PDF[1234]|pdf|PDF|ps|PS|xhtml|XHTML)';;
|
|
-dbg)
|
|
# check for multiple debug commands
|
|
if [[ $cur == *,* ]]; then #
|
|
COMPREPLY=( $( compgen -W '$dbg_cmds' \
|
|
-P ${cur%,*}, -- ${cur##*,} ) )
|
|
else
|
|
COMPREPLY=( $( compgen -W '$dbg_cmds' -- $cur ) )
|
|
fi;;
|
|
--force-overwrite|-f)
|
|
COMPREPLY=( $( compgen -W 'all main none' -- $cur ) );;
|
|
*)
|
|
case "$cur" in
|
|
-*)
|
|
# LyX command line options
|
|
COMPREPLY=( $( compgen -W '-help -userdir -sysdir \
|
|
-geometry -dbg -x --execute -e --export \
|
|
-i --import -version -batch -E --export-to \
|
|
-f --force-overwrite -n --no-remote \
|
|
-r --remote ' -- $cur ) ) ;;
|
|
|
|
*)
|
|
# LyX files
|
|
_filedir '@(lyx)'
|
|
esac
|
|
esac
|
|
|
|
# turn it off if necessary
|
|
test $g -eq 0 && shopt -u extglob
|
|
|
|
}
|
|
[ "${have:-}" ] && complete -F _lyx $filenames lyx
|