T_old

module
v0.0.0-...-2842cdc Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 24, 2018 License: ISC

README

Build Status Coverage Status GoDoc

T is a text editor inspired by the Acme and Sam editors of the Plan9 operating system and Plan9 from User Space project. It aims to be much like Acme (see Russ Cox's tour of Acme for a taste).

T is still in the early stages of development. Here's a screenshot of the latest demo: screenshot You can try it yourself with a couple of simple commands:

go get -u github.com/eaburns/T/...
go run $GOPATH/src/github.com/eaburns/T/ui/main.go

By design, the T editor is client/server based It serves an HTTP API allowing client programs to implement editor extensions.

The API is split across two different servers. One is the editor backend server which actually performs edits on buffers using the T edit language. The editor server supports multiple buffers and multiple, concurrent editors per-buffer. This allows programs to easily edit files using a simple HTTP interface.

One such program is the T user interface itself. The user interface connects to edit servers to provide an Acme-like interface for editing. All edits made by the user interface use the editor API. This ensures that the editor API is sufficient to support a full-featured graphical editor, and it also allows the interface to sit on a remote machine.

The user interface is also the second HTTP server. It serves an API for manipulating the interface, creating new windows, columns, sheets, etc.

Together, these two servers will make it possible to customize and extend T to your liking — assuming that you are happy writing a little bit of code.

Directories

Path Synopsis
Package edit provides a language and functions for editing text.
Package edit provides a language and functions for editing text.
edittest
Package edittest contains utility functions for testing edits.
Package edittest contains utility functions for testing edits.
runes
Package runes provides unbounded, file-backed rune buffers and io-package-style interfaces for reading and writing rune slices.
Package runes provides unbounded, file-backed rune buffers and io-package-style interfaces for reading and writing rune slices.
Package editor provides a server that serves an HTTP editor API, and functions convenient client access to the server.
Package editor provides a server that serves an HTTP editor API, and functions convenient client access to the server.
editortest
Package editortest provides an editor server for use in tests.
Package editortest provides an editor server for use in tests.
view
Package view provides a View type, which is an editor client that maintains a local, consistent copy of a segment of its buffer, and a set of marks.
Package view provides a View type, which is an editor client that maintains a local, consistent copy of a segment of its buffer, and a set of marks.
Ted is a text editor similar to sam in it's non-downloaded mode.
Ted is a text editor similar to sam in it's non-downloaded mode.
ui
Package ui contains the T user interface.
Package ui contains the T user interface.
text
Package text handles rich-formatted text layout and drawing.
Package text handles rich-formatted text layout and drawing.
Package websocket provides a wrapper for github.com/gorilla/websocket.
Package websocket provides a wrapper for github.com/gorilla/websocket.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL