phi: gpu accelerated code-editor; definitely not to be confused phonetically with vi.
Go to file
2018-02-27 23:56:14 +00:00
cfg use my fork of toml, editor loads hex colours from theme 2018-02-18 23:51:04 +00:00
gfx Removed TOML aliases -- it's case insensitive. Added simple theme config 2016-11-27 16:58:12 +00:00
gui shift alternative handled; super+backspace handled 2018-02-27 23:56:14 +00:00
res editor -> gui, simple text rendering with rope ds 2016-11-13 22:31:21 +00:00
.gitignore fmt codebase 2016-11-14 07:24:19 +00:00
LICENSE license 2016-11-14 00:17:42 +00:00
main.go cleanups 2018-02-27 23:21:27 +00:00
phi-editor new binary 2018-02-27 22:26:24 +00:00
README.md nate -> phi 2017-12-13 23:45:51 +00:00
screenshot.png screenshot example 2017-11-04 14:24:44 +00:00

phi-editor

Phi is a minimal text editor designed to look pretty, run fast, and be easy to configure and use. It's primary function is for editing code. Note that this is a re-write of the initial editor that I wrote last year. It's still a work in progress and is very buggy! In addition to this, the editor is written as if it's a game, so it will probably eat up your battery, run quite slow on a laptop, and probably crash quite frequently.

Here's a screenshot of the editor right now with the default (temporary!) colour schemes editing the config file for the editor itself.

goals

The editor must:

  • run at 60 fps;
  • load and edit large files with ease;
  • look pretty; and finally
  • be easy to use

building

You'll need Go with the GOPATH, GOBIN, etc. setup, as well as SDL2, SDL2_image, and SDL2_ttf. Here's an example for Ubuntu:

$ sudo apt-get install libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev
$ go get github.com/felixangell/phi-editor
$ cd $GOPATH/src/github.com/felixangell/phi-editor
$ go build
$ ./phi-editor

If you're on macOS, you can get these dependencies via. homebrew. If you're on windows; you have my condolences.

configuration

Configuration files are stored in $HOME/.phi-editor-editor/config.toml, here's an example, which just so happens to be the defualt configuration:

[editor]
tab_size = 2
hungry_backspace = true
tabs_are_spaces = true
match_braces = false

[render]
aliased = true

[theme]
background = "0xfdf6e3"
foreground = "0x7a7a7a"
cursor = "0x657B83"
cursor_invert = "0xffffff"

[cursor]
flash_rate = 400
reset_delay = 400
draw = true
flash = true

license

MIT License