Commit graph

81 commits

Author SHA1 Message Date
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
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
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
32bc9af2d8 Implement basic AttributedLinesWidget 2019-06-08 09:10:59 +00:00
66a67f3f28 Create very basic message tree widget structure
Also, fix some cheuph structuring problems
2019-06-08 09:10:59 +00:00
7e2c802364 Increase spacing in modules 2019-06-08 09:10:59 +00:00
7da4bf36d5 Lay out new client structure 2019-06-08 09:10:59 +00:00
6c4bfe2752 Use new config system 2019-06-08 09:10:59 +00:00
bc203aaff1 Create palette from config and add default config 2019-06-08 09:10:59 +00:00
5cfdb8f8e2 Move config to main package 2019-06-08 09:10:59 +00:00
4dfd31e5fc Simplify config code 2019-06-08 09:10:59 +00:00
31549aa7eb Add ConfigView
with python magic to make this possible:

c = Config({"a.b": "c"})
c.view.a.b == "c"
2019-06-08 09:10:59 +00:00
71ad02d4e1 Create simple config system 2019-06-08 09:10:59 +00:00