a3ed8012b2
[web] Fix editor line sometimes not being curved
2020-03-25 21:13:34 +00:00
53b4b2c9a0
[tui] Clean up and add more key bindings
2020-03-25 21:13:34 +00:00
c2b4a23542
[tui] Clean up the UI state
2020-03-25 21:13:34 +00:00
68b1129a49
[common] Clean up node module and add some useful functions
2020-03-25 21:13:33 +00:00
60c61974fb
[tui] Move cursor to newly created nodes
2020-03-25 21:13:15 +00:00
54795b81ac
[web] Connect to server
...
The individual components are more-or-less working, but the code that glues them
together is still pretty ugly. I should probably revisit and clean up the
individual components too. Also, the cursor code is missing a few features, but
everything is usable for the first time :D
2020-03-25 21:13:15 +00:00
78235ef7cf
[cabin] Parse command-line options
2020-03-25 21:13:14 +00:00
63a36d8a71
[server] Extract shared editing logic into a branch
2020-03-25 21:12:57 +00:00
aa074d181b
[server] Rename "graft" to "draw"
2020-03-25 21:12:34 +00:00
83406dff10
[server] Reimplement collaborative editing
2020-03-25 21:12:32 +00:00
a2d392bc4d
[server] Remove old tree modules
2020-03-25 21:12:09 +00:00
f6a281fee1
[server] Add schema for tree-like node structures
2020-03-25 21:11:38 +00:00
cdfe515df6
[server] Add new structure for server applications
2020-03-25 21:11:25 +00:00
04b8bd7445
[all] Include summary of subprojects in readme
2020-03-25 21:11:03 +00:00
56373a0748
[stack] Update resolver to lts-15.3
2020-03-25 21:11:03 +00:00
f8fd5b3c3e
[web] Move web client to this repo
2020-03-25 21:11:03 +00:00
4b8d0ee4a4
[all] Reorganize haskell code into multiple packages
2020-03-25 21:10:59 +00:00
0edc241149
[client] Adjust editor to look like web client text boxes
2020-03-14 01:12:21 +00:00
d58f1e4fef
[client] Fix rendering of nodes containing empty strings
2020-02-28 19:35:42 +00:00
041f117df8
[client] Allow choosing the attribute name for the indentation text
2020-02-28 19:28:44 +00:00
0d01e4792d
[client] Remove microlens dependency
2020-02-28 19:25:31 +00:00
50e78cfed3
[client] Use the correct function for the job
...
Somehow, I missed this function and reimplemented it myself. Sometimes it helps
to read the documentation...
2020-02-28 19:25:31 +00:00
ab8c764329
[client] Align node permissions to the right
...
The previous layout depended on txtWrap being greedy, but not taking up all
available horizontal space. That behaviour is incorrect according to the
definition of greedy widgets, which have to take up all available horizontal
space.
In brick 0.52, this behaviour has been partially fixed. The padRight function
added in this commit emulates the correct txtWrap behaviour even for cases where
txtWrap has not been fixed yet. If txtWrap is fixed entirely, the padRight can
be removed again.
2020-02-27 15:09:11 +00:00
22974d96a7
[server] Move server-related files into their own subdirectory
2020-02-26 08:57:09 +00:00
a2c2c4487b
[client] Improve cursor behaviour when elements are deleted
2020-02-26 08:57:09 +00:00
9fa804f87f
[stack] Update resolver
2020-02-24 13:27:39 +00:00
657adad7e5
[client] Improve reply interactions
2020-02-24 12:41:32 +00:00
901a1c4bce
[client] Grey out tree lines
2020-02-24 00:20:37 +00:00
6359555db6
[client] Add key bindings to help text
2020-02-20 00:39:53 +00:00
e6958e11cb
[client] Only send packets when the corresponding permission is set
2020-02-19 23:48:21 +00:00
ec61c4d092
[client] Unfold a node when replying to it
2020-02-19 23:45:54 +00:00
1fd476e585
[client] Fix initial editor contents
2020-02-19 23:37:36 +00:00
385ec894ef
[client] Fix rendering of editor
2020-02-19 23:37:22 +00:00
661c233ce1
[client] Fix cursor becoming invisible
2020-02-19 23:36:14 +00:00
e8b6efcb76
[client] Rewrite client structure
2020-02-19 23:12:53 +00:00
bd06b64699
[docs] Add back inital root node in server hello packet
2020-02-18 12:13:29 +00:00
f2e77b7c03
[server] Implement shared editing module
2020-02-18 00:43:30 +00:00
e917893a9b
[server] Print exceptions encountered during a connection
2020-02-18 00:42:57 +00:00
af8305bfac
[client] Print exceptions encountered while UI is running
2020-02-18 00:42:30 +00:00
8c233ae4e0
[server] Fix fork module
...
Previously, the fork module would return Just () on all actions. This made the
server disconnect any client after a successful action (e. g. editing a node).
2020-02-18 00:41:19 +00:00
d2c6efd6c4
[server] Implement API changes
2020-02-17 23:34:02 +00:00
964b13739a
[server] Add ordered map
...
It works similar to a map, but additionally keeps track of the order of its
keys.
2020-02-17 23:33:50 +00:00
4d06e48a82
[docs] Switch to map of child nodes plus display order
2020-02-16 23:32:33 +00:00
a50338a028
[docs] Add link to status code section of websocket RFC
2020-02-15 14:27:29 +00:00
8bf783b85a
[docs] Add API documentation
2020-02-15 14:27:23 +00:00
2a2b148046
[server] Add return value to tree modules
...
Now, tree modules can't just stop, they can Just stop. Sorry... But they can
return values now, with a tiny bit of type class trickery.
2020-02-13 23:38:26 +00:00
220b5a3234
[server] Adjust TreeModule structure
...
This commit prepares a slighly more powerful TreeModule structure: Now,
TreeModules can finish their execution, which should make some kinds of menus
and transitions possible.
2020-02-13 23:23:15 +00:00
d08f858692
[client] Make websocket connection closing more robust
2020-02-12 13:04:47 +00:00
5e7f90c6d5
[server] Rename tree module files
2020-02-12 11:34:25 +00:00
3656483bc8
[server] Add very simple animation module
...
I mostly used this module for testing the partial tree updates.
2020-02-12 11:07:12 +00:00