Skip to content

See global cross-references and live usage examples for Go code, as you type. For Vim.

License

Notifications You must be signed in to change notification settings

ElijahLynn/sourcegraph-vim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sourcegraph for Vim CircleCI

Sourcegraph for Sublime is in beta mode. Feedback or issue? Please email us at [email protected] or file an issue.

Overview

Sourcegraph for Vim allows you to view Go definitions on sourcegraph.com as you code, so you can stay focused on what's important: your code. When your cursor is on a Go symbol and you run :GRAPH (or a remapped hotkey), it should load in a channel in your browser:

Setup

To install Sourcegraph for Vim, follow the instructions for your Vim package manager.

git clone https://github.com/sourcegraph/sourcegraph-vim.git ~/.vim/bundle/sourcegraph-vim
echo "Plugin 'sourcegraph/sourcegraph-vim'" >> ~/.vimrc
vim +PluginInstall +qall
echo "NeoBundle 'sourcegraph/sourcegraph-vim'" >> ~/.vimrc
vim +NeoBundleInstall +qall
echo "Plug 'sourcegraph/sourcegraph-vim'" >> ~/.vimrc
vim +PlugInstall

.vimrc

Sourcegraph automatically opens a live channel and shows references for your Go code as you type by default. If you want to disable this feature, set the g:SOURCEGRAPH_AUTO flag to "false" in your .vimrc file.

let g:SOURCEGRAPH_AUTO = "false"

Sourcegraph for Vim

Privacy

Sourcegraph for your editor determines the type information for symbols locally on your development machine, using a linter called godefinfo. Check out the communication struct to see what the Sourcegraph editor plugin sends to the Sourcegraph API. If you’d like Sourcegraph for your editor to display usage examples for your private code, create an account and choose to link your private GitHub repositories at Sourcegraph.com.

Usage

Sourcegraph for Vim opens a channel in your browser to initialize your Sourcegraph session when in Go files. As you navigate through Go files, enter the Vim command :GRAPH when your cursor is on a symbol to load its definition and references across thousands of public Go repositories.

Map a Vim hotkey

To map Sourcegraph for Vim to a hotkey, add a remap command to your ~/.vimrc file. For instance, to map F2 to :GRAPH, add the following to ~/.vimrc.

nnoremap <F2> :GRAPH<CR>

Flags

Sourcegraph for Vim has a number of flags to customize your experience. To change your Sourcegraph settings, open add the following settings to your ~/.vimrc file.

GOBIN and GOPATH

To learn more about setting your GOPATH, please click here.

Sourcegraph for Vim searches your shell to find GOBIN, the full path of your Go executable. This is typically $GOROOT/bin/go. Similarly, Sourcegraph loads your /bin/bash startup scripts to search for the GOPATH environment variable. If Sourcegraph cannot find your environment variables, or if you would like to use a custom GOPATH or GOBIN, add them in the ~/.vimrc file as follows:

g:SOURCEGRAPH_GOPATH = "/path/to/gopath"
g:SOURCEGRAPH_GOBIN = "/path/to/gobin"

Verbose logging

This setting gives verbose output from Sourcegraph for Vim to the Vim console, which can be helpful when troubleshooting Sourcegraph for Vim. Different levels of logging are available:

No logging: 0

Only log symbols identified by godefinfo: 1

Log network calls: 2

Log all debugging information: 3

g:SOURCEGRAPH_LOG_LEVEL = 1

Godefinfo

Sourcegraph for Vim should automatically install godefinfo when it loads your settings. If you still receive an error message about godefinfo installation, you can install it manually by running the following command:

go get -u github.com/sqs/godefinfo

Local server

If you want to try Sourcegraph for Vim on a local Sourcegraph server, you can define its base URL in this file using the key SOURCEGRAPH_BASE_URL in the ~/.vimrc file.

g:SOURCEGRAPH_BASE_URL = "https://sourcegraph.com"
g:SOURCEGRAPH_SEND_URL = "https://grpc.sourcegraph.com"

Support

Sourcegraph for Vim has been tested on Vim 7.3, and requires Python 2.X or Python 3.X to be compiled with your Vim installation. To determine if your Vim is compiled with Python, try running :python import sys; print(sys.version) from within Vim, and verify that it does not throw an error.

About

See global cross-references and live usage examples for Go code, as you type. For Vim.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published