phi: gpu accelerated code-editor; definitely not to be confused phonetically with vi.
Go to file
2018-04-14 02:19:33 +01:00
cfg more go keywords; set default conf for win/linux/mac 2018-04-14 02:15:14 +01:00
gui simple/buggy comment highlighting 2018-04-14 01:57:01 +01: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 always render; swap line down/up; bug fixes; 2018-04-13 20:04:10 +01:00
phi-editor removed gfx package due to strife updates 2018-04-14 02:19:33 +01:00
README.md disclaimers! 2018-04-14 02:17:13 +01:00
screenshot.png updated screenshot; made for/if/switch/select/chan keywords in go 2018-04-14 02:13:05 +01: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 work in progress and is very buggy! The editor is written as if it's a game, so it will probably eat up your battery, as well as run possibly quite slow - especially if you dont have a dedicated GPU - and probably crash frequently.

Do not edit your precious files with this editor!


Here's a screenshot of the editor:

goals

The editor must:

  • run fast;
  • 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. Note that this directory is created on first startup by the editor, as well as the configuration file below is pre-loaded:

[editor]
tab_size = 4
hungry_backspace = true
tabs_are_spaces = true
match_braces = false
maintain_indentation = true
highlight_line = true

[render]
aliased = true
accelerated = true
throttle_cpu_usage = true

[theme]
background = 0x002649
foreground = 0xf2f4f6
cursor = 0xf2f4f6
cursor_invert = 0x000000

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

[commands]
[commands.save]
shortcut = "super+s"

[commands.delete_line]
shortcut = "super+d"

license

MIT License