summary refs log tree commit diff
path: root/Completion/Unix/Command/_rubber
blob: 91c220b416310dd73179ef7462c39148cd166c96 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#compdef rubber rubber-pipe rubber-info

local _rubber_version _rubber_path _rubber_modules _rubber_args

eval $(rubber --version | sed 's/^.* \([^ ]*\): */_rubber_\1=/')
if [[ ${_rubber_version#0} != $_rubber_version ]]; then
  _rubber_modules=(
    $(ls $_rubber_path/rubber/modules | sed -n 's/^\([^_].*\)\.py$/\1/p')
  )
else
  _rubber_modules=(
    $(ls $_rubber_path/modules | sed -n 's/.rub$//p')
    $(ls $_rubber_path/rubber/rules/latex | sed -n 's/^\([^_].*\)\.py$/\1/p')
  )
fi

_rubber_args=(
      \*{-c,--command}'=[run the directive CMD before parsing]:command'
      \*{-e,--epilogue}'=[run the directive CMD after parsing]:command'
      {-z,--gzip}'[compress the final document]'
      '(- *)'{-h,--help}'[show help]'
      '--into=[go to directory DIR before compiling]:directory:_files -/'
      {-l,--landscape}'[change paper orientation (if relevant)]'
      {-n,--maxerr}'=[display at most NUM errors]:num'
      \*{-m,--module}'=[use module]:module:($_rubber_modules)'
      '--only=[only include the specified SOURCES]:sources'
      \*{-o,--post}'=[postprocess with module]:postprocessor:($_rubber_modules)'
      {-d,--pdf}'[produce PDF output instead of DVI]'
      {-p,--ps}'[produce a PostScript document]'
      {-q,--quiet}'[suppress messages]'
      \*{-r,--read}'[read additional directives from a file]:directives files:_files'
      {-s,--short}'[display errors in a compact form]'
      \*{-I,--texpath}'=[add DIR to the search path for LaTeX]:tex path:_files -/'
      \*{-v,--verbose}'[increase verbosity]'
      '--version[print version information and exit]'
)

case "$service" in
  rubber)
    _arguments -s \
      "$_rubber_args[@]" \
      '--clean[remove produced files instead of compiling]' \
      {-f,--force}'[force at least one compilation]' \
      '--inplace[compile the documents from their source directory]' \
      \*{-W,--warn}'=[report warnings of the given TYPE]:warnings:(all boxes misc refs)' \
      '*:LaTeX files:_files -g \*.\(tex\|dtx\|lhs\|w\)'
      return 0
	;;
	
  rubber-pipe)
    _arguments -s \
      "$_rubber_args[@]" \
      {-k,--keep}'[keep the temporary files after compiling]' \
      \*{-W,--warn}'=[report warnings of the given TYPE]:warnings:(all boxes misc refs)'
      return 0
	;;
	
  rubber-info)
    _arguments -s \
      "$_rubber_args[@]" \
      '--boxes[report overfull and underfull boxes]' \
      '--check[report errors or warnings default action]' \
      '--deps[show the target file s dependencies]' \
      '--errors[show all errors that occured during compilation]' \
      '--refs[show the list of undefined references]' \
      '--warnings[show all LaTeX warnings]' \
      ':LaTeX file:_files -g \*.\(tex\|dtx\|lhs\|w\)'
      return 0
  ;;
esac

return 1