- Full Spring Initializr metadata support
- TUI-based UI for selecting project options
- Fuzzy dependency selection with
telescope.nvim - Tab and key-based navigation
spring-initializr.nvim/
βββ LICENSE
βββ lua/
β βββ spring-initializr/
β βββ algo/
β βββ commands/
β βββ config/
β βββ constants/
β βββ core/
β βββ metadata/
β βββ styles/
β βββ telescope/
β βββ ui/
β βββ dao/
β βββ utils/
β βββ init.lua
βββ scripts/
βββ tests/Requires Neovim 0.9+
Dependencies:
nui.nvimplenary.nvimtelescope.nvim
Plug 'nvim-lua/plenary.nvim'
Plug 'MunifTanjim/nui.nvim'
Plug 'nvim-telescope/telescope.nvim'
Plug 'jkeresman01/spring-initializr.nvim'use {
'jkeresman01/spring-initializr.nvim',
requires = {
'nvim-lua/plenary.nvim',
'MunifTanjim/nui.nvim',
'nvim-telescope/telescope.nvim'
}
}{
'jkeresman01/spring-initializr.nvim',
dependencies = {
'nvim-lua/plenary.nvim',
'MunifTanjim/nui.nvim',
'nvim-telescope/telescope.nvim',
},
config = function()
require('spring-initializr').setup()
end
}:SpringInitializr -- Launch the UI to configure project
:SpringGenerateProject -- Download and extract Spring Boot project to current directoryBasic setup and keybindings:
require("spring-initializr").setup()
vim.keymap.set("n", "<leader>si", "<CMD>SpringInitializr<CR>")
vim.keymap.set("n", "<leader>sg", "<CMD>SpringGenerateProject<CR>")| Keybinding | Action |
|---|---|
<leader>si |
Open Spring Initializr TUI |
<leader>q |
Close Spring Initializr TUI |
<leader>sg |
Generate project to current directory |
<Tab> |
Navigate forward between fields |
<Ctrl-r> |
Reset the form (selections && deps) |
<S-Tab> |
Navigate backward |
j / k |
Move between radio options |
<CR> |
Confirm field selection or submit |
dd |
Remove selected dependency |
Contributions are very welcome. You can help by:
- Picking up an existing issue.
- Issues marked with the label
good first issueare ideal if you're new to contributing.
- Issues marked with the label
- Opening a new bug report or feature request with clear details.
- Submitting a focused pull request that improves code, docs, or UX.
- Fork the repo and clone your fork.
- Create a topic branch:
git checkout -b feature/<short-name>orfix/<short-name>. - Develop and test locally in Neovim:
- Ensure dependencies are installed:
plenary.nvim,nui.nvim,telescope.nvim. - Load the plugin and verify
:SpringInitializrand:SpringGenerateProject.
- Ensure dependencies are installed:
- Commit with clear messages and reference any related issues:
git commit -m "Add toggle for X (#123)" - Push and open a pull request against
main.
- Use the provided issue templates for bugs and features.
- For bugs, include Steps to Reproduce, Actual vs Expected Behavior, Environment, and logs if available.
- For features, describe the motivation, proposed solution, and alternatives considered.
If you are unsure where to start, open an issue to discuss an idea before coding.
Kevin Lopez
First Donation π - Thanks Kevin we appreciate it a lot
βHey bro thanks a lot for your spring plugin on nvim, I loved it - that was exactly what I was looking for. The best for your project, I'll come back later :D Greetings from Mexico!β
- Kevin Lopez
This project is licensed under the terms of the GNU General Public License v3.0.