Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nvim-telescope/telescope-github.nvim

Integration with github cli
https://github.com/nvim-telescope/telescope-github.nvim

lua neovim nvim telescope

Last synced: 3 days ago
JSON representation

Integration with github cli

Awesome Lists containing this project

README

        

# Telescope-github.nvim
Integration with [github cli](https://cli.github.com/)

### Installation
you need to install github cli (version 2.2.0 or greater) first
[Install Github cli](https://github.com/cli/cli#installation)

#### Packer
```lua
use {
"nvim-telescope/telescope.nvim",
requires = {
{ "nvim-lua/plenary.nvim" },
{ "nvim-telescope/telescope-github.nvim" },
},
}

```

#### vim-plug
```viml
Plug 'nvim-lua/plenary.nvim'
Plug 'nvim-telescope/telescope.nvim'
Plug 'nvim-telescope/telescope-github.nvim'

```
## Setup

``` lua
require('telescope').load_extension('gh')

```

## Available commands
```viml
Telescope gh issues
Telescope gh pull_request
Telescope gh gist
Telescope gh run

"Using lua function
lua require('telescope').extensions.gh.issues()
lua require('telescope').extensions.gh.pull_request()
lua require('telescope').extensions.gh.gist()
lua require('telescope').extensions.gh.run()

```

## Options

You can add more filter to issue in commands

```viml
" filter with author and label
Telescope gh issues author=windwp label=bug
```

### Pull Request
#### Options Filter
[Detail](https://cli.github.com/manual/gh_pr_list)

| Query | filter |
|-----------|------------------------------------|
| author | Filter by author |
| assignee | Filter by assignee |
| label | Filter by label |
| search | Filter by query |
| state | Filter by state: {open,closed,all} |
| base | Filter by base branch |
| limit | limit default = 100 |

#### Key mappings

| key | Usage |
|---------|-------------------------------|
| `` | checkout pull request |
| `` | open web |
| `` | toggle to view detail or diff |
| `` | merge request |
| `` | approve pull request |
| `` | browse modified files |

### Issue

#### Options Filter
[Detail](https://cli.github.com/manual/gh_issue_list)

| Query | filter |
|-----------|------------------------------------|
| author | Filter by author |
| assignee | Filter by assignee |
| mention | Filter by mention |
| label | Filter by label |
| milestone | Filter by milestone |
| search | Filter by query |
| state | Filter by state: {open,closed,all} |
| limit | limit default = 100 |

#### Key mappings

| key | Usage |
|---------|----------|
| `` | insert a reference to the issue |
| `` | open web |
| `` | insert a markdown-link to the issue |

### Gist
#### Options Filter

[Detail](https://cli.github.com/manual/gh_gist_list)
| Query | filter |
|-----------|------------------------------------|
| public | Filter by public |
| secret | Filter by secret |
| limit | limit default = 100 |

### Key mappings
| key | Usage |
|---------|--------------------------|
| `` | append gist to buffer |
| `` | open web |
| `` | edit gist in TMUX window |
| `` | delete selected gist |
| `` | create new empty gist |

### Secret

**Note: only repository secrets are supported for now**

[Detail](https://cli.github.com/manual/gh_secret_list)

### Key mappings
| key | Usage |
|---------|---------------------------------|
| `` | append secret name to buffer |
| `` | set new secret value |
| `` | set new secret (name and value) |
| `` | delete selected secret |

### Workflow runs
#### Options Filter
[Detail](https://cli.github.com/manual/gh_run_list)

| Query | filter |
|---------------|-------------------------------------------------------|
| workflow | Filter runs by workflow |
| limit | limit default = 100 |
| wincmd | Command to open log window, default = 'botright vnew' |
| wrap | Wrap lines in log window, default = 'nowrap' |
| filetype | Filetype to use on log window, default='bash' |
| cleanmeta | Try to clean run log lines, default = 'true' |
| timeout | Timeout for sync mode, default = '10000' |
| wait_interval | Wait interval for sync mode, default = '5' |
| mode | Mode to populate log window, default = 'async' |

#### Key mappings

| key | Usage |
|---------|----------------------------------------------|
| `` | open workflow summary/run logs in new window |
| `` | open web |
| `` | request run rerun |
| `` | request run cancel |