Skip to content

[Feature]: Enable setting create_mr.title in as function in setup options #516

Description

@Drew-Daniels

Thanks for gitlab.nvim! Just started using this plugin today and I think it will be incredibly useful for my workflow.

Feature Description

After referencing :h gitlab.nvim, I can see that we can set the title for Merge Requests using require("gitlab").create_mr({ title = "Fix bug XYZ", description = "Closes #123" }), but we cannot set MR titles in the setup options.

This makes sense, because it would rarely be useful to always use the same title for every Merge Request, but I think it would be a useful option if not only users were able to also set settings.create_mr.title within our setup configuration to gitlab.nvim, but we were able to set the title by providing a function that will be called to generate the title - so this is sort of 2 feature requests.

  1. To allow users to configure settings.create_mr.title within the setup options and
  2. To allow users to provide a lua function to this property, that, when called will return a string that can be used for the GitLab MR.

Ideal Behavior

return {
	"harrisoncramer/gitlab.nvim",
	dependencies = {
		"MunifTanjim/nui.nvim",
		"nvim-lua/plenary.nvim",
		"sindrets/diffview.nvim",
		"stevearc/dressing.nvim",
		"nvim-tree/nvim-web-devicons",
	},
	build = function()
		require("gitlab.server").build(true)
	end, -- Builds the Go binary
	config = function()
		require("gitlab").setup({
			create_mr = {
				target = "main",
				template_file = "Default.md",
				title = function()
					-- My complicated function that will use some runtime logic to return a string to use for MR title
					return "foo(bar): baz"
				end,
			},
		})
	end,
}

Thanks again!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions