30-second video (no audio)
I'm aiming roughly in the direction of Jonathan Edwards's Subtext 1 and Kragen Sitaker's Bicicleta (1 2).
Design principles:
The bulk of the new code is in rects.lua
.
Current syntax:
[...|...]
syntax which gets
rendered as 2 lines with the lower line (the name or definition of the
blank) in a more subtle color.<...|...>
syntax, where you can
currently specify fg
(foreground color) or bg
(background color). For
example, <heat|fg=1,0,0>
. Colors are triples of 3 numbers between 0 and 1,
separated by commas. Use spaces only to separate fg and bg, thus:
<heat|fg=1,0,0 bg=0,0,1>
.---
sections that partition a document.
Styling directives are the same as in inline styles, so just fg
and bg
so far.Here are some videos from upstream that also help illustrate interactions here. In particular, left/right arrows can now move the cursor up and down between two lines on screen.
Mouse clicks should be fairly intuitive.
Install LÖVE. It's just a 5MB download, open-source and extremely well-behaved.
To run from the terminal, pass this directory to LÖVE, optionally with a file path to edit.
Alternatively, turn it into a .love file you can double-click on:
$ zip -r /tmp/notebook.love *.lua
By default, notebook.love reads/writes the file lines.txt
in
a directory relative to this app.
To open a different file, drop it on the notebook.love window.
While editing text:
ctrl+f
to find patterns within a filectrl+c
to copy, ctrl+x
to cut, ctrl+v
to pastectrl+z
to undo, ctrl+y
to redoctrl+=
to zoom in, ctrl+-
to zoom out, ctrl+0
to reset zoomalt+right
/alt+left
to jump to the next/previous word, respectivelyshift
+ movement to select text, ctrl+a
to select allExclusively tested so far with a US keyboard layout. If you use a different layout, please let me know if things worked, or if you found anything amiss: http://akkartik.name/contact
No support yet for Unicode graphemes spanning multiple codepoints.
No support yet for right-to-left languages.
If you ever see a crash when clicking on the mouse, it might be because a mouse press and release need to happen in separate frames. Try pressing and releasing more slowly and let me know if that helps or not. This is klunky, sorry.
Can't scroll while selecting text with mouse.
No scrollbars yet. That stuff is hard.
This repo is a fork of lines.love. Its immediate upstream is text2.love, an embeddable text editor widget which provides features like word-wrap, unlimited undo in 1200 lines of code. Updates to it can be downloaded from the following mirrors:
Further forks are encouraged. If you show me your fork, I'll link to it here.
Most appreciated. Messages, PRs, patches, forks, it's all good.