little tool for tournament cross-tables
Go to file
Kartik K. Agaram a4e2eb65e8 read data from commandline arg 2023-10-17 15:42:57 -07:00
assets
0000-freewheeling-start
0001-on
0002-on.draw buttons popping nicely now 2023-10-16 22:40:30 -07:00
0003-draw_data no buttons for the 'X' cells 2023-10-17 15:23:46 -07:00
0005-max_row_width switch representation to simpler table of tables 2023-10-16 19:41:14 -07:00
0006-total_row_width switch representation to simpler table of tables 2023-10-16 19:41:14 -07:00
0007-column_xs switch representation to simpler table of tables 2023-10-16 19:41:14 -07:00
0008-table.size switch representation to simpler table of tables 2023-10-16 19:41:14 -07:00
0009-ordered_keys show team scores and sort by them 2023-10-16 20:35:42 -07:00
0010-score show team scores and sort by them 2023-10-16 20:35:42 -07:00
0011-Global_state toggle scores when clicking on cells 2023-10-16 21:25:43 -07:00
0012-on.mouse_press toggle scores when clicking on cells 2023-10-16 21:25:43 -07:00
0013-Data read data from commandline arg 2023-10-17 15:42:57 -07:00
0014-on.initialize read data from commandline arg 2023-10-17 15:42:57 -07:00
0015-Rows stop auto-reordering rows 2023-10-16 21:37:23 -07:00
0017-make_button_pop buttons popping nicely now 2023-10-16 22:40:30 -07:00
0018-on.keychord_press reorder rows on C-r 2023-10-16 22:42:55 -07:00
0019-on.code_change read data from commandline arg 2023-10-17 15:42:57 -07:00
0020-load_results start moving Data to a file 2023-10-17 09:37:10 -07:00
0021-Results_filename read data from commandline arg 2023-10-17 15:42:57 -07:00
0022-absolutize read data from commandline arg 2023-10-17 15:42:57 -07:00
LICENSE.txt
Manual_tests.md
MemoryReferenceInfo.lua.0
MemoryReferenceInfo.lua.unused
README.md Merge lines.love 2023-09-10 21:56:43 -07:00
app.lua Merge text0 2023-10-16 23:33:19 -07:00
button.lua use color alpha in button backgrounds 2023-10-16 22:59:04 -07:00
edit.lua clearer API for drawing a button 2023-10-16 22:57:46 -07:00
file.lua
json.lua
keychord.lua
live.lua start saving edits right in the source dir 2023-09-09 10:47:22 -07:00
main.lua new fork: sports cross-table 2023-10-16 15:34:25 -07:00
nativefs.lua
reference.md fix a bad merge 2023-08-31 07:23:45 -07:00
results read data from commandline arg 2023-10-17 15:42:57 -07:00
search.lua Merge text0 2023-10-15 14:46:50 -07:00
select.lua
test.lua
text.lua
text_tests bugfix: clear selection when clicking above or below lines 2023-09-20 13:39:29 -07:00
text_tests.lua Merge text0 2023-10-09 21:15:21 -07:00
undo.lua

README.md

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

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. I'll assume below that you can invoke it using the love command, but that might vary depending on your OS.

Run this app from the terminal, passing its directory to 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 you run a .love file, your changes will go into the save directory. If you unzip the .love file into a new directory and run the directory instead, 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

  • Both freewheeling apps and the driver for them currently benefit from being launched in terminal windows rather than by being clicked on in a desktop OS. See the driver app for details.

  • No support yet for Unicode graphemes spanning multiple codepoints.

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

  • Undo/redo may be sluggish in editor windows containing large files. Large files may grow sluggish in other ways.

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

  • 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.