Commit graph

76 commits

Author SHA1 Message Date
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
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
c676d71a61 Improve UI
- text no longer jumps around when an error message is displayed
- you can only type valid room names
- esc exits the application
2019-06-08 09:10:59 +00:00
43af84a395 Add basic euphoria single-room application 2019-06-08 09:10:59 +00:00
60d686bfce Implement widget for TreeDisplay 2019-06-08 09:10:59 +00:00
9c3278b48c Allow updating the AttributedTextWidget's text 2019-06-08 09:10:59 +00:00
55cea8ea7f Fix AttributedText types 2019-06-08 09:10:59 +00:00
b44e510dd2 Start using venv 2019-06-08 09:10:59 +00:00
a80f4c3788 Add AttributedTextWidget 2019-06-08 09:10:59 +00:00