Skip to content

myitcv/neogo

Repository files navigation

github.com/myitcv/neogo - a Neovim plugin for Go development

Build Status

YouTube demo of plugin in action

A proof of concept Neovim plugin written against the neovim Go package to support Go development in Neovim. In particular neogo highlights the Go code being edited based on a go/parser AST generated from the current buffer as opposed to Neovim's regex-based highlighting.

Very very alpha.

Running the plugin

mkdir -p $HOME/.nvim/plugins/go
go get github.com/juju/errgo
go get gopkg.in/check.v1
go get github.com/myitcv/neovim
go get github.com/myitcv/neogo
go get github.com/myitcv/neovim/cmd/neovim-go-plugin-manager
$GOPATH/bin/neovim-go-plugin-manager github.com/myitcv/neogo

This should give some output along the following lines:

2015/08/25 21:39:56 Working directory is /tmp/neovim-go-plugin-manager_1440535196810988589
2015/08/25 21:39:56 Just about to go get -d -t github.com/myitcv/neogo
2015/08/25 21:39:56 Now running go test github.com/myitcv/neogo
2015/08/25 21:39:57 Generating plugin host
2015/08/25 21:39:57 Building plugin host
2015/08/25 21:39:58 Putting plugin host source into place: /home/myitcv/.nvim/plugins/go/plugin_host.go
2015/08/25 21:39:58 Putting plugin host into place: /home/myitcv/.nvim/plugins/go/plugin_host
2015/08/25 21:39:58 Done!

Now:

nvim -u $GOPATH/src/github.com/myitcv/neogo/special.vimrc test.go

Now write some go code and watch it highlight as you type!

e.g. try entering:

package main

import "fmt"

func main() {
  fmt.Println("Hello, playground")
}

Features implemented

  • syntax highlighting via go/parser (partial)

Features TODO list

See the wiki

About

Proof of concept Go-based Neovim plugin for Go development

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages