Fork of lines.love without drawings; useful starting point for further forks http://akkartik.name/lines.html
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Kartik K. Agaram 60f3ded88d
Merge lines.love
6 days ago
LICENSE.txt add a license 9 months ago
Manual_tests.md Merge lines.love 2 months ago
MemoryReferenceInfo.lua.0 remove some memory leaks from rendered fragments 8 months ago
MemoryReferenceInfo.lua.unused clean up memory leak experiments 8 months ago
README.md Merge lines.love 2 weeks ago
app.lua remove a condition 2 weeks ago
button.lua bugfix: propagate mouse press if any button would 6 months ago
colorize.lua reduce use of rfind 4 weeks ago
commands.lua make love event names consistent 2 months ago
drawing.lua consistent names in a few more places 2 months ago
drawing_tests.lua deduce test names on failures 3 weeks ago
edit.lua Merge lines.love 1 week ago
file.lua Merge lines.love 4 months ago
geom.lua stop pretending globals are local 7 months ago
help.lua infrastructure for caching LÖVE text objects 6 months ago
icons.lua support hyperlinks in the source editor 5 months ago
json.lua forgot to add json.lua 9 months ago
keychord.lua make love event names consistent 2 months ago
log.lua create a place for graphical log handlers 1 week ago
log_browser.lua consistent names in a few more places 2 months ago
main.lua Merge lines.love 3 weeks ago
run.lua Merge lines.love 3 weeks ago
run_tests.lua deduce test names on failures 3 weeks ago
search.lua reduce use of rfind 4 weeks ago
select.lua Merge lines.love 6 months ago
source.lua Merge lines.love 1 week ago
source_edit.lua bugfix 1 month ago
source_file.lua fix support for absolute paths in Windows 4 months ago
source_select.lua support selections in the source editor 5 months ago
source_tests.lua deduce test names on failures 3 weeks ago
source_text.lua bugfix: up arrow when line above is a drawing 6 days ago
source_text_tests.lua bugfix: up arrow when line above is a drawing 6 days ago
source_undo.lua support drawings in the source editor 5 months ago
test.lua show another detail on test failure 3 weeks ago
text.lua Merge lines.love 6 days ago
text_tests.lua bugfix: up arrow when line above is a drawing 6 days ago
undo.lua bring back a level of wrapping 6 months ago

README.md

An editor for plain text.

Not very useful by itself, but it's a fork of lines.love that you can take in other directions besides line drawings, while easily sharing patches between forks.

Designed above all to be easy to modify and give you early warning if your modifications break something.

Getting started

Install LÖVE. It's just a 5MB download, open-source and extremely well-behaved. I'll assume below that you can invoke it using the love command, but that might vary depending on your OS.

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/text.love *.lua

By default, it reads/writes the file lines.txt in your default user/home directory (https://love2d.org/wiki/love.filesystem.getUserDirectory).

To open a different file, drop it on the app window.

Keyboard shortcuts

While editing text:

  • ctrl+f to find patterns within a file
  • ctrl+c to copy, ctrl+x to cut, ctrl+v to paste
  • ctrl+z to undo, ctrl+y to redo
  • ctrl+= to zoom in, ctrl+- to zoom out, ctrl+0 to reset zoom
  • alt+right/alt+left to jump to the next/previous word, respectively
  • mouse drag or shift + movement to select text, ctrl+a to select all
  • ctrl+e to modify the sources

Exclusively 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

Known issues

  • No support yet for Unicode graphemes spanning multiple codepoints.

  • No support yet for right-to-left languages.

  • Undo/redo may be sluggish in large files. Large files may grow sluggish in other ways. Works well in all circumstances with files under 50KB.

  • If you kill the process, say by force-quitting because things things get sluggish, you can lose data.

  • Long wrapping lines can't yet distinguish between the cursor at end of one screen line and start of the next, so clicking the mouse to position the cursor can very occasionally do the wrong thing.

  • Can't scroll while selecting text with mouse.

  • No scrollbars yet. That stuff is hard.

  • When editing sources, selecting text is not yet completely implemented.

Mirrors and Forks

This repo is a fork of lines.love, an editor for plain text where you can also seamlessly insert line drawings. 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.

Feedback

Most appreciated.