Support arrays/hashes in 'env' (WIP)
- 'env' now prints 'attributes' array - 'env' output now supports any data type, not just strings - option --attributes on command line properly overrides config values The remaining thing to do is to support 'setenv' to work with non-strings too. FossilOrigin-Name: 49c1455637cbce37e0b68a4e7c7286e51f2b6401a98e11f630db3c88f737821a
This commit is contained in:
parent
cbfcb17dc7
commit
d3adc445d6
1 changed files with 9 additions and 7 deletions
16
shelldap
16
shelldap
|
|
@ -624,7 +624,7 @@ sub init
|
||||||
|
|
||||||
$self->{'editor'} = $conf->{'editor'} || $ENV{'EDITOR'} || 'vi';
|
$self->{'editor'} = $conf->{'editor'} || $ENV{'EDITOR'} || 'vi';
|
||||||
$self->{'pager'} = $conf->{'pager'} || $ENV{'PAGER'} || 'less';
|
$self->{'pager'} = $conf->{'pager'} || $ENV{'PAGER'} || 'less';
|
||||||
$self->{'env'} = [ qw/ debug cacheage timeout / ];
|
$self->{'env'} = [ qw/ debug cacheage timeout attributes / ];
|
||||||
|
|
||||||
# let autocomplete work with the '=' character
|
# let autocomplete work with the '=' character
|
||||||
my $term = $self->term();
|
my $term = $self->term();
|
||||||
|
|
@ -2075,11 +2075,8 @@ sub run_env
|
||||||
{
|
{
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
|
|
||||||
foreach ( sort @{ $self->{'env'} } ) {
|
print YAML::Syck::Dump( { map { $_, $conf->{$_}} sort @{ $self->{'env'}} } );
|
||||||
print "$_: ";
|
print "\n"
|
||||||
print $conf->{$_} ? $conf->{$_} : 0;
|
|
||||||
print "\n"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -2659,7 +2656,7 @@ Getopt::Long::GetOptions(
|
||||||
'binddn|D=s',
|
'binddn|D=s',
|
||||||
'basedn|b=s',
|
'basedn|b=s',
|
||||||
'cacheage=i',
|
'cacheage=i',
|
||||||
'attributes=s@',
|
'cmdline_attributes|attributes=s@',
|
||||||
'paginate=i',
|
'paginate=i',
|
||||||
'promptpass|W',
|
'promptpass|W',
|
||||||
'timeout=i',
|
'timeout=i',
|
||||||
|
|
@ -2696,6 +2693,11 @@ $conf->{'cacheage'} ||= 300;
|
||||||
$conf->{'timeout'} ||= 10;
|
$conf->{'timeout'} ||= 10;
|
||||||
$conf->{'attributes'} ||= ['*'];
|
$conf->{'attributes'} ||= ['*'];
|
||||||
|
|
||||||
|
# Allow command line option --attributes to override settings from
|
||||||
|
# config file.
|
||||||
|
if($conf->{'cmdline_attributes'}) {
|
||||||
|
$conf->{'attributes'} = $conf->{'cmdline_attributes'}
|
||||||
|
}
|
||||||
|
|
||||||
# create and enter shell loop while also handling Ctrl+C correctly.
|
# create and enter shell loop while also handling Ctrl+C correctly.
|
||||||
my $shell = LDAP::Shell->new;
|
my $shell = LDAP::Shell->new;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue