mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-09-11 13:01:28 +02:00
56 lines
2 KiB
Text
56 lines
2 KiB
Text
#compdef sqlite sqlite3
|
|
|
|
local ret opt display_opt sqlite3
|
|
local -a options output_modes exclusive dashes
|
|
|
|
[[ $service = sqlite3 ]] && sqlite3=true || unset sqlite3
|
|
|
|
# sqlite options require a single hyphen, but
|
|
# sqlite3 allows options with one or two
|
|
dashes=( '' )
|
|
(( $+sqlite3 )) && dashes+=( - )
|
|
|
|
options=(
|
|
'(-init --init)'$^dashes'-init[startup file]:file containing SQLite commands:_files'
|
|
$^dashes'-echo[echo commands]'
|
|
)
|
|
|
|
exclusive=( {,-}-{no,}header )
|
|
options+=(
|
|
"($exclusive)"$^dashes'-header[turn headers on]'
|
|
"($exclusive)"$^dashes'-noheader[turn headers off]'
|
|
)
|
|
|
|
output_modes=( column HTML line list )
|
|
(( $+sqlite3 )) && output_modes+=( ascii csv quote )
|
|
exclusive=( $^dashes-${^output_modes:l} )
|
|
for display_opt in $output_modes ; do
|
|
# finagle the description to match the way SQLite's -help formats them
|
|
opt=$display_opt:l
|
|
[[ $opt = $display_opt ]] && display_opt="'$display_opt'"
|
|
options+=( "($exclusive)"$^dashes"-${opt}[set output mode to $display_opt]" )
|
|
done
|
|
|
|
options+=(
|
|
$^dashes'-separator[set output field separator]:output field separator [|]'
|
|
$^dashes'-nullvalue[set text string for null values]:string'
|
|
'(- :)'$^dashes'-version[show SQLite version]'
|
|
'(- :)'$^dashes'-help[show help]'
|
|
'1:SQLite database file:_files'
|
|
'(- :)2:SQL to run'
|
|
)
|
|
|
|
(( $+sqlite3 )) && options+=(
|
|
$^dashes'-bail[stop after hitting an error]'
|
|
$^dashes'-cmd[run specified command before reading stdin]:sqlite meta-command'
|
|
'(-*batch -*interactive)'$^dashes'-batch[force batch I/O]'
|
|
'(-*batch -*interactive)'$^dashes'-interactive[force interactive I/O]'
|
|
$^dashes'-lookaside[specify size and number of entries for lookaside memory]:size (bytes): :entries'
|
|
$^dashes'-mmap[set default mmap size]:size'
|
|
$^dashes'-newline[set output row separator]:separator [\n]'
|
|
$^dashes'-pagecache[specify size and number of slots for page cache memory]:size (bytes): :slots'
|
|
$^dashes'-stats[print memory stats before each finalize]'
|
|
$^dashes'-vfs[use specified default VFS]:vfs:(unix-dotfile unix-excl unix-none unix-namedsem)'
|
|
)
|
|
|
|
_arguments $options
|