~akkartik/highlight.love

A viewer for plain text with color markup
a000868b — Kartik K. Agaram 10 days ago
Merge notebook.love
a9d5f069 — Kartik K. Agaram 10 days ago
Merge fractions.love
99b01fcc — Kartik K. Agaram 10 days ago
Merge text2.love

refs

main
browse  log 

clone

read-only
https://git.sr.ht/~akkartik/highlight.love
read/write
git@git.sr.ht:~akkartik/highlight.love

You can also use your local clone with git send-email.

#A viewer for plain text with color markup

0 dependencies!

Current syntax:

  • Inline styling using <...|...> 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>.

#Getting started

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

By default, highlight.love reads/writes the file lines.txt in a directory relative to this app.

To open a different file, drop it on the highlight.love 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

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.

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

#Mirrors and Forks

This repo is a fork of lines.love. Its immediate upstream is notebook.love, a notebook UI that first implemented the markup syntax for styling. 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.

Do not follow this link