BodgeMaster
b59fe1857e
lib/cli: minor refactoring to make things less confusing and nicer to use
...
I renamed "unpositional arguments" to "options" and "positional arguments" to "arguments".
This is intended to make the code more readable and easier to type out.
2022-08-02 03:16:54 +02:00
BodgeMaster
69f15e928a
lib/cli: Add fields for a short description and additional usage information to the arguments parser
...
This is in preparation for building the help text generator.
2022-08-02 02:03:50 +02:00
BodgeMaster
d0d02fc8d2
tools/hexnet: Move the TCP reading portion to a thread
...
This was too straight-forward to not just do it when I previously worked
on hexnet. Why didn't I just do it? Idk.
2022-08-02 01:07:20 +02:00
BodgeMaster
1308327fae
tests: OCD fixes lol
...
sorry
2022-08-02 01:04:45 +02:00
BodgeMaster
4582c3e595
test/nbt_helpers: move the test that aborts to its own program
2022-08-02 00:41:11 +02:00
BodgeMaster
28719072bb
fix a compiler warning
2022-08-01 16:39:18 +02:00
BodgeMaster
800fd66044
Build system: fix typo
2022-07-30 21:14:23 +02:00
BodgeMaster
d90e7f16bd
Build system: better cross-platform compatibility
...
I hope we don't run into more versions of sha256(sum)...
2022-07-30 21:10:07 +02:00
BodgeMaster
845b3fb922
Documentation: update build system documentation and prerequisites in preparation for next commit
2022-07-30 21:08:03 +02:00
Milan Suman
4f1ad714bd
lib/nbt.cpp: Implement writeString function
2022-07-28 17:15:04 +05:30
BodgeMaster
adc9a7f36b
tools/hexnet: prepare for multithreading
...
Multithreading will be needed to simultaneously receive and send data.
The preparations include:
- move all the settings of the program into global scope
- add mutexes
- move the code that reads from the TCP socket into a dedicated function
2022-07-25 15:55:40 +02:00
BodgeMaster
b044503951
test/cli_argument_parser: get rid of useless parameters
...
(pointed out by compiler warning)
2022-07-23 10:55:03 +02:00
BodgeMaster
d97e1a8336
Build system: Use -Wextra
2022-07-23 10:54:05 +02:00
BodgeMaster
6baff11ebd
test/cli_argument_parser: implement tests for generated error messages
2022-07-21 09:41:04 +02:00
BodgeMaster
c9d6cf0b5e
lib/cli: minor consistency changes
2022-07-21 09:39:45 +02:00
BodgeMaster
7d7ce2ba6b
Documentation: Update build system documentation
2022-07-20 19:45:40 +02:00
BodgeMaster
a51c65c9f2
test/javacompat: get rid of a compiler warning
2022-07-20 19:22:06 +02:00
BodgeMaster
8bb0732cc6
Build system: add single-threaded compile mode to test script
2022-07-20 19:20:27 +02:00
BodgeMaster
0dcc579bb5
test/cli_arguments_parser: extend some tests, implement all remaining parser tests except checking for error messages
2022-07-20 19:16:02 +02:00
BodgeMaster
db3b133f88
lib/cli: fix trailing incomplete unpositional arguments
...
The parser used to rely on the next iteration of the loop to detect
if an unpositional argument was missing its value, this has now been
fixed by adding an additional check on unpositional arguments waiting
for a value that detects if the end of the loop has been reached
2022-07-20 18:30:25 +02:00
BodgeMaster
44a20c875a
Build system: cache downloaded files
2022-07-20 15:52:04 +02:00
BodgeMaster
1804433a9f
Build system: add a central directory to collect all the include files
2022-07-20 12:15:31 +02:00
BodgeMaster
2cc2543b2a
lib/error: fix compiler error with g++11 or newer
...
This wasprobably a syntax error on my part.
2022-07-20 09:58:58 +02:00
BodgeMaster
a0d2974f0a
test/cli_argument_parser: fix programmer-generated segfault
2022-07-20 08:46:06 +02:00
Milan Suman
4659946a2f
src/test: free pointers
2022-07-20 12:13:47 +05:30
Milan Suman
b5312aeb58
lib/nbt: implement readString NBT helper function
2022-07-20 12:08:04 +05:30
BodgeMaster
9562ae7be9
Merge branch 'master' of https://lostcave.ddnss.de/git/BodgeMaster/FOSS-VG
2022-07-20 08:07:03 +02:00
BodgeMaster
b1733bc007
tools/hexnet: initial implementation of TCP receive only server
2022-07-20 08:06:45 +02:00
Milan Suman
d315c6fcfc
Merge branch 'broken'
2022-07-20 10:39:16 +05:30
Milan Suman
2f38636a27
lib/javacompat: implement exportJavaString
2022-07-20 10:38:55 +05:30
Milan Suman
0462756451
lib: rename java_string to javacompat
2022-07-20 08:44:56 +05:30
Milan Suman
c1b6c3005f
lib/java_string: fix end character issues
2022-07-20 08:39:29 +05:30
BodgeMaster
45538e156a
lib/java_string: replace std::vector with std::string
2022-07-20 04:23:06 +02:00
BodgeMaster
34e30c0bd4
test/java_string: replace tabs with spaces, fix how tiny_utf8::string is being instantiated
2022-07-20 04:02:44 +02:00
BodgeMaster
e184acde00
lib/java_string: rename functions
...
JavaCompat::importJavaFormatToString() → JavaCompat::importJavaString()
JavaCompat::exportStringToJavaFormat() → JavaCompat::exportJavaString()
2022-07-20 04:00:17 +02:00
BodgeMaster
21310fecc7
environment: allow for local customizations using a hidden file
...
To use this, create a file `.localenv.bashrc` in the project's
root directory and put your customizations in there.
2022-07-19 01:19:17 +02:00
BodgeMaster
09e2030a55
test/cli_argument_parser: More thorough unknwon flag test, add unknown unpositional argument test
2022-07-18 21:26:37 +02:00
Milan Suman
42336c560a
Birthed an abomination, what the fuck
2022-07-18 12:13:10 +05:30
BodgeMaster
a3a9078965
build system: include tinyutf8 in include path
2022-07-17 13:03:19 +02:00
BodgeMaster
79f58a6242
lib/java_string: add placeholder functions
2022-07-17 13:02:45 +02:00
BodgeMaster
2cbf048f2e
lib/cli: make flags return more accurate error codes
...
revealed by writing a test and it behaving differently from what I expected
2022-07-17 12:09:19 +02:00
BodgeMaster
4ceaca745b
test/cli_argument_parser: notes outlining what additional tests are needed
2022-07-15 19:47:07 +02:00
BodgeMaster
db6e543c5c
test/cli_argument_parser: add a test for dealing with "empty" command lines
2022-07-15 19:46:20 +02:00
BodgeMaster
8835b90398
test/cli_argument_parser: rename everything to have nice long descriptive names
...
This is in preparation for adding more tests that require the same kinds of components.
2022-07-15 19:43:17 +02:00
BodgeMaster
efa4fa560e
tools/hexnet: replace built-in argument parser with lib/cli
...
This is the entire reason I build lib/cli in the first place:
Parsing arguments directly in a given program tends to get really messy,
not to mention all the different ways that arguments can be specified
and the redundant work required to do that on multiple programs.
2022-07-15 13:51:19 +02:00
BodgeMaster
4c3d2fdbbf
lib/cli: ArgumentsParser constructor can accept both char** and const char**
2022-07-15 13:49:43 +02:00
BodgeMaster
3b1d288d1e
test/cli_argument_parser add an assertion to the valid input test that expects the value of unpositional arguments that are not present to be ""
2022-07-15 13:44:56 +02:00
BodgeMaster
362ec5f4f9
Build system: symlink dependency libs to bin/lib
2022-07-15 13:43:58 +02:00
BodgeMaster
b18a97713d
test/cli_argument_parser: fix using delete instead of delete[] on pointer array
2022-07-15 11:47:19 +02:00
BodgeMaster
9ce979aa7c
lib/cli: first unit test implemented
2022-07-15 11:33:02 +02:00