In-progress browser for a directory of text files
Go to file
Kartik K. Agaram 81341a458c Merge text0 2024-09-05 13:53:57 -07:00
assets
0000-freewheeling-start
0001-on
0002-Debug_animations_in_progress
0003-refresh_debug_animations
0004-on.update
0005-animate
0006-loiter
0007-save_callstack
0008-Debug_animation_period
LICENSE.txt
Manual_tests.md
MemoryReferenceInfo.lua.0
MemoryReferenceInfo.lua.unused
README.md Merge text0 2024-09-05 13:53:57 -07:00
app.lua Merge text0 2024-06-11 12:54:49 -07:00
button.lua
default_map
edit.lua Merge text0 2024-09-01 01:31:05 -07:00
file.lua
json.lua
keychord.lua
live.lua reset font size on error 2024-07-09 21:36:52 -07:00
main.lua
nativefs.lua
reference.md fix some names in documentation 2024-06-16 05:18:59 -07:00
search.lua Merge text0 2024-06-11 12:54:49 -07:00
select.lua Merge lines.love 2024-09-01 01:17:22 -07:00
test.lua
text.lua Merge text0 2024-09-01 01:31:05 -07:00
text_tests
text_tests.lua Merge text0 2024-06-11 12:54:49 -07:00
undo.lua Merge lines.love 2024-09-01 01:17:22 -07:00

README.md

Example "freewheeling" app that can be modified without being restarted

0 dependencies!

Running this repo in isolation won't be very helpful. If you haven't yet, first check out the driver app. This repo is a template you can copy to create your own live apps that juggle text editor widgets. The editors support copy/paste, search, infinite undo, etc. You can't modify editor functionality live (yet?).

Some reference documentation on how to create your own apps.

This repo is an example of a Freewheeling App, designed above all to be easy to run, easy to modify and easy to share.

Getting started

Install LÖVE. It's just a 5MB download, open-source and extremely well-behaved.

Run the app using LÖVE.

Hacking

To modify it live without restarting the app each time, download the driver app. Here's an example session using a fork of this repo:

making changes without restarting the app

If the app being modified by the driver lives in a .love file, your changes will go into the save directory. If it lives in a directory (like this repo), your changes will go straight into the same directory.

Keyboard shortcuts

Up to you! But within the included editor widget if you use it:

  • 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

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.

  • Can't scroll while selecting text with mouse.

  • No scrollbars yet. That stuff is hard.

Mirrors and Forks

This repo is a fork of lines.love, an editor for plain text where you can also seamlessly insert line drawings. Its immediate upstream is text.love, a version without support for 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. Messages, PRs, patches, forks, it's all good.