• Stars
    star
    405
  • Rank 106,656 (Top 3 %)
  • Language
    Python
  • License
    Other
  • Created almost 11 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Github issue lookup in Vim

github-issues.vim

Github issue integration in Vim. It's kind of awesome.

Looking for a new owner

If you're interested in taking over this project and giving it the love it deserves, send me an email or file a bug.

Omnicomplete

If you use Fugitive or edit gitcommit files in Vim, github-issues will automatically populate the omnicomplete menu with issues on Github. This is useful when you want to reference commits, close issues, etc., through Github's commit message parsing.

Here's how it works with Neocomplete:

If you use pure omnicomplete, use C-x C-o to pull up the menu.

No need to run commands, no need to configure. It just works. ;) (And if it doesn't, it should, so submit an issue) Not bad, huh?

Lookup menu

To show Github issues for the current repository:

:Gissues

Press enter to view more details.

Handling issues

You can open and close issues using co and cc in the issue view.

They're also totally editable buffers, and saving the file will sync with Github's servers. You can use this to write comments, too:

You can also open the current issue in your browser using cb.

Creating issues

You can even use :Giadd to create a blank issue. Saving the buffer will generate a new issue and update the buffer with an issue number and the ability to add comments.

How awesome is that!?

Milestones

New feature: Use :Gmiles to open a menu of milestones. Press return on one to select it and filter :Gissues by that milestone from then on.

Custom Issue Search

You have the ability to define your own issue search using Githubs search API. This allows you to view issues and pull requests across repos.

To use this feature, you can add a line like the following, with the search parameters that you wish to use.

let g:gh_issues_query = "state:open user:github label:\"feature\" sort:created-asc"

You can than get this list of issues using the command :Gisearch

Fugitive integration

Github will show any commits that reference the issue. That's what the omnicomplete helps with. But to make things even more awesome, github-issues.vim integrates with Fugitive.vim to make commit hashes clickable with the return key.

Requirements and Installation

Vim with Python 2.7, Python 2.7 installed and working with Vim.

I recommend using Pathogen and Git cloning into ~/.vim/bundle. You can also just download the plugin and paste it into your plugin directory.

Then read below about adding an access token.

Configuration

The omnicomplete and lookup features will work out of the box for public repos.

If you have private repos, or would like the ability to comment, open, close, and add issues, you will need to set an access token. Don't worry, this is super easy.

g:github_access_token

Grab an access token from here, then set this variable, preferably in a local vim file not included in any public repositories:

let g:github_access_token = "9jb19c1189f083d7013i24367lol"

Remember, you should treat your access token like a password!

Other options include:

g:github_issues_no_omni

When this is set to any value, github-issues will not set Neocomplete and Omnicomplete hooks.

g:github_upstream_issues

When this is set to 1, github-issues will use upstream issues (if repo is fork). This will require extra requests for the Github API, however.

g:github_api_url = "https://api.github.com/"

If you use Github Enterprise, where the Github server is hosted somewhere other than Github.com, set this parameter to your API path. This is specifically for Github Enterprise and will not work for Bitbucket, Gitlab, etc.

g:github_same_window = 1

When this is set to 1, github-issues will use the current window instead of splitting the screen via the :new command.

g:gissues_lazy_load = 0

When this is set to 1, omnicomplete will not be populated until it is triggered. This eliminates potential lag when opening gitcommit files.

g:gissues_async_omni = 0

Experimental: When set to 1, omnicomplete will be populated asynchronously, on another thread. This removes almost all lag from the UI when using Gissues, and can be combined with g:gissues_lazy_load to reduce network traffic while still receiving the same speed boost. However, this uses threads and needs a lot more testing to ensure it is stable.

Contributing

Pull requests, feature requests, and issues are always welcome!

Shameless plug

I hack around with Vim plugins, so follow me if you're into that kind of stuff (or just want to make my day) ;)

More Repositories

1

browserlink.vim

Live browser editing for Vim
JavaScript
711
star
2

semantic-highlight.vim

Semantic Highlighting for Vim
Vim Script
486
star
3

syntastic-react

React.js JSX support for Syntastic
JavaScript
93
star
4

vimfiles

vim, tmux, zsh
Vim Script
61
star
5

selective-undo.vim

Selective undo for Vim
Vim Script
53
star
6

hangouts-bot

Node.js hangouts code
JavaScript
44
star
7

chrome-devtools.vim

Vim Script
24
star
8

ADB-File-Browser-OSX

AFT replacement for OSX
JavaScript
21
star
9

glass-prism

Google Glass Node.js framework
JavaScript
13
star
10

wph-seveneighter

C#
12
star
11

irssi-pushbullet-notifications

Quick Irssi script that redirects mentions and PMs to Pushbullet
Perl
11
star
12

wear-LeafStatus

Quick Leaf Notifications app for Nissan Leaf cars
Java
10
star
13

glass-qrlens

QR Code scanner for Glass
Java
9
star
14

quickglass

Quickly build voice triggers for Google Glass
Java
8
star
15

glass-barcode

Easy QR and barcode source for Google Glass
Java
5
star
16

gtop

Server monitoring and administration for Google Glass
JavaScript
5
star
17

udacity-car-projects

Projects from Udacity's Self-Driving Car Nanodegree
C++
5
star
18

glass-trello

Experimental Trello integration with Google Glass
JavaScript
5
star
19

colorpicker-windows-commandline

A quick color picker that can be called from the Windows command line. Returns the chosen color.
C#
5
star
20

medli

Source for my previous PHP-based blog
PHP
4
star
21

glass-mint

Mint.com integration for Glass
JavaScript
4
star
22

hubot-rain-alert

Live rain alerts for Hubot
CoffeeScript
4
star
23

orangemelt

A simple HTML5 collaboration game I made. Live: http://jaxbot.me/orangemelt
JavaScript
3
star
24

forthelazy

A series of "___ for the lazy" coding reference sheets
3
star
25

glass-lowbrightness

An experiment that puts Glass in low brightness mode to save power
Java
3
star
26

vim-getting-started

Getting Started Tutorial for the Vim Text Editor
CSS
3
star
27

reacterest

React.js and Flux example
JavaScript
3
star
28

wear-WearTap

Java
3
star
29

glass-vegeta

Ok Glass, what is his power level?
Groovy
3
star
30

u2f-node-example

JavaScript
3
star
31

epoch-to-human.vim

Quick conversion from Unix time to human time string. WIP.
Vim Script
2
star
32

moderate

JavaScript
2
star
33

cs-algorithms-multilang

Various practice algorithms in various languages, just cus.
C
2
star
34

glass-LeafControl

Java
2
star
35

vim-talk

JavaScript
2
star
36

PyconAutoWifi

Java
2
star
37

glasscoin

Proof of concept Bitcoin ticker for Glass using Mirror API
JavaScript
2
star
38

hubot-orlandodevs

CoffeeScript
2
star
39

uptime

Little uptime tracker for my RPi
JavaScript
2
star
40

glass-ucfwebcams

UCF Webcams on Glass
Java
2
star
41

dobble

A PHP social network site I made between Summer 2011 and 2012
PHP
2
star
42

wheresmysurface

Simple GPS/WiFi location tracking for Windows 8 devices. I use it for anti-theft of my Surface Pro 2
C#
2
star
43

android-contextual-examples

For a presentation
Java
1
star
44

reacterest-css-in-js

JavaScript
1
star
45

glass-presentation

Java
1
star
46

fizzfeed

Example blog in Koa using Harmony ES6 Node.js/Io.js
CSS
1
star
47

cat-classifier

Automatically determine which cat is eating all the food with Tensorflow
Python
1
star
48

SlackPack

Swift
1
star
49

macfiles

Shell
1
star
50

wiimote-presentation-remote

A userscript that allows using a Wii remote for presentations. Very hacky.
JavaScript
1
star
51

serverfiles

Random configurations I keep on my server
Nginx
1
star
52

tesla-cpo-history

JavaScript
1
star
53

hub.vim

Vim Script
1
star
54

minimal-vimrc

A minimal vimrc I wrote as part of a tutorial
Vim Script
1
star
55

my-lolcommits

Simple site for my lolcommits
PHP
1
star
56

wear-Vespr

When Vespr WiFi is detected, show a notification with your Vespr QR code on it.
Java
1
star
57

club

Club site
CSS
1
star
58

reactyl

JavaScript
1
star
59

knighthacks-git-tutorial

This is a fake repo that will be deleted.
1
star
60

spacebarteam

JavaScript
1
star
61

octoglass

JavaScript
1
star
62

viscendroid

Java
1
star
63

viscen

WIP home automation and monitoring stuff, specific to my setup mostly
PHP
1
star
64

test

A repository for testing various Github things
JavaScript
1
star