Commit Graph

20 Commits

Author SHA1 Message Date
Wolfgang Bumiller 99da3a073d getopt: indentation reduction
See the `git diff -w` output:
|diff --git a/src/getopts.rs b/src/getopts.rs
|index 6548a01..517cc37 100644
|--- a/src/getopts.rs
|+++ b/src/getopts.rs
|@@ -72,7 +72,10 @@ pub fn parse_arguments(
|     while pos < args.len() {
|         if skip {
|             rest.push(args[pos].clone());
|-        } else {
|+            pos += 1;
|+            continue;
|+        }
|+
|         match parse_argument(&args[pos]) {
|             RawArgument::Separator => {
|                 skip = true;
|@@ -135,7 +138,6 @@ pub fn parse_arguments(
|                 rest.push(value);
|             }
|         }
|-        }
|
|         pos += 1;
|     }

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2018-12-28 13:54:20 +01:00
Wolfgang Bumiller ad8a98f7e4 parse_arguments: work with utf8 bytes and reduce indentation
We are only caring about '=' and '-' which are single-byte
codepoints, so there's no reason not to work on a byte
slice.

Also, some indentation reduction:

Transform
    if (a) {
        ...
        return A;
    }
    return B;
into
    if (!a)
        return B;
    return A;

and
    if (a)
        if (b)
            foo()
into
    if (a && b)
        return;

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2018-12-28 13:47:29 +01:00
Dietmar Maurer b22751b20c getopts.rs: fix test 2018-12-07 09:02:24 +01:00
Dietmar Maurer 73f29c34d7 improve command line parser 2018-11-30 12:10:26 +01:00
Dietmar Maurer bfb1d69abc fix compiler warnings, add storage/config.rs 2018-11-30 11:15:26 +01:00
Dietmar Maurer 768e01091a implement Into Arc<Schema> 2018-11-23 13:18:41 +01:00
Dietmar Maurer 7edeec7b06 remove parameter macro, implement ObjectSchema builder
And store "optional" attribute inside properties hash.
2018-11-23 11:34:15 +01:00
Dietmar Maurer 82df76fff0 start using builder pattern instead of macros 2018-11-23 09:55:38 +01:00
Dietmar Maurer 00c908df85 use Arc pointer to properties 2018-11-20 17:20:50 +01:00
Dietmar Maurer be45ccd203 fix getopts when called without any argument 2018-11-18 14:57:18 +01:00
Dietmar Maurer a19f223dea impl argument parameters 2018-11-18 10:09:13 +01:00
Dietmar Maurer c78bcf07ad getopts: more tests 2018-11-18 09:34:43 +01:00
Dietmar Maurer 62c40162ee improve getopt parser 2018-11-18 08:55:21 +01:00
Dietmar Maurer a653882dd9 use ObjectSchema for parameters
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2018-11-18 08:46:26 +01:00
Dietmar Maurer 5d9f0eae6b another testcase for boolean argument parser 2018-11-17 11:29:42 +01:00
Dietmar Maurer 2770fbf3c3 getopt parser fixes and cleanups 2018-11-17 11:28:26 +01:00
Dietmar Maurer 7556cab45e getopts: allow "-option" and "--option" 2018-11-17 10:02:35 +01:00
Dietmar Maurer 0c9ce2bbf0 getopts: improve error handling 2018-11-17 09:57:26 +01:00
Dietmar Maurer ffff48fcfe cleanup variable names 2018-11-16 16:47:23 +01:00
Dietmar Maurer 845901f41d implement getopt parser - first try 2018-11-16 13:14:11 +01:00