Commit Graph

151 Commits

Author SHA1 Message Date
mpeterv
9441804c3f Minor refactoring 2014-03-02 02:10:46 +04:00
mpeterv
f24cfe9627 Got rid of :prepare() 2014-03-02 02:03:44 +04:00
mpeterv
085f152127 Refactoring - removed :prepare calls for elements 2014-03-02 01:28:31 +04:00
mpeterv
db3e21e944 Refactoring: added sanity checks in setters 2014-03-02 00:49:44 +04:00
mpeterv
73467e2836 Fixed usage messages in subcommands corrupted after several usages 2014-03-01 16:41:14 +04:00
mpeterv
8cefeb1ef7 Updated README; use u in defmode as a flag instead of c 2014-03-01 15:05:36 +04:00
mpeterv
d601f54dce Improved usage messages for default values 2014-03-01 14:43:20 +04:00
mpeterv
57f8d46ba3 Reworked default values
* Better out-of-the-box behavior: commonly used feature should work without configuration. Only use default value if argument/option was not used at all.
* Add `defmode` field so that old behaviour can be used, too.
2014-02-28 17:06:07 +04:00
mpeterv
a4b93b0833 Changed actions behaviour
Actions are now just triggers. Actions for arguments and root parser ae removed.
2014-02-26 12:07:53 +04:00
mpeterv
aeacbeb589 Improved error message
Report '1 times' as '1 time'
2014-02-23 16:58:39 +04:00
mpeterv
5c82cb4c2e Added epilog field 2014-02-23 16:44:13 +04:00
mpeterv
7994dded7e Make command required by default 2014-02-23 16:27:23 +04:00
mpeterv
fc65c85a13 Improved command line parsing
The first character after control character is now not required to be a letter
2014-02-23 16:20:55 +04:00
mpeterv
d9fc8728ca Mark entire option as optional if there is default value 2014-02-20 12:52:24 +04:00
mpeterv
3e6dc54201 If an option with a default value is underused, invoke it more 2014-02-20 12:48:51 +04:00
mpeterv
e99e047c4d In usage message, mark arguments as optional if there is a default value 2014-02-20 12:41:27 +04:00
mpeterv
8bc02caae6 Convert can now be a table used as mapping 2014-02-20 12:34:02 +04:00
mpeterv
754788b986 False return from converter is now valid, only nil is signal for error 2014-02-20 12:28:46 +04:00
mpeterv
f74db88b5f Return :error() method 2014-02-19 16:46:30 +04:00
mpeterv
3f6b4de790 fixed Command not having aliases field, and Parser havin target field 2014-02-18 17:55:24 +04:00
mpeterv
3a80e0179b :pparse() should still raise an error if it is caused by misconfiguration 2014-02-18 15:35:58 +04:00
mpeterv
a0fe631b08 added a few tests for :pparse() 2014-02-18 15:27:58 +04:00
mpeterv
a7c1ec8634 added :pparse() 2014-02-18 15:22:17 +04:00
mpeterv
5b96416ada Minor change in an error message 2014-02-18 14:39:32 +04:00
mpeterv
07af666206 Pad long usage messages
Long usage messages are split into lines. A margin is added so that they line up under "Usage: " part of the message.
2014-02-18 13:28:06 +04:00
mpeterv
ccad58ef50 return Parser as the module 2014-02-17 18:41:09 +04:00
mpeterv
3788b9c1a6 Improved help option behaviour
* Help option is only created once per parser, several :prepare() invocations do not create extra options.
* In :add_help(foo), foo is passed to the help option overriding default name, see spec/help_spec.lua @ 24
2014-02-17 16:58:16 +04:00
mpeterv
06912106dc Use boolean fields instead of _type to store element type 2014-02-17 16:31:14 +04:00
mpeterv
481e99bf2e moved preparing methods inside elements 2014-02-17 16:19:12 +04:00
mpeterv
2afab887a9 Improved help message formatting:
* Do not hardcode formatting constants
* Add margin for multiline descriptions
2014-02-17 15:19:04 +04:00
mpeterv
e7aa042004 Fixed the charset of the current parser being used.
Now the global set of all control characters of all (sub)commands is used.
2014-02-09 00:18:00 +04:00
mpeterv
2a49500a01 added cli test 2014-01-26 19:02:36 +04:00
mpeterv
9ae8df55cc added tests related to help, improved help generation 2014-01-26 17:38:22 +04:00
mpeterv
404ec5213a Added help message generation; Improved optional arguments handling. 2014-01-26 15:21:11 +04:00
mpeterv
b1a011c3a8 added tips 2014-01-25 14:45:04 +04:00
mpeterv
23de82cab0 quote all printed names 2014-01-25 12:47:49 +04:00
mpeterv
c763e19b40 add even more sugar 2014-01-23 20:02:11 +04:00
mpeterv
ba095896ac added some tests for usage generation 2014-01-21 23:09:12 +04:00
mpeterv
a7330f3951 added usage message generation 2014-01-21 22:47:31 +04:00
mpeterv
75b01c8b38 added actions 2014-01-20 22:11:43 +04:00
mpeterv
d97a6d8285 refactoring: format data as it goes 2014-01-20 20:23:13 +04:00
mpeterv
bb69e443de minor refactoring 2014-01-20 18:45:56 +04:00
mpeterv
434693507b added conversions 2014-01-19 16:12:07 +04:00
mpeterv
bba513802b more command tests, added require_command 2014-01-19 15:27:25 +04:00
mpeterv
e81aab8a5b fixed arguments from root parser not formatted 2014-01-19 15:11:09 +04:00
mpeterv
f7a0703e73 fixed crash on unknown long option 2014-01-19 14:34:42 +04:00
mpeterv
d492dc5e0f Finished working on new interface and stuff 2014-01-19 00:35:48 +04:00
mpeterv
dafff3d63e moving State into local env of :parse()... 2014-01-18 13:00:16 +04:00
mpeterv
8f1ce0a30f fixed too many mixins 2014-01-18 12:51:21 +04:00
mpeterv
a7f7edbb3e declarative interface 2014-01-18 12:51:21 +04:00