NAME App::orgadb - An opinionated Org addressbook toolset VERSION This document describes version 0.008 of App::orgadb (from Perl distribution App-orgadb), released on 2022-09-26. SYNOPSIS FUNCTIONS select Usage: select(%args) -> [$status_code, $reason, $payload, \%result_meta] Select Org addressbook entries/fields/subfields. This function is not exported. Arguments ('*' denotes required arguments): * category => *str_or_re* Find entry by string or regex search against the category title. * color => *str* (default: "auto") Whether to use color. * color_theme => *perl::colortheme::modname_with_optional_args* * count => *true* Return just the number of matching entries instead of showing them. * detail => *bool* * entry => *str_or_re* Find entry by string or regex search against its title. * fields => *array[str_or_re]* Find (sub)fields by string or regex search. * files => *array[filename]* Path to addressbook files. * filter_entries_by_fields => *array[str]* Find entry by the fields or subfields it has. The format of each entry_by_field is one of: str /re/ str = str2 str = /re2/ /re/ = str2 /re/ = /re2/ That is, it can search for a string ("str") or regex ("re") in the field name, and optionally also search for a string ("str2") or regex ("re2") in the field value. * formatters => *array[str]* Add one or more formatters to display field value. Specify one or more formatters to apply to the field value before displaying. A formatter is name of "Data::Sah::Filter::perl::*" module, without the prefix. For example: "Str::uc" will convert the field value to uppercase. Another formatter, "Str::remove_comment" can remove comment. A formatter can have arguments, which is specified using this format: [FORMATTER_NAME, {ARG1NAME => ARG1VAL, ...}] If formatter name begins with "[" character, it will be parsed as JSON. Example: ['Str::remove_comment', {'style':'cpp'}] * hide_category => *true* Do not show category. * hide_entry => *true* Do not show entry headline. * hide_field_name => *true* Do not show field names, just show field values. * num_entries => *uint* Specify maximum number of entries to return (0 means unlimited). * num_fields => *uint* Specify maximum number of fields (per entry) to return (0 means unlimited). * reload_files_on_change => *bool* (default: 1) * shell => *true* Returns an enveloped result (an array). First element ($status_code) is an integer containing HTTP-like status code (200 means OK, 4xx caller error, 5xx function error). Second element ($reason) is a string containing error message, or something like "OK" if status is 200. Third element ($payload) is the actual result, but usually not present when enveloped result is an error response ($status_code is not 2xx). Fourth element (%result_meta) is called result metadata and is optional, a hash that contains extra information, much like how HTTP response headers provide additional metadata. Return value: (any) HOMEPAGE Please visit the project's homepage at . SOURCE Source repository is at . AUTHOR perlancar CONTRIBUTING To contribute, you can send patches by email/via RT, or send pull requests on GitHub. Most of the time, you don't need to build the distribution yourself. You can simply modify the code, then test via: % prove -l If you want to build the distribution (e.g. to try to install it locally on your system), you can install Dist::Zilla, Dist::Zilla::PluginBundle::Author::PERLANCAR, Pod::Weaver::PluginBundle::Author::PERLANCAR, and sometimes one or two other Dist::Zilla- and/or Pod::Weaver plugins. Any additional steps required beyond that are considered a bug and can be reported to me. COPYRIGHT AND LICENSE This software is copyright (c) 2022 by perlancar . This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. BUGS Please report any bugs or feature requests on the bugtracker website When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.