Davor Ocelic <docelic@crystallabs.io> [Tue, 07 May 2019 19:34:40 +0200] rev 120
Multiple configfile-related changes
- Print current configfile in the output of 'env' (this also makes configfile changeable in runtime via 'setenv')
- In 'configfile' commands, print which config file is being used
- Fix behavior of existing 'more_conf'
- Make load_config() return filename and hash, rather than unconditionally overwrite $conf
- Bring back %conf2 into implementation of save_config; it is necessary to be there or 'configfile' is getting lost/deleted in the runtime config
Other changes
- Add 'set' as alias for 'setenv'
- Add unsetenv/unset (opposite of setenv/set)
- Do not print unset/undefined values in 'env'
Davor Ocelic <docelic@crystallabs.io> [Mon, 06 May 2019 21:58:29 +0200] rev 119
Support separating aliases by space too
Davor Ocelic <docelic@crystallabs.io> [Mon, 06 May 2019 21:11:13 +0200] rev 118
Use local implementation of slurp()
Davor Ocelic <docelic@crystallabs.io> [Sun, 05 May 2019 10:51:34 +0200] rev 117
Improve accepted command line options
This commit enables getopt case sensitivity and adds all command line
options/abbreviations typically supported by LDAP clients:
-w/-y, -p, -x, -Z/-ZZ, -v
Davor Ocelic <docelic@crystallabs.io> [Sun, 05 May 2019 10:14:18 +0200] rev 116
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.
Davor Ocelic <docelic@crystallabs.io> [Sun, 05 May 2019 09:54:28 +0200] rev 115
Add alias, unalias, configfile
- Add commands 'alias' and 'unalias'.
Behavior is almost identical to shell.
Aliases currently cannot override commands.
- Add command 'configfile'.
Allows loading / saving config files from command line.
Davor Ocelic <docelic@crystallabs.io> [Sat, 04 May 2019 22:38:33 +0200] rev 114
With ls -l, print file type ('-' or 'd') as first field of output
This change brings output of 'ls -l' closer to the actual shell command.
Davor Ocelic <docelic@crystallabs.io> [Fri, 03 May 2019 19:23:54 +0200] rev 113
Improve save_config()
Davor Ocelic <docelic@crystallabs.io> [Tue, 30 Apr 2019 12:07:28 +0200] rev 112
Add missing block to Term::Shell fix
(This corresponds to Term::Shell PR posted at
https://github.com/shlomif/Term-Shell/pull/3)
Davor Ocelic <docelic@crystallabs.io> [Tue, 30 Apr 2019 01:10:00 +0200] rev 111
Make aliases be auto-detected and inserted into help texts.
Davor Ocelic <docelic@crystallabs.io> [Tue, 30 Apr 2019 01:01:19 +0200] rev 110
Fix autocompleter for all commands.
Davor Ocelic <docelic@crystallabs.io> [Tue, 30 Apr 2019 00:43:52 +0200] rev 109
Multiple help-related changes
- Make every command's POD doc have a single-line introductory description.
This help is then used as a one-liner summary in Term::Shell.
- Tie %cmd_map to IxHash to preserve hash elements' order.
- Fix bug in Term::Shell's code related to command aliases.
(Also emailed Term::Shell author to include the fix in next release.)
- Remove run_() which already exists in Term::Shell.
- Use Term::Shell's help facilities instead of manually redefining
run_help() and other related commands. The complete POD documentation is
still available for viewing if user invokes ./shelldap --help.
- Completer functions are disabled right now (fix coming in the next
commit)
Davor Ocelic <docelic@crystallabs.io> [Mon, 29 Apr 2019 21:57:57 +0200] rev 108
Properly handle Ctrl+C; add '?' and 'man' aliases; don't import symbols
Make Ctrl+C behave like in the shell (abort current line, redisplay)
Add '?' and 'man' as aliases for help
Add qw// on module 'use's to not import any symbols
Davor Ocelic <docelic@crystallabs.io> [Mon, 29 Apr 2019 00:16:14 +0200] rev 107
Do not sort flaglist twice
With this change, 'inspect'ing an element prints its attributes
in a defined order: (requiredness, multivaluedness)
Previously, the order was alphabetical and varying.
Davor Ocelic <docelic@crystallabs.io> [Mon, 29 Apr 2019 00:10:31 +0200] rev 106
Make 'cat' default to '.' (cwd) instead of requiring argument
Davor Ocelic <docelic@crystallabs.io> [Mon, 29 Apr 2019 00:09:43 +0200] rev 105
Improve command descriptions
Davor Ocelic <docelic@crystallabs.io> [Sun, 28 Apr 2019 23:42:27 +0200] rev 104
Streamline %cmd_map
%cmd_map was previously a hash containing:
{
real_function => alias_function,
...
}
Now the structure of the hash is:
{
alias_or_real_func => [ real_func/if_any, autocompleter_func ],
...
}
This allows for a more streamlined definition of commands and aliases,
and makes it possible to keep all data in %cmd_map instead of having
additional special cases.
Davor Ocelic <docelic@crystallabs.io> [Sun, 28 Apr 2019 22:38:38 +0200] rev 103
Improve 'help' command
POD documentation has been modified to list available shell commands using =head2
instead of =item.
This, combined with run_help() modified to accept arguments, allows one to use
'help <command name>' to get help for a specific command, similar/equal to getting
help for shell builtins in regular shells.
E.g.:
help cat
help list
Davor Ocelic <docelic@crystallabs.io> [Sun, 28 Apr 2019 22:11:46 +0200] rev 102
Fix precedence of command line arguments
Previously, when autogenerating the config file, the name of config
itself was included in the YAML contents.
This in turn caused the config file to be re-parsed again and any
command line arguments were overwritten with values from the config
file.
Now the name of config file is not dumped if it is equal to the file
being written, and the config file is not reparsed if it is the same
file.
Davor Ocelic <docelic@crystallabs.io> [Sun, 28 Apr 2019 21:40:06 +0200] rev 101
Allow default attributes to be set via config and cmdline
This commit changes the default attribute list from a fixed '*'
to a configurable list, defaulting to ['*'].
It allows one to use config file or command line to set default
attributes to retrieve and display - i.e. to set default attributes
to '+' or to a list of multiple specific attributes.
Printing or changing this value through env/setenv is currently not
supported because env/setenv only work properly with string values
while attributes is a list.
Mahlon E. Smith <mahlon@martini.nu> [Mon, 15 Apr 2019 14:18:12 -0700] rev 100
merge
Mahlon E. Smith <mahlon@martini.nu> [Mon, 15 Apr 2019 14:16:09 -0700] rev 99
Add LICENSE file for packaging, bump copyright.
Mahlon E. Smith <mahlon@martini.nu> [Wed, 04 Apr 2018 12:30:00 -0700] rev 98
Add a link to the Fedora package.
Mahlon E. Smith <mahlon@martini.nu> [Wed, 07 Jun 2017 15:01:15 -0700] rev 97
Added tag v1.4.0 for changeset e8af5aa8bd15
Mahlon E. Smith <mahlon@martini.nu> [Wed, 07 Jun 2017 15:01:09 -0700] rev 96
Update changelog.
Mahlon E. Smith <mahlon@martini.nu> [Wed, 07 Jun 2017 14:59:48 -0700] rev 95
Merge.
Mahlon E. Smith <mahlon@martini.nu> [Wed, 07 Jun 2017 14:49:06 -0700] rev 94
Version bump.
Mahlon E. Smith <mahlon@martini.nu> [Wed, 07 Jun 2017 14:48:42 -0700] rev 93
Make password extension usage consistent with pager control.
Mahlon E. Smith <mahlon@martini.nu> [Wed, 07 Jun 2017 14:38:08 -0700] rev 92
Optionally use the server side pager control for search results.
Salvatore Bonaccorso <carnil@debian.org> [Sat, 05 Mar 2016 00:00:00 -0800] rev 91
Fix spelling errors
Mahlon E. Smith <mahlon@martini.nu> [Wed, 13 Jan 2016 11:14:26 -0800] rev 90
Added tag v1.3.2 for changeset aa4172c204d4
Mahlon E. Smith <mahlon@martini.nu> [Wed, 13 Jan 2016 11:14:18 -0800] rev 89
Add a "real" change log.