Updated readme

This commit is contained in:
Harrison Cramer
2023-05-20 09:54:13 -07:00
parent bf5da3e3e4
commit b105e83f98

View File

@@ -65,13 +65,7 @@ use {
} }
``` ```
## Multiple Gitlab Repositories ## Configuring per Gitlab Repository
By default, the tool will look for and interact with MRs against a "main" branch. You can configure this by passing in the `base_branch` option:
```lua
require('gitlab').setup({ base_branch = 'master' })
```
By default, the plugin will not connect to a gitlab repository. You must add a `.gitlab.nvim` file to the root of your directory. The plugin will read that file and use it as the project ID. The file should only contain the ID of the project: By default, the plugin will not connect to a gitlab repository. You must add a `.gitlab.nvim` file to the root of your directory. The plugin will read that file and use it as the project ID. The file should only contain the ID of the project:
@@ -79,12 +73,46 @@ By default, the plugin will not connect to a gitlab repository. You must add a `
112415 112415
``` ```
The tool will look for and interact with MRs against a "main" branch. You can configure this by passing in the `base_branch` option:
```lua
require('gitlab').setup({ base_branch = 'master' })
```
If you are using `main` as your branch and you add a `.gitlab.nvim` configuration file, you can call an empty setup function and the plugin will work: If you are using `main` as your branch and you add a `.gitlab.nvim` configuration file, you can call an empty setup function and the plugin will work:
```lua ```lua
require('gitlab').setup() require('gitlab').setup()
``` ```
Here is the default setup function:
```lua
require("gitlab").setup({
base_branch = "main",
port = 20136, -- The port of the Go server, which runs in the background
keymaps = {
popup = { -- The popup for comment creation, editing, and replying
exit = "<Esc>",
perform_action = "<leader>s", -- Once in normal mode, does action
},
discussion_tree = { -- The discussion tree that holds all comments
jump_to_location = "o",
edit_comment = "e",
delete_comment = "dd",
reply_to_comment = "r",
toggle_node = "t",
},
dialogue = { -- The confirmation dialogue for deleting comments
focus_next = { "j", "<Down>", "<Tab>" },
focus_prev = { "k", "<Up>", "<S-Tab>" },
close = { "<Esc>", "<C-c>" },
submit = { "<CR>", "<Space>" },
}
}
})
```
## Usage ## Usage
First, check out the branch that you want to review locally. Then open Neovim and the reviewer will be initialized. The `project_id` you specify in your configuration file must match the project_id of the Gitlab project your terminal is inside of. The `summary` command will pull down the MR description into a buffer so that you can read it: First, check out the branch that you want to review locally. Then open Neovim and the reviewer will be initialized. The `project_id` you specify in your configuration file must match the project_id of the Gitlab project your terminal is inside of. The `summary` command will pull down the MR description into a buffer so that you can read it:
@@ -129,46 +157,6 @@ require("gitlab").reply()
## Keybindings ## Keybindings
This plugin does not create any keybindings outside of the plugin-specific buffers by default. These are the default keybindings in those plugin buffers:
```lua
{
popup = { -- The popup for comment creation, editing, and replying
exit = "<Esc>",
perform_action = "<leader>s", -- Once in normal mode, does action
},
discussion_tree = { -- The discussion tree that holds all comments
jump_to_location = "o",
edit_comment = "e",
delete_comment = "dd",
reply_to_comment = "r",
toggle_node = "t",
},
dialogue = { -- The confirmation dialogue for deleting comments
focus_next = { "j", "<Down>", "<Tab>" },
focus_prev = { "k", "<Up>", "<S-Tab>" },
close = { "<Esc>", "<C-c>" },
submit = { "<CR>", "<Space>" },
}
}
```
To override the defaults, pass a keymaps table into the setup function with any keybindings you'd like to change:
```lua
local gitlab = require("gitlab")
gitlab.setup({
keymaps = {
popup = {
exit = "q"
},
discussion_tree = {
reply_to_comment = "<leader>r"
}
}
})
```
The plugin does not set up any keybindings outside of these buffers, you need to set them up yourself. Here's what I'm using: The plugin does not set up any keybindings outside of these buffers, you need to set them up yourself. Here's what I'm using:
```lua ```lua