Open the current file (or lines) in remote git repository.
Find a file
2023-03-23 10:04:55 -04:00
.github/workflows made use of GitHub-styled usage 2023-02-03 14:31:56 -06:00
doc changed the behavior to make the plugin follow the current repository of the current buffer 2022-09-28 12:18:45 -04:00
gifs chore: add gif demo to README.md 2022-09-27 03:29:50 +03:00
lua/openingh Fixed style issue in init.lua 2023-03-21 12:55:18 -04:00
plugin Switched to dot notation to be consistent 2023-03-22 13:41:15 -04:00
tests Added test for keymapping 2023-03-23 10:04:55 -04:00
.luacheckrc chore: add actions to format and lint the code 2022-09-26 23:28:51 +03:00
.pre-commit-config.yaml chore: add pre-commit config 2022-09-26 23:46:12 +03:00
LICENSE chore: add LICENSE file 2022-09-27 01:43:30 +03:00
Makefile chore: add testing for user commands 2022-10-30 02:03:40 +03:00
README.md Updated reamde with cleaner keymappings 2023-03-23 09:30:33 -04:00
stylua.toml chore: initial commit 2022-09-25 23:30:27 +03:00

openingh.nvim

Opens the current file or project page in GitHub.

Lua GitHub release (latest by date) lint with luacheck GitHub Workflow Status

  • 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

Requirements

  • Neovim 0.7.2+

Installation

Example with Packer

wbthomason/packer.nvim

-- 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. This command supports ranges.

Usage

You can call the commands directly or define mappings them:

-- for repository page
vim.api.nvim_set_keymap("n", "<Leader>gr", ":OpenInGHRepo <CR>", { silent = true, noremap = true })

-- for current file page
vim.api.nvim_set_keymap("n", "<Leader>gf", ":OpenInGHFile <CR>", { silent = true, noremap = true })
vim.api.nvim_set_keymap("v", "<Leader>gf", ":OpenInGHFile <CR>", { silent = true, noremap = true })

TODO

  • Support the current file cursor position
  • Support visual mode to open a file in range selection
  • 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