acme from plan9port, but over 9000
Find a file
2022-02-21 23:21:10 -07:00
libframe remove libframe.a 2022-02-21 23:21:10 -07:00
mail add gitignore, clang-format, build script; merge src's patch for spaces in filenames 2021-06-12 23:54:54 -06:00
.clang-format add gitignore, clang-format, build script; merge src's patch for spaces in filenames 2021-06-12 23:54:54 -06:00
.gitignore add config.h, fix tag pixel bug, tweak colors, add libframe with cursor fix 2022-02-20 13:43:24 -07:00
acme.c add active tick indication; v9001-a02 2022-02-21 22:53:04 -07:00
addr.c add active tick indication; v9001-a02 2022-02-21 22:53:04 -07:00
buff.c add active tick indication; v9001-a02 2022-02-21 22:53:04 -07:00
build.sh add config.h, fix tag pixel bug, tweak colors, add libframe with cursor fix 2022-02-20 13:43:24 -07:00
cols.c add active tick indication; v9001-a02 2022-02-21 22:53:04 -07:00
config.def.h add active tick indication; v9001-a02 2022-02-21 22:53:04 -07:00
dat.h add active tick indication; v9001-a02 2022-02-21 22:53:04 -07:00
disk.c add active tick indication; v9001-a02 2022-02-21 22:53:04 -07:00
ecmd.c add active tick indication; v9001-a02 2022-02-21 22:53:04 -07:00
edit.c add active tick indication; v9001-a02 2022-02-21 22:53:04 -07:00
edit.h first commit 2019-11-14 18:15:48 -05:00
elog.c add active tick indication; v9001-a02 2022-02-21 22:53:04 -07:00
exec.c add active tick indication; v9001-a02 2022-02-21 22:53:04 -07:00
file.c add active tick indication; v9001-a02 2022-02-21 22:53:04 -07:00
fns.h add memory fixes from upstream: fixes crashes from plumbing 2021-06-13 14:41:51 -06:00
fsys.c add active tick indication; v9001-a02 2022-02-21 22:53:04 -07:00
install.sh add readme, install script; v9001-a01 2022-02-21 11:54:27 -07:00
LICENSE added LPL1.02 2019-11-22 13:24:55 -05:00
logf.c add active tick indication; v9001-a02 2022-02-21 22:53:04 -07:00
look.c add active tick indication; v9001-a02 2022-02-21 22:53:04 -07:00
mkfile add active tick indication; v9001-a02 2022-02-21 22:53:04 -07:00
README.md add active tick indication; v9001-a02 2022-02-21 22:53:04 -07:00
regx.c add active tick indication; v9001-a02 2022-02-21 22:53:04 -07:00
rows.c add active tick indication; v9001-a02 2022-02-21 22:53:04 -07:00
scrl.c add active tick indication; v9001-a02 2022-02-21 22:53:04 -07:00
scrot.png add active tick indication; v9001-a02 2022-02-21 22:53:04 -07:00
text.c add active tick indication; v9001-a02 2022-02-21 22:53:04 -07:00
time.c add active tick indication; v9001-a02 2022-02-21 22:53:04 -07:00
util.c add active tick indication; v9001-a02 2022-02-21 22:53:04 -07:00
wind.c add active tick indication; v9001-a02 2022-02-21 22:53:04 -07:00
xfid.c add active tick indication; v9001-a02 2022-02-21 22:53:04 -07:00

acme9k

This is a fork of the acme text editor from the plan9port distribution. It combines the customizability of lumar/sminez's forks and acme2k with upstream fixes from 9fans and some custom work.

Namely, when click-to-focus is enabled, the active window body or tag renders the tick (aka the text cursor) with the hilight color (COLOR_<TAG|BODY>_HI); otherwise the tick is rendered with the text color (COLOR_<TAG|BODY>_TX). This is all done with a fork of libframe which is included in the distribution and compiled into the program.

See the config.def.h for out of the box customizations that can be done.

screenshot

usage

Keybindings are as follows:

  • Ctrl
    • c: copy
    • x: cut
    • v: paste
    • z: undo
    • y: redo
    • s: save
    • e: move to end of line
    • a: move to begining of line
    • f: filename completion
    • u: kill line
    • w: kill word (backwords)
  • Up/Down: move cursor
  • PgUp/PgDown: the obvious
  • Esc: cut if there is a selection, otherwise hilight the most recently edited text

Users unfamiliar with acme in general should check the following resources:

build

  • Clone this repository
  • From the repo root, if desired, copy config.def.h to config.h and make your modifications
  • Run ./build.sh from the repo root.

install

After building, run ./install.sh; If run as a regular user, it will install to ~/bin/9; if run as root, it will overwrite the systemwide acme in $PLAN9/bin

TODO

  • allow active tick to be rendered for row/column tags, not just window body and tags
  • compile helpers

thanks

  • rob pike author of the original acme for plan9
  • russ cox and the rest of the 9fans for plan9port
  • lumar - looks like they deleted their github repos but I originally pulled my keybinds from there
  • sminez - possibly the original source of lumar's keybindings
  • karahobny - creator of acme2k, a big inspiration for this project
  • aksr - source of the missing tag border pixel fix