Commit Graph

65 Commits

Author SHA1 Message Date
Martchus c41d52b7c9 WIP: Add method to execute an external application 2017-02-12 00:17:33 +01:00
Martchus c4d73b0d7d Use C++14 string literal 2017-02-06 18:32:27 +01:00
Martchus 06af1c4a73 Use std::make_unique provided by C++14 2017-02-05 21:00:52 +01:00
Martchus 1ace53533a string builder: Remove unused code 2017-01-30 00:40:31 +01:00
Martchus 33d368397f Make use of newly introduced string builder 2017-01-27 18:51:54 +01:00
Martchus 1bff266fa9 Add missing #endif in platform detection 2017-01-14 02:24:36 +01:00
Martchus c4ed080b34 Fix platform detection
* Consider macOS a UNIX system
* Remove compiler conditions for PLATFORM_MAC
2017-01-14 00:29:43 +01:00
Martchus 737f73e71a Make forcing UTF-8 codepage optional 2016-12-24 16:08:09 +01:00
Martchus 28d2063d33 Fix Bash completion for abbreviations 2016-12-24 16:07:43 +01:00
Martchus cab332bcad Refactor reading arguments
Replace ArgumentParser::readSpecifiedArgs() with
ArgumentReader class to simplify argument list
2016-12-23 22:40:33 +01:00
Martchus 59a8dfe833 Convert args to UTF-8 under Windows 2016-12-19 23:44:34 +01:00
Martchus 89cb027786 Ensure console output is UTF-8 under Windows 2016-12-19 23:43:24 +01:00
Martchus 82b5bf3f1d Fix Bash completion when last pre-defined value matches 2016-11-26 00:14:45 +01:00
Martchus 70869f24a8 Add method to reset arguments recursively 2016-11-26 00:11:48 +01:00
Martchus 9f3ca443e4 Make ArgumentParser::verifyArgs() more strict 2016-11-15 22:02:40 +01:00
Martchus bbb884da30 Don't imply args which can't be combined
Leads to more useful error messages if an unknown
argument has been specified.
2016-11-15 21:44:23 +01:00
Martchus 4c0a1d1169 Fix minor mistake in argument parser 2016-11-14 22:38:21 +01:00
Martchus a1189d3c3b Allow specifying custom exit() function 2016-10-30 00:37:28 +02:00
Martchus 438ca48cbb Improve doc 2016-10-30 00:30:54 +02:00
Martchus 5119bb5c6a Improve ArgumentParser::readSpecifiedArgs()
- Fix minor issues
- Add further test cases
2016-10-29 23:54:30 +02:00
Martchus 72426e2d4c Fix bash completion when dir/file contains single quote
Also a few other improvements in bash completion code
2016-10-22 20:52:08 +02:00
Martchus 4c40004f0b Improve CLI utils
- Add ArgumentParser::readArgs()
- Add Indentation
- Fix eraseLine()
2016-10-02 21:53:58 +02:00
Martchus 4829aa40b9 Fix mistakes in doc 2016-09-17 11:44:49 +02:00
Martchus 79caa5f3ea Improve platform detection 2016-09-10 16:00:20 +02:00
Martchus d6b08b8ed9 Fix decoration for static builds
- Also add improvemnts a few other things in the build system
2016-08-29 15:35:48 +02:00
Martchus fe4e4b2ef5 Fix issues concerning building/using static libraries
- Ensure static versions of 3rd party libs are
  found correctly
- Link tests against statically if only static
  libraries have been built
- Ensure standard lib is linked statically when
  static linkage is enabled
2016-08-19 16:14:55 +02:00
Martchus ed527021f9 Improve logging when testing applications 2016-08-05 01:43:46 +02:00
Martchus df8d942e1c Improve argument parser
- Fix completion of values already containing '='
- Fix completion when current word contains '='
- Improve formatting of help
- Fix typo
2016-07-31 23:20:31 +02:00
Martchus a3e9174476 Remove findArg 2016-07-17 01:27:42 +02:00
Martchus 23346e1a8e Add convenience method to get first value 2016-07-17 01:26:34 +02:00
Martchus 3ead704f1d Improve DECLARE_ENUM macro
- DECLARE_ENUM now declares a regular enum.
- DECLARE_ENUM_CLASS declares an enum class.
- Macros don't include a trailing ';' so they
  can also be used when defining an enum.
2016-07-11 21:32:20 +02:00
Martchus d749ba7cc2 Provide complete occurance info (callbacks) 2016-07-04 23:18:49 +02:00
Martchus 03094a1f61 Add support for bash completion 2016-07-04 02:46:54 +02:00
Martchus b46164e893 Document enum class Response 2016-07-02 02:02:47 +02:00
Martchus b6f784f00e Add macro for fallthrough in switch-case 2016-07-02 02:02:11 +02:00
Martchus e6dfe28149 Skip empty args 2016-06-23 22:06:59 +02:00
Martchus 8bcf8cd008 Check for siblings of parent args 2016-06-23 00:58:43 +02:00
Martchus a3648963ee Make argv const 2016-06-17 17:55:09 +02:00
Martchus 783121ed5e Allow implicit usage of arg only once 2016-06-14 23:11:13 +02:00
Martchus 79ce6e9aa6 Improve argument parser
- Fix some implementation details
- Extend tests
2016-06-14 00:43:32 +02:00
Martchus 526cbc5282 Rewrite argument parsing 2016-06-13 00:00:36 +02:00
Martchus 4f87cc1181 Use C-strings where std::string is unneccessary 2016-06-11 19:42:03 +02:00
Martchus db7b02b1db Make header guards more unique and consistent 2016-06-11 19:09:14 +02:00
Martchus d28d477ffe Complete generation of API doc
- Use README.md for main page
- Add install target for API doc
- Improve some doc comments
2016-06-10 22:59:22 +02:00
Martchus c7c64e0784 Improve documentation 2016-06-10 14:08:56 +02:00
Martchus 324dc90b49 Fix parsing args if no abbr or name is specified 2016-06-03 23:10:14 +02:00
Martchus 4fcc8442f8 Define macro for debug-only code 2016-05-26 02:21:06 +02:00
Martchus f3077ef8e3 Use C-strings for argument definitions
Argument names and abbreviations are always
C-string literals and hence using std::string
has no advantage.
2016-05-25 01:24:17 +02:00
Martchus 0054a74302 minor adjustments 2016-03-03 19:07:46 +01:00
Martchus ff15a54624 added addMainArgument 2016-02-27 01:19:16 +01:00