You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

229 lines
5.6 KiB

пре 10 година
пре 10 година
пре 10 година
пре 10 година
пре 10 година
пре 10 година
пре 10 година
пре 10 година
пре 10 година
пре 10 година
пре 10 година
пре 10 година
пре 10 година
пре 10 година
пре 10 година
пре 10 година
пре 10 година
  1. # bash completion for rebar3
  2. _rebar3()
  3. {
  4. local cur prev sopts lopts cmdsnvars
  5. COMPREPLY=()
  6. cur="${COMP_WORDS[COMP_CWORD]}"
  7. prev="${COMP_WORDS[COMP_CWORD-1]}"
  8. if [[ ${prev} == rebar3 ]] ; then
  9. sopts="-h -v"
  10. lopts="--help --version"
  11. cmdsnvars=" \
  12. as \
  13. clean \
  14. compile \
  15. cover \
  16. ct \
  17. deps \
  18. dialyzer \
  19. do \
  20. edoc \
  21. escriptize \
  22. eunit \
  23. help \
  24. new \
  25. path \
  26. pkgs \
  27. plugins \
  28. release \
  29. relup \
  30. report \
  31. shell \
  32. tar \
  33. tree \
  34. unlock \
  35. unstable \
  36. update \
  37. upgrade \
  38. version \
  39. xref \
  40. "
  41. elif [[ ${prev} == as ]] ; then
  42. :
  43. elif [[ ${prev} == clean ]] ; then
  44. sopts="-a"
  45. lopts="--all"
  46. elif [[ ${prev} == compile ]] ; then
  47. :
  48. elif [[ ${prev} == cover ]] ; then
  49. sopts="-r -v"
  50. lopts="--reset --verbose"
  51. elif [[ ${prev} == ct ]] ; then
  52. sopts="-c -v"
  53. lopts=" \
  54. --dir \
  55. --suite \
  56. --group \
  57. --case \
  58. --config \
  59. --allow_user_terms \
  60. --logdir \
  61. --logopts \
  62. --verbosity \
  63. --silent_connections \
  64. --stylesheet \
  65. --cover \
  66. --repeat \
  67. --duration \
  68. --until \
  69. --force_stop \
  70. --basic_html \
  71. --stylesheet \
  72. --decrypt_key \
  73. --decrypt_file \
  74. --abort_if_missing_suites \
  75. --multiply_timetraps \
  76. --scale_timetraps \
  77. --create_priv_dir \
  78. --include \
  79. --verbose \
  80. --auto_compile \
  81. "
  82. elif [[ ${prev} == deps ]] ; then
  83. :
  84. elif [[ ${prev} == dialyzer ]] ; then
  85. sopts="-u -s"
  86. lopts="--update-plt --succ-typings"
  87. elif [[ ${prev} == do ]] ; then
  88. :
  89. elif [[ ${prev} == edoc ]] ; then
  90. :
  91. elif [[ ${prev} == escriptize ]] ; then
  92. :
  93. elif [[ ${prev} == eunit ]] ; then
  94. sopts="-c -e -v -d -f -m -s -g"
  95. lopts="--app --application --cover --dir --error_on_warning --file --module --suite --generator --verbose"
  96. elif [[ ${prev} == help ]] ; then
  97. :
  98. elif [[ ${prev} == new ]] ; then
  99. sopts="-f"
  100. lopts="--force"
  101. elif [[ ${prev} == path ]] ; then
  102. sopts="-s"
  103. lopts=" \
  104. --app \
  105. --base \
  106. --bin \
  107. --ebin \
  108. --lib \
  109. --priv \
  110. --separator \
  111. --src \
  112. --rel \
  113. "
  114. elif [[ ${prev} == pkgs ]] ; then
  115. :
  116. elif [[ ${prev} == plugins ]] ; then
  117. :
  118. elif [[ ${prev} == release ]] ; then
  119. sopts="-n -v -g -u -o -h -l -p -V -d -i -a -c -r"
  120. lopts=" \
  121. --relname \
  122. --relvsn \
  123. --goal \
  124. --upfrom \
  125. --output-dir \
  126. --help \
  127. --lib-dir \
  128. --path \
  129. --default-libs \
  130. --verbose \
  131. --dev-mode \
  132. --include-erts \
  133. --override \
  134. --config \
  135. --overlay_vars \
  136. --vm_args \
  137. --sys_config \
  138. --system_libs \
  139. --version \
  140. --root \
  141. "
  142. elif [[ ${prev} == relup ]] ; then
  143. sopts="-n -v -g -u -o -h -l -p -V -d -i -a -c -r"
  144. lopts=" \
  145. --relname \
  146. --relvsn \
  147. --goal \
  148. --upfrom \
  149. --output-dir \
  150. --help \
  151. --lib-dir \
  152. --path \
  153. --default-libs \
  154. --verbose \
  155. --dev-mode \
  156. --include-erts \
  157. --override \
  158. --config \
  159. --overlay_vars \
  160. --vm_args \
  161. --sys_config \
  162. --system_libs \
  163. --version \
  164. --root \
  165. "
  166. elif [[ ${prev} == report ]] ; then
  167. :
  168. elif [[ ${prev} == shell ]] ; then
  169. :
  170. elif [[ ${prev} == tar ]] ; then
  171. sopts="-n -v -g -u -o -h -l -p -V -d -i -a -c -r"
  172. lopts=" \
  173. --relname \
  174. --relvsn \
  175. --goal \
  176. --upfrom \
  177. --output-dir \
  178. --help \
  179. --lib-dir \
  180. --path \
  181. --default-libs \
  182. --verbose \
  183. --dev-mode \
  184. --include-erts \
  185. --override \
  186. --config \
  187. --overlay_vars \
  188. --vm_args \
  189. --sys_config \
  190. --system_libs \
  191. --version \
  192. --root \
  193. "
  194. elif [[ ${prev} == tree ]] ; then
  195. sopts="-v"
  196. lopts="--verbose"
  197. elif [[ ${prev} == unstable ]] ; then
  198. :
  199. elif [[ ${prev} == update ]] ; then
  200. :
  201. elif [[ ${prev} == upgrade ]] ; then
  202. :
  203. elif [[ ${prev} == version ]] ; then
  204. :
  205. elif [[ ${prev} == xref ]] ; then
  206. :
  207. fi
  208. COMPREPLY=( $(compgen -W "${sopts} ${lopts} ${cmdsnvars}" -- ${cur}) )
  209. if [ -n "$COMPREPLY" ] ; then
  210. # append space if matched
  211. COMPREPLY="${COMPREPLY} "
  212. # remove trailing space after equal sign
  213. COMPREPLY=${COMPREPLY/%= /=}
  214. fi
  215. return 0
  216. }
  217. complete -o nospace -F _rebar3 rebar3
  218. # Local variables:
  219. # mode: shell-script
  220. # sh-basic-offset: 4
  221. # sh-indent-comment: t
  222. # indent-tabs-mode: nil
  223. # End:
  224. # ex: ts=4 sw=4 et filetype=sh