A Telescope integration of Conventional Commits.
telescope-cc.nvim
A Telescope integration of Conventional Commits.

Installation
# vim-plug
Plug 'olacin/telescope-cc.nvim'
packer
use 'olacin/telescope-cc.nvim'
lazy.nvim
{ "olacin/telescope-cc.nvim" }
Usage
# As a command
:Telescope conventional_commits
As a lua function
require('telescope').extensions.conventionalcommits.conventionalcommits()
Configuration
You can customize action on selection within Telescope setup() function.
telescope.setup({
...
extensions = {
conventional_commits = {
theme = "ivy", -- custom theme
action = function(entry)
-- entry = {
-- display = "feat A new feature",
-- index = 7,
-- ordinal = "feat",
-- value = feat"
-- }
vim.print(entry)
end,
includebodyand_footer = true, -- Add prompts for commit body and footer
},
},
})
telescope.loadextension("conventionalcommits")
Default action
Default action is ccactions.commit and can be found here.
Include body and footer
The easiest way is to add includebodyand_footer within telescope setup like shown above.
If however you wish to do something more advanced, you can create a command to initiate the extension with the includebodyand_footer flag.
local function createconventionalcommit()
local actions = require("telescope.extensions.conventionalcommits.actions")
local picker = require("telescope.extensions.conventionalcommits.picker")
local themes = require("telescope.themes")
-- if you use the picker directly you have to provide your theme manually local opts = { action = actions.prompt, includebodyand_footer = true, } opts = vim.tblextend("force", opts, themes["getivy"]()) picker(opts) end
vim.keymap.set( "n", "cc", createconventionalcommit, { desc = "Create conventional commit" } )