Commit graph

93 commits

Author SHA1 Message Date
ae63d3e704 Begin to use config 2019-06-20 19:52:21 +00:00
08b9af9b3d Add euph-specific config 2019-06-20 19:49:44 +00:00
ff4ee93ade Add more kinds of values
Also fixes some type signatures
2019-06-20 19:47:45 +00:00
9d20aaa394 Load to existing config 2019-06-20 17:44:26 +00:00
ae1bbc63e7 Partly reorganize stuff
This is just a commit so I can start integrating the config system over
the next few commits without polluting config system changes with
RoomWidget changes.

The RoomWidget is going to be properly cleaned up once the config system
is actually in place.
2019-06-20 14:53:50 +00:00
a39dad7946 Create config system 2019-06-20 14:50:22 +00:00
3c684070c5 Add test script to launch a single room app 2019-06-12 16:53:37 +00:00
d62d64a4a4 Add test script to display room layout 2019-06-12 16:53:21 +00:00
1423533378 Add room widget
It's still incomplete, but it works - at least a bit.
2019-06-12 16:51:22 +00:00
6942777c1e Fix crashes when connecting to room fails 2019-06-12 16:13:39 +00:00
50e5b594ad Filter out control characters 2019-06-12 16:12:53 +00:00
8b0740778c Set an edit widget's text
Also make the width calculation take into account the Edit's cursor.
2019-06-12 16:12:04 +00:00
1307a9d06b Change how the cursor looks
Now uses <> instead of [] so that distinguishing the cursor and messages
is easier.
2019-06-12 08:50:55 +00:00
6030c96586 Add single room application
This application lets the user pick a single room and join it. It also
displays error messages when a room could not be joined.
2019-06-12 08:50:55 +00:00
187a69fd5f Add editing widgets for popups etc. 2019-06-12 08:50:55 +00:00
8336794342 Clean up a bit 2019-06-09 14:44:35 +00:00
5e7089f320 Find oldest message in supply 2019-06-09 14:43:49 +00:00
45bf3ecdb0 Move cursor to bottom of supply 2019-06-09 14:43:09 +00:00
943a8915e6 Fix cursor and messages being rendered too wide 2019-06-09 14:25:35 +00:00
0775d17357 Calculate length of unicode string 2019-06-09 14:22:28 +00:00
17e49d529c Add custom message renderer for euphoria 2019-06-09 14:20:16 +00:00
204411726e Remove testing code and clean up (somewhat) 2019-06-08 18:49:04 +00:00
148f2d2667 Remove unused function
As far as I know, the function produced incorrect results. I don't need
it anways, so I'm just throwing it out.
2019-06-08 09:10:59 +00:00
37b84adab5 Add some tests 2019-06-08 09:10:59 +00:00
ab4e54b543 Fix test structure and add rendering tests 2019-06-08 09:10:59 +00:00
d8ee20c402 Add ShouldNeverHappen exception 2019-06-08 09:10:59 +00:00
a9ddf27525 Remove old files 2019-06-08 09:10:59 +00:00
b71541c847 Add scrolloff option (similar to vim) 2019-06-08 09:10:59 +00:00
bb6d7830ea Implement cursor movement 2019-06-08 09:10:59 +00:00
05809b0723 Test interactions for scrolling 2019-06-08 09:10:59 +00:00
dd6ad51077 Implement scrolling for cursor tree 2019-06-08 09:10:59 +00:00
a4d33847e9 Add basic cursor tree widget 2019-06-08 09:10:59 +00:00
ba2f64762f Clean up and re-add attributed text widgets 2019-06-08 09:10:59 +00:00
5e10fcecac Fix various small things
A commit that fixes all of the little things I forgot about, but that
are necessary for rendering to function properly.

- (attr. lines) reverse lines before extending above
- (attr. lines) clamp the AttributedLine offset so that there is always
  a line with offset 0
- (tree renderer) use meta spaces for the cursor too
- (tree renderer) use correct indent text for cursor
- (tree renderer) fix mypy error by safely ignoring it
- (supply) sort by root id instead of value
- (supply) return id, not list of ids
2019-06-08 09:10:59 +00:00
5a606a9191 Implement missing cursor tree rendering methods 2019-06-08 09:10:59 +00:00
9c389b64e4 Clean up package imports 2019-06-08 09:10:59 +00:00
dec73f183f Implement tree rendering with cursor 2019-06-08 09:10:59 +00:00
2407377cf1 Implement cache for rendered elements 2019-06-08 09:10:59 +00:00
75a5ae5758 Restructure element classes yet again 2019-06-08 09:10:59 +00:00
c035817ba8 Unit test markup and fix all issues found 2019-06-08 09:10:59 +00:00
052bbfb6d2 Make classes more generic 2019-06-08 09:10:59 +00:00
f4c0416398 Add in-memory message supply 2019-06-08 09:10:59 +00:00
267f419603 Render basic messages 2019-06-08 09:10:59 +00:00
8979d80062 Accommodate scrolling
Change the rendering code to accommodate for scrolling, and clean it up.
2019-06-08 09:10:59 +00:00
1fe8a87d7f Implement parts of the message tree widget 2019-06-08 09:10:59 +00:00
8eaacf1558 Add documentation 2019-06-08 09:10:59 +00:00
f02b8a7791 Test scrolling with the mouse 2019-06-08 09:10:59 +00:00
0a104afd4a Test line-wide attributes 2019-06-08 09:10:59 +00:00
ce73a7d3bf Update mypy config
It now ignores unused imports, because I don't want to write types for
all the libraries I use.
2019-06-08 09:10:59 +00:00
1803a6676e Add small interactive test scripts 2019-06-08 09:10:59 +00:00