/template.nvim

Ready to go Neovim template 🏗️✈️

Primary LanguageLuaGNU General Public License v3.0GPL-3.0

License People Stars Forks Watches Last Updated

Ready to go Neovim template 🏗️✈️

template.nvim in action
template.nvim in action

template.nvim is a neovim plugin that allows neovim users to <action>.

✨ Features

  • Includes a ready to go neovim plugin template
  • Comes with a lint and test CI action
  • Includes a Github action to auto generate vimdocs
  • Comes with a ready to go README template
  • Works with mkrepo

⚡ Setup

⚙️ Requirements

  • Latest version of neovim

💻 Installation

-- Lazy
{
    '2kabhishek/template.nvim',
    cmd = 'TemplateHello',
    -- Add your custom configs here, keep it blank for default configs (required)
    opts = {},
    -- Use this for local development
    -- dir = '~/path-to/template.nvim',
},

🚀 Usage

  1. Fork the template.nvim repo

  2. Update the plugin name, file names etc, change template to your-plugin-name

  3. Add the code required for your plugin,

  4. Add test code to the tests directory

  5. Update the README

  6. Tweak the docs action file to reflect your username, commit message and plugin name

    • Generating vimdocs needs write access to actions (repo settings > actions > general > workflow permissions)

Configuration

template.nvim can be configured using the following options:

template.setup({
    name = 'template.nvim', -- Name to be greeted, 'World' by default
})

Commands

template.nvim adds the following commands:

  • TemplateHello: Shows a hello message with the confugred name.

Keybindings

It is recommended to use:

  • <leader>th, for TemplateHello

NOTE: By default there are no configured keybindings.

Help

Run :help template.txt for more details.

🏗️ What's Next

Planning to add <feature/module>.

✅ To-Do

  • Setup repo
  • Think real hard
  • Start typing

⛅ Behind The Code

🌈 Inspiration

template.nvim was inspired by nvim-plugin-template, I added some changes on top to make setting up a new plugin faster.

💡 Challenges/Learnings

  • The main challenges were <issue/difficulty>
  • I learned about <learning/accomplishment>

🧰 Tooling

  • dots2k — Dev Environment
  • nvim2k — Personalized Editor
  • sway2k — Desktop Environment
  • qute2k — Personalized Browser

🔍 More Info


⭐ hit the star button if you found this useful ⭐

Source | Blog | Twitter | LinkedIn | More Links | Other Projects