Commit Graph

24 Commits

Author SHA1 Message Date
b0af59a316 implement repl for new client structure 2025-09-07 19:11:17 -07:00
bd3f048595 encapsulate client state in an object 2025-09-05 17:59:11 -07:00
6789074d4f complete response handling 2025-09-05 17:24:02 -07:00
37e19cb279 relocate "get" logic. see message
this stumped me for quite a minute. this procedure sometimes needs to
halt execution to get input, like a server requesting input, or the
client asking for permission to follow cross site redirects. the
problem is if the get procedure is thought of as being part of the net
interface, and compartmentalized from the program loop, actually doing
that would require heavy use of continuations to go back and forth
across the boundary

i -do- think that the way i ultimately want to go in the end is using
continuations to halt execution, catch it in the user interface to get
input, and then continue. however, its a lot simpler and more
immediate to change where i'm drawing the line in the separation of
concerns. the continuations-based approach is enough of a diversion
that i haven't managed to get anything done for the last couple of hours.
2025-09-05 15:11:28 -07:00
87e273fe00 handle relative links and unspecified schemes 2025-09-04 20:40:36 -07:00
f02b2c976e correctly handle bottoming out document buffer 2025-09-04 19:39:01 -07:00
b02f59c17f add a visit link command 2025-09-04 15:22:36 -07:00
38a420d649 add currently visited document, pre-rendering, to global state
its becoming apparent that this doesn't need to be global state, and
can be passed from iteration to iteration in the program loop. this
shall be revisited
2025-09-04 15:21:31 -07:00
ea9a3b8fb7 add abbreviations for existing commands 2025-09-04 15:13:25 -07:00
c786466d65 totally redo the line interface, go and pagination commands 2025-09-03 21:16:32 -07:00
41e092975d cutting pasting and renaming as we start to define architectural boundaries 2025-09-03 20:13:07 -07:00
c80d07befb implement a procedure to visit documents. NOT compliant, but enough to move on. 2025-09-02 19:01:53 -07:00
a78e3c8b09 add special case for empty paragraphs 2025-09-02 18:25:17 -07:00
dc2d9ed906 assign numbers to links in a document 2025-09-02 17:17:07 -07:00
6070cd33aa primitive gemtext rendering. not helpful for links yet, but permits further progress on development 2025-09-02 08:21:58 -07:00
01e79027b8 correct logical error in gemtext parsing 2025-09-02 08:21:38 -07:00
4a08e57d3f reverse document and preformatted structures at end of parsing of each so that the document structure is in logical order 2025-09-01 20:41:22 -07:00
75d833949c correct a logical error that would lead to merging unrelated preformatted blocks 2025-09-01 20:34:59 -07:00
1fab00d3a2 implement primitive and bare minimum gemtext parsing 2025-09-01 20:07:44 -07:00
5bffb92241 two minor changes to make prototyping in the racket REPL nicer 2025-09-01 20:06:45 -07:00
37871b6b3b implement a procedure for reflowing and displaying paragraphs 2025-09-01 18:57:01 -07:00
e0260e4496 implement very primitive REPL 2025-09-01 16:43:35 -07:00
836477902c correct a minor issue with header parsing 2025-09-01 16:43:05 -07:00
71c840d687 initial commit. tentatively implements response header parsing. 2025-09-01 14:50:34 -07:00