From ad9e7cd5117c965222aae708f660e56d537914fc Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Mon, 6 Oct 2025 00:48:48 +0300 Subject: imported all of my Github gists from https://gist.github.com/rhaberkorn --- tecat.lua | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100755 tecat.lua (limited to 'tecat.lua') diff --git a/tecat.lua b/tecat.lua new file mode 100755 index 0000000..e287658 --- /dev/null +++ b/tecat.lua @@ -0,0 +1,14 @@ +#!/usr/local/bin/lua52 +-- Replace all control characters with printable representations as in SciTECO. +-- These characters are printed in reverse using ANSI escape sequences. +-- This is especially useful as the diff textconv filter for Git as in +-- git config --global diff.teco.textconv tecat +local file = #arg > 0 and io.open(arg[1], 'rb') or io.stdin +while true do + local buf = file:read(1024) + if not buf then break end + io.write((buf:gsub("[\00-\08\11\12\14-\31]", function(c) + c = c:byte() + return "\27[7m"..(c == 27 and '$' or '^'..string.char(c+0x40)).."\27[27m" + end))) +end -- cgit v1.2.3