Commit Graph

103 Commits

Author SHA1 Message Date
Harrison (Harry) Cramer
9fc47bd3bc feat!: Implements default keybindings for all actions.
This is a breaking change to the way the plugin is configured. If users are using the old configuration the plugin will warn them which fields have been removed in their configuration. Old keybindings can be found here: https://github.com/harrisoncramer/gitlab.nvim/pull/340#issuecomment-2282756924 (#331)

feat: Customize discussion tree chevrons (#339)
2024-08-11 22:29:08 -04:00
Harrison (Harry) Cramer
95dcc41885 Release (#330)
Fix diagnostic position when sha changes (#299)
Fix: Remove API calls on Discussion Close (#328)
Chore: Remove root node type (#329)

This is a PATCH release.
2024-07-06 13:09:56 -04:00
Harrison (Harry) Cramer
3c9d95d25b Release (#313)
* Fix docs: choose_merge_request's open_reviewer default value is true (#316)
* Fix: Only set autocommands for select popups (#315)
* Docs: Small improvements to README and docs
* Feat: Add branch info to choose_merge_request menu (#318)

This is a PATCH release.
2024-06-26 07:30:05 -07:00
Harrison (Harry) Cramer
53d5647380 Feat: Allow Creation of MRs for Forked Target (#303)
feat: Adds MR creation for project forks
2024-06-10 15:04:31 -04:00
Harrison (Harry) Cramer
0d0ed1639a Tree Refresh; Draft Note Replies (#289)
* fix: always refresh discussion tree data after choosing a new branch 
* fix: rebuild discussion tree without collapsing nodes after all edit/delete/create actions
* feat: add command to refresh discussion tree
* feat: Add support for draft note replies, e.g. replies to existing notes and comments in draft form
* fix: allow backticks in comment suggestions

This is a #MINOR release
2024-04-25 19:15:08 -04:00
Harrison (Harry) Cramer
cf6ccddce3 Release 2.5.1 (#271)
* feat: Support for custom authentication provider functions (#270)
* feat: Support for adding "draft" notes to the review, and publishing them, either individually or all at once. Addresses feature request #223.
* feat: Lets users select + checkout a merge request directly within Neovim, without exiting to the terminal
* fix: Checks that the remote feature branch exists and is up-to-date before creating a MR, starting a review, or opening the MR summary (#278)
* docs: We require some state from Diffview, this shows how to load that state prior to installing w/ Packer. Fixes #94.

This is a #MINOR release.

---------

Co-authored-by: Jakub F. Bortlík <jakub.bortlik@proton.me>
Co-authored-by: sunfuze <sunfuze.1989@gmail.com>
Co-authored-by: Patrick Pichler <mail@patrickpichler.dev>
2024-04-22 16:56:27 -04:00
Harrison (Harry) Cramer
f906af0c3a Release (#256)
* fix: Jumping to wrong buffer (#261)
* fix: Go to last line and show warning when diagnostic is past the end of buffer (#262)
* fix: Get recent pipeline through other means (#266)
* feat: Add keymaps and linewise actions to layouts (#265)

This is a #MINOR release, because we are introducing new keybindings for the comment/note popups.

---------

Co-authored-by: Jakub F. Bortlík <jakub.bortlik@proton.me>
Co-authored-by: sunfuze <sunfuze.1989@gmail.com>
2024-04-15 09:56:21 -04:00
Harrison (Harry) Cramer
49f2451e59 Release (#254)
- fix: an autocommand issue when creating an MR
- feat: adds a keybinding for copying the URL of the current discussion to the system clipboard

This is a #MINOR release
2024-04-10 09:36:19 -04:00
Harrison (Harry) Cramer
7c3ee0530b Temporary registers, SSH Port, Bug Fixes (#251)
- allows SSH Gitlab connection to have custom port
- introduces temporary registers
- fixes issue w/ quitting the popup on MR creation

This is a #MINOR release
2024-04-09 12:24:07 -04:00
Harrison (Harry) Cramer
36f512cd6d 2.1.0 (#241)
• removes the <esc> keybinding for popups which was causing folks to lose their changes
• deprecates the backup register.
• updates go-gitlab to latest in order to get "drafts" functionality
• fixes issues with labels not deleting correctly
• creates a new data() function to get data from the plugin directly, see :h gitlab.nvim.data
• fixes issues with line values not being computed directly, blocking jumps to/from discussion tree

This is a #MINOR release.
2024-04-07 21:45:19 -04:00
Harrison (Harry) Cramer
4f1fe4ae25 Allow insecure connections to Gitlab (#234)
This MR makes it possible to ignore bad x509 certificates when connecting to Gitlab, by creating a custom HTTP connection. The option is exposed via the setup function. This is a PATCH release.
2024-04-02 21:53:25 -04:00
Harrison (Harry) Cramer
b5b475ce8b 2.0.0 (#196)
This MR is a #MAJOR breaking change to the plugin. While the plugin will continue to work for users with their existing settings, they will be informed of outdated configuration (diagnostics and signs have been simplified) the next time they open the reviewer.

Fix: Trim trailing slash from custom URLs
Update: .github/CONTRIBUTING.md, .github/ISSUE_TEMPLATE/bug_report.md
Feat: Improve discussion tree toggling (#192)
Fix: Toggle modified notes (#188)
Fix: Toggle discussion nodes correctly
Feat: Show Help keymap in discussion tree winbar
Fix: Enable toggling nodes from the note body
Fix: Enable toggling resolved status from child nodes
Fix: Only try to show emoji popup on note nodes
Feat: Add keymap for toggling tree type
Fix: Disable tree type toggling in Notes
Fix Multi Line Issues (Large Refactor) (#197)
Fix: Multi-line discussions. The calculation of a range for a multiline comment has been consolidated and moved into the location.lua file. This does not attempt to fix diagnostics.
Refactor: It refactors the discussions code to split hunk parsing and management into a separate module
Fix: Don't allow comments on modified buffers #194 by preventing comments on the reviewer when using --imply-local and when the working tree is dirty entirely.
Refactor: It introduces a new List class for data aggregation, filtering, etc.
Fix: It removes redundant API calls and refreshes from the discussion pane
Fix: Location provider (#198)
Fix: add nil check for Diffview performance issue (#199)
Fix: Switch Tabs During Comment Creation (#200)
Fix: Check if file is modified (#201)
Fix: Off-By-One Issue in Old SHA (#202)
Fix: Rebuild Diagnostics + Signs (#203)
Fix: Off-By-One Issue in New SHA (#205)
Fix: Reviewer Jumps to wrong location (#206)

BREAKING CHANGE: Changes configuration of diagnostics and signs in the setup call.
2024-03-03 11:52:37 -05:00
Harrison (Harry) Cramer
baee20b279 Add/Show/Delete Emojis on Notes (#181)
This MR adds the ability to view, add, and delete emojis from notes and comments.

This action can be performed by default with the `Ea` (emoji add) keybinding, and the `Ed` (emoji delete) keybinding. Only emojis added by the current user are eligible for deletion. The MR also implements a popup functionality which shows the user who added emojis on hover.

Implements #179
2024-02-18 21:16:53 -05:00
Jakub F. Bortlík
3f1c5effe5 Feat collapse and expand nodes (#176)
This MR adds the ability to expand and collapse nodes in the discussion tree in bulk. You can now toggle expansion of all nodes, toggle expansion of only resolved discussions, and toggle expansion of only unresolved discussions.

The MR also adjusts keybindings in the discussion tree to support forward and backward searching, as well as the keybinding for the help popup.

Thank you for the contribution @jakubbortlik!

This is a #MINOR bump since it's changing keybindings, although core workflows are unchanged.
2024-02-13 11:39:21 -05:00
Jakub F. Bortlík
6046669391 Feat: Make MR title input window configurable (#174)
Feat: Make MR title input window configurable
2024-02-11 13:08:29 -05:00
Jakub F. Bortlík
132dd60b95 Feat: save popup contents to register (#163)
Users can now provide a backup register when creating comments, notes, and so forth which will automatically be populated with the contents of the buffer prior to submission to Gitlab. This ensures that even if the API call fails the contents of the buffer is saved, which prevents the user from losing their changes. This is a MINOR update.
2024-01-22 08:14:40 -05:00
d-karl
a01a3210c1 Allow use of --imply_local when calling DiffviewOpen, allowing LSP use and linting in MR review (#162)
Adds the ability to use the local filesystem when doing reviews by passing the `--imply-local` flag to the reviewer. This functionality is disabled by default. If users make changes to their filesystem (the files are "dirty") the default reviewer (hashes not files) will be use. This is a MINOR release.
2024-01-20 18:06:24 -05:00
Harrison (Harry) Cramer
9b4526e54c Update README.md (#161)
Changing images in the README, this is a NONE release.
2024-01-13 11:06:32 -05:00
Harrison (Harry) Cramer
50e06ceff6 Feat: Add and Remove Labels from an MR (#159)
This MR adds the ability to add or remove labels to a merge request. These labels are visible in the summary panel and are colored the same way as they would be in the Gitlab UI.

This is a MINOR release.
2024-01-13 10:37:05 -05:00
Harrison (Harry) Cramer
67f09e559a Add Better Help Documentation (#157)
Adds better documentation that's searchable within Neovim via the `:help` command. This is a NONE release.
2024-01-12 22:36:14 -05:00
Harrison (Harry) Cramer
37a53842d0 Feat: Create Merge Request (#149)
- Adds the ability to create MRs to the plugin
- Adds the ability to jump to specific discussions/notes in the browser
- Fixes stale icons
- Adds debug keybinding for discussion tree for developers
2023-12-19 13:41:07 -05:00
Alif Arfab Pavel
cf73d629dc docs: fixed instructions to install using lazy plugin manager (#148)
This is a docs fix, will not ship tags/release: NONE
2023-12-17 18:40:28 -05:00
Harrison (Harry) Cramer
64b36ac51d Feat: Adds Ability to Merge MR (#147)
This adds the ability to merge an MR from within `gitlab.nvim` directly. If the reviewer is open, it'll be closed automatically. Users may configure whether they'd like to squash commits on the merge, as well as whether they'd like to delete the original source branch on a merge.

If squashing, users are prompted to provide an optional custom squash message for the squash commit.
2023-12-17 14:28:21 -05:00
Harrison (Harry) Cramer
d5510f9d9a Winbar Support + Notes and Discussions; Help Popup + Auto-Open (#133)
- Adds support for toggling between discussions and notes views
- Deprecates the split view shared with both discussions and notes at the same time
- Adds winbar to discussion split, with metadata about resolved and unresolved discussions
- Adds help popups with information about keybindings for all views
- Modifies highlights in discussion tree and default symbol for unresolved discussions

This is a MINOR version bump as the default behavior of the discussion tree is changed slightly. Existing configurations should still function.
2023-12-13 17:46:34 -05:00
Jakub F. Bortlík
cc68476b15 Make Popups Configurable (#129)
This makes the popups in the plugin (those for editing and creating comments, replies, the pipeline, etc) configurable. Users can change the default width, height, transparency, and border properties, and set overrides per popup.
2023-12-05 08:06:32 -05:00
johnybx
02db3e4b0e Feat: Sort Discussions by File Name (#102)
This MR adds the ability to sort discussions by file name, rather than just by date.

This is an optional configuration that can be passed in on startup. The MR also introduces a test suite for the Lua code that runs through Neovim, so that the plugin can be fully tested with required dependencies and APIs.

Major props to @johnybx for the hard work on this change!
2023-12-04 17:03:32 -05:00
Harrison (Harry) Cramer
93fe3e8bd6 Simplify Go Endpoints + Add Tests (#120)
This MR represents a major refactor of the Go codebase, as well as introducing tests for the handlers. The MR also introduces an endpoint to shutdown or restart the Go server, which may be useful for clients who want to refresh the state of the plugin after checking out branches. Finally, this MR adds a contributing document for users who want to make feature changes.
2023-12-04 10:15:07 -05:00
Jakub F. Bortlík
635f4642c0 Docs: Fix typos in README.md (#123)
Small changes to the README
2023-11-22 18:24:12 -05:00
Jakub F. Bortlík
711ed28532 Feat: Add reviewers to summary metadata (#121)
This commit adds reviewers to the metadata panel of the Summary popup. Thank you Jakub Bortlik!
2023-11-21 09:05:18 -05:00
Harrison (Harry) Cramer
c4a3229f16 Feat: Adds More Information to Summary Panel (#100)
This MR adds more information into the summary view, including the MR author, created at date, merge status, draft status, conflicts, and pipeline status, among other things. This is configurable via the setup function.
2023-11-20 18:56:19 -05:00
Harrison (Harry) Cramer
1abc33d149 Feat: Customize Config Path (#117)
Provide the option to configure the location of the `.gitlab.nvim` file
2023-11-20 14:39:22 -05:00
Harrison (Harry) Cramer
d3c0c44fcb Updates Readme: Remove "Extra" Section (#111)
This is not part of the core repository and is not maintained as part of .gitlab.nvim, we don't to recommend unrelated code to users.
2023-11-18 17:06:39 -05:00
johnybx
a5d5dc09ef Fixes: Resolve entire discussion thread (#95)
This MR adjusts the comment/discussion resolution action to resolve the entire discussion thread, rather than an individual comment, which is the expected behavior during an MR review.
2023-11-15 08:10:26 -05:00
Harrison (Harry) Cramer
1f28486ab2 Update README.md (#92)
Updates example video of plugin in action
2023-11-13 10:14:18 -05:00
Harrison (Harry) Cramer
aea8552784 Fixed indenting in README's table of contents (#91) 2023-11-13 09:47:23 -05:00
Harrison (Harry) Cramer
f0b561294a README Updates (#89)
Updates README to add table of contents, simplifies section on diagnostics
2023-11-13 09:30:36 -05:00
johnybx
58c3dcc9ec Discussion sign and diagnostics (#78)
This MR adds support for in-line comments in the review pane. This allows you to view comments (as diagnostics) directly in the Neovim buffers that you are reviewing. You can then jump to them directly in the discussion tree if you want to reply, edit, and so forth.
2023-11-13 09:06:04 -05:00
Harrison (Harry) Cramer
80b597e56a Feat: Remove Requirement for Dotfile (#84)
This MR removes the requirement for a dotfile (the dotfile is now optional and will override the configuration provided via environment variables). The requirement for providing a project ID is also eliminated, by parsing the namespace and project name from the SSH or HTTPS remote, and then using that to query Gitlab for a matching project.
2023-11-11 23:51:11 -05:00
Harrison (Harry) Cramer
38df51bfbc Update README.md (#86) 2023-11-10 17:42:08 -05:00
Harrison (Harry) Cramer
ffdaf83784 BREAKING CHANGE: This is a breaking change, it deprecates the Delta Reviewer (#81)
BREAKING

This is a breaking change which deprecates support for the Delta reviewer. Now, only Diffview is supported.
2023-11-10 17:38:28 -05:00
Harrison (Harry) Cramer
9742b5b229 Feat: Add Color Configuration (#82)
This MR adds the ability to customize colors for the discussion tree
2023-11-07 22:58:03 -05:00
Harrison (Harry) Cramer
6b7e67b325 Fixes #71 (#75)
This MR fixes the check for The `diffview` reviewer. Rather than checking for the presence of the command, we check for the module itself.
2023-10-31 18:46:18 -04:00
Harrison (Harry) Cramer
23232439b6 Update README.md (#74)
Change troubleshooting section to mention new "debug" option.
2023-10-31 18:14:02 -04:00
johnybx
3a67424fec Multiline comment and suggestion (#66)
This MR adds the ability to leave multi-line comments and suggested changes to an MR. The features are only supported for `diffview` because we plan to deprecate `delta` as a reviewer soon.
2023-10-30 21:58:53 -04:00
Harrison (Harry) Cramer
f853c2f940 Feat: Improve Logging for Go Server (#68)
This MR adds an optional `debug` object to the configuration table to help users debug any connectivity issues with Gitlab. The table lets you log the requests and responses from the Go server.
2023-10-30 21:57:23 -04:00
johnybx
c8a0267ba6 Add option to choose random server port (#65)
Updates the plugin to automatically choose a random port when started when no port is provided. This will allow multiple Neovim instances to open at the same time in different projects.
2023-10-21 11:39:37 -04:00
Harrison (Harry) Cramer
cb99fd2ead Update README.md 2023-09-09 11:07:30 -04:00
Harrison (Harry) Cramer
f6fb61607c Update README.md 2023-09-08 20:25:57 -04:00
Harrison (Harry) Cramer
4e473dab7e Feat: Upload Files (#59)
This MR adds the ability to add files to comments, notes, replys, and MR descriptions via a picker.

The file will get uploaded to Gitlab and the filepath will be automatically added into the current popup buffer at the current line. You can then save the changes with the normal save functionality.
2023-09-08 10:02:01 -04:00
Harrison Cramer
f05b6f128b Feat: Adds open_in_browser() command to open MR in browser 2023-09-07 20:40:30 -04:00