aboutsummaryrefslogtreecommitdiffstats
path: root/info/auto-auto-complete.texinfo
blob: a5193932fdc78eace7b36cedee56c085c25245f3 (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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
\input texinfo   @c -*-texinfo-*-

@c %**start of header
@setfilename auto-auto-complete.info
@settitle auto-auto-complete
@afourpaper
@documentencoding UTF-8
@documentlanguage en
@finalout
@c %**end of header


@dircategory Development
@direntry
* auto-auto-complete: (auto-auto-complete).        Autogenerate shell auto-completion scripts
@end direntry


@copying
Copyright @copyright{} 2014 Mattias Andrée

@quotation
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts. A copy of the license is included in the section entitled
``GNU Free Documentation License''.
@end quotation
@end copying

@ifnottex
@node Top
@top auto-auto-complete -- Autogenerate shell auto-completion scripts
@insertcopying
@end ifnottex

@titlepage
@title auto-auto-complete
@subtitle Autogenerate shell auto-completion scripts
@author by Mattias Andrée (maandree)

@page
@c @center `'
@vskip 0pt plus 1filll
@insertcopying
@end titlepage

@contents



@menu
* Overview::                        Brief overview of @command{auto-auto-complete}.
* Invoking::                        Invocation of @command{auto-auto-complete}.
* GNU Free Documentation License::  Copying and sharing this manual.
@end menu



@node Overview
@chapter Overview

@command{auto-auto-complete} provides a LISP-like
@footnote{A sane alternative to using XML.} declarative
language for creating auto-completion scripts for commands
in a shell-agnostic way. The current version of
@command{auto-auto-complete} can use such files to generate
auto-completion scripts for the @command{bash}, @command{zsh}
and @command{fish} shells.

@command{auto-auto-complete}'s language limited in comparsion
to for example raw auto-completion scripts for the @command{bash}
shell, however it is well enough for most projects.



@node Invoking
@chapter Invoking

@command{auto-auto-complete} recognises two options:

@table @option
@item -o
@itemx --output OUTPUT_FILE
Specifies the pathname of the generated file.

@item -s
@itemx -f
@itemx --file
@itemx --source SOURCE_FILE
Specifies the pathname of the auto-auto-complete script.
@end table

Both of these options must be used. Additionally
the shell that the generate file should be generated
for must be specified; this is done by adding name
of the shell as a stand-along argument, for example
@command{auto-auto-complete bash --output mycmd.bash --source mycmd.autocomplete}

It is also possible to define variables that can be
used the auto-auto-complete script. If you, for example,
want to give the variable @var{command} the value
@code{mycmd}, add the argument @option{command=mycmd}.
It is also possible to define arrays, for example
if you want the variable @var{srcopt} to be an array
of the for values @code{-s}, @code{-f}, @code{--source}
and @code{--file}, add the arguments @option{srcopt=-s},
@option{srcopt=-f}, @option{srcopt=--source} and
@option{srcopt=--file}. It is not possible to have
variable whose name begin with a dash (`-').



@node GNU Free Documentation License
@appendix GNU Free Documentation License
@include fdl.texinfo

@bye