c53fc034d2
Client
...
- Update the `ConnInfo`'s `db` on `RPL_ISUPPORT`
2023-03-25 13:01:35 +02:00
357deeb5e4
ConnInfo
...
- Added a `string[string]` key-value pair named `db` to hold the parameters learnt from `RPL_ISUPPORT`s
- Added `updateDB(string, string)` to add an entry to the `db`
- Added `getDB(string)` to fetch a value from the `db` (if it doesn't exist then an empty string `""` is returned)
2023-03-25 13:01:02 +02:00
b3f102276a
Merge branch 'master' into ircv3
2023-03-25 12:48:38 +02:00
3c347853e4
Client
...
- Cleaned up
2023-03-25 12:44:47 +02:00
3846c0b56a
Merge branch 'master' into ircv3
2023-03-24 16:05:15 +02:00
680f245b4a
Unit tests
...
- Added cmobined eample that resets background color
2023-03-24 16:02:30 +02:00
70b7b89e18
Unit tests
...
- Test `setForegroundBackground(SimpleColor, SimpleColor)`
2023-03-24 15:58:15 +02:00
f56c6eb7dc
Unit tests
...
- Tested `setForeground(SimpleColor)`
2023-03-24 15:52:47 +02:00
9cd4b910ac
Formatting
...
- Added a documentation comment to each member of `ControlCode`
2023-03-24 15:44:59 +02:00
89fbd3adf9
Formatting
...
- Use `cast(string)` instead of any `.dup` or `.idup`
- Removed TODO
- Removed `pragma(inline)`s
2023-03-24 15:43:28 +02:00
37b568c21d
- Renamed method
2023-03-19 16:14:23 +02:00
6aa314603c
- Documented
2023-03-19 16:14:09 +02:00
2e5ff166a6
God I hate git, added all work I did back now
2023-03-19 16:12:39 +02:00
2f0d370c0b
bruh
2023-03-19 16:06:44 +02:00
9e356289b5
Merge branch 'master' into formatting
2023-03-19 16:03:36 +02:00
dc9a247d54
Merge branch 'master' into ircv3
2023-03-19 15:51:19 +02:00
301cc64cca
Exceptions
...
- Added a TODO
2023-03-19 15:51:10 +02:00
0296cc333c
Formatting
...
- Cleaned up code style
2023-03-19 12:37:35 +02:00
927d10abff
Formatting
...
- Added some TODOs
- Code formatting
- Added some documentation
2023-03-19 12:34:20 +02:00
9cd5b7da2c
Merge branch 'master' into formatting
2023-03-19 12:25:04 +02:00
b2d7250f49
Merge branch 'master' into ircv3
2023-03-19 12:24:49 +02:00
58d3be3806
Client
...
- Don't make this member appear in docs (hopefully) - by marking it as `package
Messages
- Don't make this member appear in docs (hopefully) - by marking it as `package
2023-03-19 12:24:11 +02:00
51a04659c5
Exceptions
...
- Added new `ErrorType` enum member `INVALID_FORMATTING`
Formatting
- All formatting functions will now throw a `BirchwoodException` instead of a `StringException` on invalid formatting parameters
2023-03-19 12:19:32 +02:00
1ca052978b
CLient
...
- Updated unit test to test combining of formatting
2023-03-19 12:13:54 +02:00
033ea850f3
Formatting
...
- Explicitly make the formatting functions `public`
Client
- Added unit tests for formatting functions
2023-03-19 12:08:44 +02:00
208cfebf49
Formatting
...
- Added TODO for import `std.string`
- Added documentation to `SimpleColor` enum
- Added documentation and code-styled `reset_fg_bg()`, `bold(string)`, `italics(string)`, `underline(string)`, `strikethrough(string)` and `monospace(string)`
2023-03-19 11:58:44 +02:00
71d30039da
Formatting
...
- Changed name of enum `simpleColor` to `SimpleColor` to adhere to D naming conventions
2023-03-18 13:05:57 +02:00
9fe4185636
Merge branch 'master' into ircv3
2023-03-18 13:04:38 +02:00
8fccde71e2
Formatting
...
- Added documentation for module
2023-03-18 13:00:03 +02:00
267f888615
Merge pull request #7 from supremestdoggo/master
...
Add IRC formatting codes
2023-03-18 12:53:47 +02:00
8d1fbbdece
Merge branch 'master' into ircv3
2023-03-18 12:30:10 +02:00
de35d611f7
Client
...
- Made the `connInfo` field `package` level
- Made the `connInfo` field `shared` meaning access to teh variable (updating the "slot", a.k.a. what struct is stored there) will use a lock
- Updating anything within the struct will use a lock (besides `addrInfo` after returning from `getAddr()`)
- This ensures we can have runtime updates safely
- Added documentation to the constructor
- Added TODO for the destructor
- Re-added `getConnInfo()`
- This practice is good for cases we want to update the struct, as getting it via a function would return a copy
ConnInfo
- `ConnectionInfo` struct must now be marked as `shared` due to `Client.connInfo` being marked as such
- We cast from `shared Address` to `Address` because I don't think there is a lot of mutable data in this anyways (subject to change)
Sender
- The `SenderThread` will now access the client's connection info via the field name (`connInfo`), rather than getting a copy of the struct and then fetching the fakelag
2023-03-18 12:29:35 +02:00
aa83f1a1bb
ConnInfo
...
- Added `setBulkReadSize(ulong)` to `ConnectionInfo`
2023-03-18 11:50:54 +02:00
2ab86df2c7
Client
...
- Documented the `sender` field
2023-03-18 11:47:54 +02:00
b19a7a52d6
Client
...
- Added missing documentation for `Client` type
2023-03-18 11:47:06 +02:00
17c81bd1b0
Client
...
- Store all learnt key-value pairs into `string[string] attrs` for now
2023-03-18 11:45:38 +02:00
ece8593b60
Merge branch 'master' into ircv3
2023-03-18 11:38:59 +02:00
603e636c2a
Client
...
- Removed stray comment
2023-03-18 11:38:54 +02:00
4b43174c20
Client
...
- Print the key-value pairs from `RPL_ISUPPORT` out
2023-03-18 11:38:38 +02:00
1a89396ba8
Messages
...
- Temporarily disabled Dlog `debug_` calls
2023-03-18 11:38:12 +02:00
c6a74d3cee
Merge branch 'master' into ircv3
2023-03-18 11:33:24 +02:00
ee3cacc244
Unit test
...
- Added notes about the fact we should be automating the `NICK` and `USER` commands on connect
2023-03-18 11:31:55 +02:00
6688d6dfdf
Config
...
- Documented package module
Client
- Documented package module
Protocol
- Documented package module
Birchwood
- Documented package module
2023-03-18 11:29:41 +02:00
cb56a4d9f4
ConnInfo
...
- Clean up comment
2023-03-18 11:25:39 +02:00
bd16cc145c
Unit tests
...
- Fixed usage of `ErrorType`
2023-03-18 11:24:52 +02:00
47687244af
Exceptions
...
- Commented all of `BirchwoodException`
- Moved `ErrorType` up to the module-level
- Documented `ErrorType` and all of its member enums
Client
- Fixed usage of `ErrorType`
ConnInfo
- Documented `ConnectionInfo`
- Fixed usage of `ErrorType`
2023-03-18 11:24:01 +02:00
9e68d94120
Sender
...
- Added documentation to the `SenderThread`
Receiver
- Added documentation to the `ReceiveThread`
2023-03-18 11:09:42 +02:00
fc63aaae49
Receiver
...
- Added missing documentation
- Removed commented-out code block
Sender
- Added missing documentation
- Removed commented-out code block
2023-03-18 11:07:37 +02:00
supremestdoggo
5c377e0572
Fix build errors
2023-03-17 10:40:18 -04:00
supremestdoggo
a4b75a322d
Add simpleColor function overloads
2023-03-17 10:34:56 -04:00
supremestdoggo
622d6e509d
Merge branch 'deavmi:master' into master
2023-03-17 10:20:49 -04:00
e5b35fb8e7
Merge branch 'master' into ircv3
2023-03-17 09:36:25 +02:00
a1b739e8b7
Merge branch 'params_parsing'
2023-03-17 09:31:17 +02:00
c6953057e8
Client
...
- Disable testing code for now
2023-03-17 09:29:04 +02:00
91235f7484
ConnInfo
...
- Documented module
ConnectionInfo
- Documented struct
2023-03-17 09:25:26 +02:00
ac6d9dbc14
ConnInfo
...
- Added method documentation
2023-03-17 09:24:24 +02:00
d982205b1b
Messages
...
- Documented `getKVPairs()`, `getTrailing()` and `getPairs()`
2023-03-17 09:20:54 +02:00
0e9c042d21
Unit tests
...
- Cleaned up
2023-03-17 09:18:17 +02:00
3c6ee2bbbb
Unit tests
...
- Added another unit test
2023-03-17 09:11:22 +02:00
0c4382d7ce
Client
...
- Test new parameter parsing
- Noted DLog logging bug where output cannot be seen
2023-03-17 09:10:04 +02:00
d705ad1e66
Messages
...
- Added `ppPairs` and `getPairs()` which returns a `string[]` of all parameters (excluding trailing)
- Implemented usage of new `splitter(string, ref bool)`
- The `splitter()` function now sets a flag if there is a trailer
Unit tests
- Updated unit test to use new `splitter(string ref bool)`
2023-03-17 09:09:40 +02:00
988b1686d7
Messages
...
- FIxed assertion in unit test
2023-03-17 08:37:13 +02:00
1af73cb9d3
Messages
...
- Added unit test for `splitting(string)`
2023-03-17 08:36:09 +02:00
fc9301f632
Message
...
- Implemented `splitting(string)` which returns a `string[]` of split parameters according to the rfc1459's ENBF
2023-03-17 08:35:23 +02:00
75f3f7b867
Messages
...
- Slightly improved trailer detection
- Added some TODOs and notes
Client
- Log the key-value parameters and trailer
2023-03-16 18:38:06 +02:00
c0a249a31c
Constants
...
- Don't use octals
2023-03-16 18:19:01 +02:00
f120a566a7
Client
...
- Added TODO regarding what needs to be done to update the `"PRIVMSG"` sub-handler
2023-03-16 13:58:20 +02:00
8a808cf9f2
Client
...
- Test out new `getKVPairs()` and `getTrailing()`
2023-03-16 13:53:14 +02:00
0224f4554b
Messages
...
- Added `getTrailing()` which returns the trailing text
- Added `getKVPairs()` which returns the key-value pairs
2023-03-16 13:52:29 +02:00
b34eaf0e4e
Messages
...
- Added work-in-progress `parameterParse()` which attempts to parse parameters and trailing text (if any of both)
- Added `ppTrailing` for any possible trailing text
- Added `ppKVPairs` for any potential key-value pairs
- Call `parameterParse()` on initialization of a new `Message` object
2023-03-16 13:45:56 +02:00
b024a14c7a
Client
...
- WIP
2023-03-16 13:20:46 +02:00
9134a437d5
Constants
...
- Apparently that syntax does octal number representation, I don't want that
2023-03-16 13:07:29 +02:00
9633e76c1c
Constants
...
- Added `RPL_BOUNCE` support back with the new code `010` as per the IRCv3 spec
2023-03-16 13:05:32 +02:00
9070bf4573
Client
...
- Switched to `ReplyType.RPL_USPPORT`
2023-03-16 12:59:52 +02:00
c51d7f402f
Merge branch 'master' into ircv3
2023-03-16 12:59:30 +02:00
d21229b899
Constants
...
- Typo fix
2023-03-16 12:56:28 +02:00
5782b84c5d
Constants
...
- `005` is now `RPL_ISUPPORT` in ircv3 and not `RPL_BOUNCE` as in rf2812
2023-03-16 12:56:14 +02:00
2c25a20ffb
Merge branch 'master' into rfc2812
2023-03-16 12:44:34 +02:00
e0f1f1f841
Merge branch 'master' into ircv3
2023-03-16 12:44:26 +02:00
f3b5246a1c
Merge branch 'master' into ping_pong_fix
2023-03-16 08:41:13 +02:00
246e3d1474
Merge branch 'master' into ircv3
2023-03-16 08:40:19 +02:00
9ff29d177d
Merge branch 'master' into rfc2812
2023-03-16 08:39:41 +02:00
9cc40938ee
Receiver
...
- Added documentation for `rq`
Sender
- Added documentation for `sq`
2023-03-16 08:38:47 +02:00
d2acd08a98
Client
...
- Removed commented-out code
2023-03-16 08:37:04 +02:00
a0acaccdec
Merge branch 'master' into rfc2812
2023-03-16 08:35:12 +02:00
93fecfaad5
Client
...
- Removed now-completed TODO
- Implemented `joinChannel(string[])`
Unit tests
- Use BNET test server
- Added test calls to `joinChannel(string[])`
2023-03-16 08:26:03 +02:00
66c3a02d6e
Client
...
- Added missing documentation for `onDirectMessage`, `onChannelMessage`, `onGenericCommand` and `onCommandReply`
2023-03-16 08:17:56 +02:00
087eb954d1
Client
...
- Print out `RPL_BOUNCE` when it appears
2023-03-16 08:05:34 +02:00
66cd409234
Package (protocol)
...
- Make `ReplyType` available
2023-03-15 21:29:07 +02:00
3393b60993
Client
...
- Switch to BNET test server
2023-03-15 21:27:01 +02:00
d66bec5fa6
Client
...
- Switch back to BNET test server
2023-03-15 21:26:07 +02:00
09e8d2e1b7
Merge branch 'master' into rfc2812
2023-03-15 21:19:46 +02:00
57ce756120
Constants
...
- Added `ERR_NOCHANMODES`
2023-03-15 20:50:03 +02:00
454dc86e66
Constants
...
- Added `RPL_GLOBALUSERS` and `RPL_WHOISCERTFP`
2023-03-15 20:47:37 +02:00
3b0136d725
Constants
...
- Added `RPL_LOCALUSERS`
2023-03-15 20:43:09 +02:00
1f7e3a96af
Constants
...
- Segmented into sections based on rfc
- Added a few new constants from RFC2812
- `RPL_BOUNCE` (`005`) is a numeric response to note as it has key-value pairs associated with it
2023-03-15 20:34:36 +02:00
7c8208182f
Client
...
- Added TODOs for comments
2023-03-15 20:24:05 +02:00
672b8fee64
Client
...
- Added some TODOs for comments
2023-03-15 20:23:30 +02:00
681dfc042c
Client
...
- Added TODO where response code handling needs to go
2023-03-15 20:07:10 +02:00
supremestdoggo
1fe990ac36
Minor edits
2023-03-15 12:43:10 -04:00