openingh.nvim/README.md
2022-10-10 01:15:43 +03:00

67 lines
1.7 KiB
Markdown

# openingh.nvim
Opens the current file or project page in GitHub.
![Lua](https://img.shields.io/badge/Made%20with%20Lua-blueviolet.svg?style=for-the-badge&logo=lua) [![lint with luacheck](https://img.shields.io/github/workflow/status/almo7aya/openingh.nvim/lint%20with%20luacheck?style=for-the-badge)](https://github.com/Almo7aya/openingh.nvim/actions/workflows/lint.yml)
- Features
- Supports macOS, Linux, Windows and WSL
- Works with detached HEAD and supports checked out branches or forks
- Automatically selects the correct line number on the file page
- Supports GitHub, GitHub Enterprise, GitLab, and Bitbucket
- Demo
![](./gifs/demo.gif)
## Requirements
- Neovim 0.7.2+
## Installation
#### Example with Packer
[wbthomason/packer.nvim](https://github.com/wbthomason/packer.nvim)
```lua
-- init.lua
require("packer").startup(function()
use "almo7aya/openingh.nvim"
end)
```
## Commands
- `:OpenInGHRepo`
- Opens the project's git repository page in GitHub.
- `:OpenInGHFile`
- Opens the current file page in GitHub.
## Usage
You can call the commands directly or define mappings them:
```lua
-- for repository page
vim.api.nvim_set_keymap("n", "<Leader>gr", ":OpenInGHRepo <CR>", { expr = true, noremap = true })
-- for current file page
vim.api.nvim_set_keymap("n", "<Leader>gf", ":OpenInGHFile <CR>", { expr = true, noremap = true })
```
## TODO
- [x] Support the current file cursor position
- [ ] Support visual mode to open a file in range selection
- [x] Support other version control websites
## Contribution
Feel free to open an issue or a pull request if you have any suggestions or improvements
## License
[MIT](./LICENSE)