Riyyi
bf02122d2d
Manager: Cut off working directory from error message
3 years ago
Riyyi
50c859fd34
Manager: Fix system target detection
3 years ago
Riyyi
5cca591448
Manager: Rename paths -> indices where applicable
3 years ago
Riyyi
bc3fc6c345
Manager: Put machine specific values in a separate class
3 years ago
Riyyi
26826bc077
Manager: Update main for current functionality
3 years ago
Riyyi
aa702b79b9
Manager: Move package list grabbing to separate function
3 years ago
Riyyi
d9f95f5332
Manager: Add fixme to user getlogin()
3 years ago
Riyyi
2af81120c3
Manager: Implement convenience functions in Package
3 years ago
Riyyi
a04b5232f4
Util: Add delimiter support to the cut function
3 years ago
Riyyi
22082a515b
Util: Add convenience functions to save external process creation
3 years ago
Riyyi
be552db0fb
Manager: Start working on package tracking
3 years ago
Riyyi
418b453507
Util: Add file class
3 years ago
Riyyi
ee451671cd
Util: Fix reading of file descriptors longer than 4096 bytes
3 years ago
Riyyi
9ff368e511
Manager: Remove Dotfile from namespace
3 years ago
Riyyi
5226e6a24a
Manager: Add file pushing function
3 years ago
Riyyi
34e0dc72ec
Manager: Don't need to do a full capture
3 years ago
Riyyi
e6842f58d8
Manager: Remove non-related parameter from callback
3 years ago
Riyyi
c14db5bd46
Manager: Rename files to paths
3 years ago
Riyyi
5f2bbce080
Manager: Add file pulling function
3 years ago
Riyyi
f3ed90e499
Manager: Rename targets to paths
3 years ago
Riyyi
cb592b8d2c
Manager: Make file syncing logic generic
3 years ago
Riyyi
58bf5b98ee
Manager: Add function to check if file is system type
3 years ago
Riyyi
e7d1515fca
Manager: Add index to dotfile iteration loop
3 years ago
Riyyi
e4d90bf281
Manager: Make the callable functions non-static
3 years ago
Riyyi
7920b7280e
Manager: Add generic dotfile looping
3 years ago
Riyyi
de4b96bd47
Manager: Add Dotfile adding function
3 years ago
Riyyi
f8ccfe79b8
Manager: Add target filtering to Dotfile::list()
3 years ago
Riyyi
1893f08ea8
Manager: Start working on dotfile class
3 years ago
Riyyi
12dd000f0b
Util: Pass string by const reference
3 years ago
Riyyi
cc7252f94d
Util: Change operators to the evaluated order
3 years ago
Riyyi
26ceceeba5
Util: Change System to direct-list-initialization
3 years ago
Riyyi
9926849640
Util: Add class Shell for executing more basic OS shell commands
3 years ago
Riyyi
496e3e4c88
Util: Do not modify the output result
3 years ago
Riyyi
06367a05b8
Util: Add additional System operator support
3 years ago
Riyyi
2fca315557
Util: Add support for stdin and | piping
...
In order to accomplish this, the arguments have to be stored in the
object. Because () evaluation order is not defined in the spec.
Because arguments have to be stored now, char pointers no longer work
and std::strings are stored instead. Systems object also cant be
returned as a reference anymore because you need to be able to know
which is the lhs and which is the rhs in the operator overloads.
3 years ago
Riyyi
70ccdee8c2
Util: Add class System for executing OS shell commands
3 years ago
Riyyi
3efe74582f
Util: Add ArgParser missing argument error message
3 years ago
Riyyi
bb29919f02
Util: Simplify the logic of the long option parsing function
3 years ago
Riyyi
2ac6d24520
Util: Add type error messages to ArgParser option arguments
3 years ago
Riyyi
648c0f8c85
Util: Rename ArgParser error types
3 years ago
Riyyi
35e2c2de48
Util: Rename printOptionError -> printError
3 years ago
Riyyi
ffcde408e1
Util: Add invalid argument type error message to ArgParser
3 years ago
Riyyi
9c918c6555
Util: Add ArgParser unhandled argument error type and messages
3 years ago
Riyyi
a5d5d2ea6d
Util: Fix nullptr derefencing
...
In order to compare strings, the STL has to dereference the data
pointer. So check if its not a nullptr first.
3 years ago
Riyyi
7759821b13
Util: Fix string_view substring selection
...
Unlike std::basic_string::data() and string literals, data() may return
a pointer to a buffer that is not null-terminated. Therefore it is
typically a mistake to pass data() to a routine that takes just a const
CharT* and expects a null-terminated string.
The bug was calling string_view .data() after calling substr() that ends
before the null terminator, as it will just return the entire
string_view.
3 years ago
Riyyi
a217475d42
Util: Avoid assigning variable by passing to the initialization list
...
When an object of a class is created, the constructors of all member
variables are called consecutively in the order the variables are
declared, even if you don't explicitly write them to the initialization
list.
3 years ago
Riyyi
b6bfcbdc33
Util: Support for optional arguments in ArgParser
3 years ago
Riyyi
ca95ef1cf1
Util: Add simple validation to ArgParser number conversions
3 years ago
Riyyi
6efa314c38
Util: Move ArgParser private function implementations to the bottom
3 years ago
Riyyi
4e30b58305
Util: Switch ArgParser option/argument creation to list initialization
3 years ago