Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.circleci a: update circleci yaml May 5, 2018
dump dump: fix fmt bug Jun 24, 2018
LICENSE . Sep 6, 2017
README.md start making the error box less annoying Aug 13, 2018
a.go start making the error box less annoying Aug 13, 2018
a.png update images Dec 9, 2017
active.go a: update tag.Tag.Win -> tag.Tag.Label Aug 13, 2018
addr.go look: fixes festering look bugs Jun 17, 2018
args.go show banner only when no files are specified as arguments Aug 13, 2018
assert.go remove Loc Jun 26, 2018
b.png update image Jun 25, 2018
border.go gofmt Aug 5, 2018
cmd.go add diff Aug 13, 2018
col.go a: update tag.Tag.Win -> tag.Tag.Label Aug 13, 2018
color.go color: correct window label Aug 5, 2018
conductor.go remove Loc Jun 26, 2018
config.go a: color management Jul 16, 2018
cursor.go a: clean up main a bit; remove more event-driven functions and replac… Mar 24, 2018
diff.go add diff Aug 13, 2018
drag.go a: use the mobile events in as/shiny Aug 5, 2018
dump.go a: update tag.Tag.Win -> tag.Tag.Label Aug 13, 2018
edit.go fix edit refresh bug Jun 21, 2018
error.go v0.6.1: clean up main Apr 3, 2018
font.go move font-released function into font.go Jun 26, 2018
frame.go update readme Jun 26, 2018
go.mod update go.mod Aug 13, 2018
grid.go a: update tag.Tag.Win -> tag.Tag.Label Aug 13, 2018
guide add diff mode via 'Diff' command Aug 13, 2018
guru.go a: update tag.Tag.Win -> tag.Tag.Label Aug 13, 2018
img.go a: update tag.Tag.Win -> tag.Tag.Label Aug 13, 2018
imports.go gofmt Aug 5, 2018
jump.png fix more crashes when Looking or executing in the column tags/main tags Sep 8, 2017
kbd.go add esc functionality Aug 14, 2018
kmod.go make ctrl and alt behave like acme from plan9port Jun 17, 2018
limit.go limit: x,1,c,4, Jul 17, 2018
look.go a: update tag.Tag.Win -> tag.Tag.Label Aug 13, 2018
look_test.go a: update tag.Tag.Win -> tag.Tag.Label Aug 13, 2018
main.go fix errors Aug 14, 2018
mouse.go add esc functionality Aug 14, 2018
mouse_darwin.go a: darwin: add platform specific workaround for mouse move function May 3, 2018
mouse_linux.go a: v0.6.0: csp Mar 25, 2018
mouse_windows.go v0.5.5 - fix #136 mouse jump issue on windows; add go.mod May 5, 2018
oscmd.go properly cancel sends and recv Aug 9, 2018
paint.go a: use the mobile events in as/shiny Aug 5, 2018
plane.go a: major refactor Apr 24, 2018
plumber.go a: fix scroll Apr 10, 2018
pprof.go v0.4.8: dont run pprof unnecessarily; fixes as/a#115 Jan 10, 2018
scroll.go gofmt Aug 5, 2018
shape.go remove Loc Jun 26, 2018
srv.go a: save editor state if its crashing Jun 24, 2018
tour.go fix errors Aug 14, 2018
track.go add tracker (rename pending) Aug 14, 2018
utf8.png v0.3.5; add utf8 experiment with -u Sep 25, 2017
util.go gofmt Aug 5, 2018
version.go add ESC key functionality Aug 14, 2018

README.md

A

Go Report Card CircleCI

A is a text editor inspired by the Sam and Acme text editors for the Plan 9 operating system.

binary

paint paint

  • Latest Binaries
  • Written in Go (no dependencies)
  • Resembles Acme and Sam text editors.
    • Mouse chording
    • Text is executable
    • Standard UNIX keyboard shortcuts
    • Implements the Edit command language
    • Plumbing
  • Graphics
    • Frame implementation stores bytes and works with '\0'
    • UTF-8 rendering support
    • Structure highlighting
    • Image support (TBD)
  • Files
    • Optimized for editing huge binary files.

note

This repository is still in the alpha stage, and frequently changes. The program comes with no warranty expressed or implied.

install or build

Binary releases for linux, windows, and darwin are available for v0.6.7+. You can install from source on these systems by running:

go get -u -t github.com/as/a

If you want to install a prior version (v0.5.5, for example, which uses the original exp/shiny)

go get github.com/as/a
go get github.com/golang/vgo
cd $GOPATH/src/github.com/as/a
git checkout v0.5.5-release 
vgo build

You can also build the latest with vgo, but vgo is not necessary for that

git checkout master
vgo build

usage

a [file ...]

differences and issues

https://github.com/as/a/issues

hints

To reshape the windows and columns, click on the invisible 10x10px sizer that I haven't rendered yet with the left mouse button. Hold the button down and move the window to the location. Release the button.

edit

  • 80% of the sam command language is implemented.

Edit ,x,the standard editor is any editor,x,any editor,c,ed,

commands

  • Currently only in CWD
  • Put [go build] in the tag
  • Double click inside [
  • Middle click to execute

look

  • Right click on a string
  • If its a file, it will open it
  • If win32, it will also move the mouse
  • if you highlight a valid mode in the guru tag, right clicking in a go source file will run guru on that selection

mouse

1 Select text/sweep
1-2 Snarf (cut)
1-3 Paste
2 Execute select
3 Look select

keyboard

^U  Delete from cursor to start of line.
^W  Delete word before the cursor.
^H  Delete character before the cursor.
^A  Move cursor to start of the line.
^E  Move cursor to end of the line.
^+  Increase font size
^-  Decrease font size
^i	Run goimports (in a tag ending in .go)

extras

  • Looking (right click) in the main tag finds the result in all open windows paint

future

  • Fixing the bugs
  • Cleaning the code up
  • Live multi-client editing
  • Go specific ast/compiler stuff
  • Better CMD exec
  • File system interface to shiny events

see also

History of good text editors

  • The Acme User Interface for Programmers (Rob Pike)
  • A Tutorial for the Sam Command Language (Rob Pike)
  • Plan 9
  • Inferno
  • Acme SAC