Skip to content

Commit 4f27bdd

Browse files
Draft: Topic/which key upgrade (#44)
1 parent ed4a61a commit 4f27bdd

1 file changed

Lines changed: 37 additions & 42 deletions

File tree

README.md

Lines changed: 37 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ For the lazy, you can install my full config lazyvim with kube-utils-nvim instal
77
This Neovim plugin provides seamless integration with Kubernetes and Helm, allowing you to deploy and manage Kubernetes resources directly from your editor.
88

99
## Features
10+
1011
- **Kubernetes Context and Namespace Management**: Easily switch between different Kubernetes contexts and namespaces.
1112
- **CRD Viewer:** View Custom Resource Definitions directly in Neovim.
1213
- **Helm Integration:** Manage Helm charts, update dependencies, and deploy directly from Neovim.
@@ -16,17 +17,19 @@ This Neovim plugin provides seamless integration with Kubernetes and Helm, allow
1617
- **K9s Integration:** Open k9s from nvim
1718

1819
#### Screenshots
20+
1921
Here are some visual previews of the plugin in action
2022

2123
Telescope NS selector :
24+
2225
- ![Screenshot 1](https://github.com/h4ckm1n-dev/kube-utils-nvim/assets/97511408/bbfe3a51-6117-413f-9d31-9f66517994c2)
23-
K9S module:
26+
K9S module:
2427
- ![Screenshot 2](https://github.com/h4ckm1n-dev/kube-utils-nvim/assets/97511408/c6139ddf-e9af-4665-bd57-a829b236bac2)
25-
K9S in a vertical split view :
28+
K9S in a vertical split view :
2629
- ![Screenshot 3](https://github.com/h4ckm1n-dev/kube-utils-nvim/assets/97511408/8c3cbaf8-d3c0-44a8-b487-4858e06b86f7)
27-
Get CRD function :
30+
Get CRD function :
2831
- ![Screenshot 4](https://github.com/h4ckm1n-dev/kube-utils-nvim/assets/97511408/b5c1158e-5c93-41aa-b9ee-6fa5e2d0cb2b)
29-
Get Log and FormatJson :
32+
Get Log and FormatJson :
3033
- ![image](https://github.com/h4ckm1n-dev/kube-utils-nvim/assets/97511408/52c7ecc8-9bb7-4dc0-a0cb-8e886d4ce645)
3134

3235
![Capture Video Preview](https://github.com/h4ckm1n-dev/kube-utils-nvim/assets/97511408/d575048c-2f88-415a-a62f-90db935d6951)
@@ -47,48 +50,40 @@ return {
4750
}
4851

4952
```
53+
5054
## Key Bindings
55+
5156
Use the following mappings to access Kubernetes features efficiently:
52-
```lua
53-
local helm_mappings = {
54-
k = {
55-
name = "Kubernetes", -- Main title for all Kubernetes related commands
56-
57-
-- Helm Commands
58-
h = {
59-
name = "+Helm",
60-
d = { "<cmd>HelmDeployFromBuffer<CR>", "Helm Deploy Buffer to Context" },
61-
r = { "<cmd>RemoveDeployment<CR>", "Helm Remove Deployment From Buffer" },
62-
T = { "<cmd>HelmDryRun<CR>", "Helm DryRun Buffer" },
63-
u = { "<cmd>HelmDependencyUpdateFromBuffer<CR>", "Helm Dependency Update" },
64-
b = { "<cmd>HelmDependencyBuildFromBuffer<CR>", "Helm Dependency Build" },
65-
t = { "<cmd>HelmTemplateFromBuffer<CR>", "Helm Template From Buffer" },
66-
},
67-
68-
-- Kubectl Commands
69-
k = {
70-
name = "+Kubectl",
71-
a = { "<cmd>KubectlApplyFromBuffer<CR>", "Kubectl Apply From Buffer" },
72-
D = { "<cmd>DeleteNamespace<CR>", "Kubectl Delete Namespace" },
73-
K = { "<cmd>OpenK9s<CR>", "Open K9s" },
74-
k = { "<cmd>OpenK9sSplit<CR>", "Split View K9s" },
75-
l = { "<cmd>ToggleYamlHelm<CR>", "Toggle YAML/Helm" },
76-
c = { "<cmd>SelectCRD<CR>", "Download CRD" },
77-
C = { "<cmd>SelectSplitCRD<CR>", "Download CRD Split" },
78-
},
79-
80-
-- Logs Commands
81-
l = {
82-
name = "+Logs",
83-
f = { "<cmd>JsonFormatLogs<CR>", "Format JSON" },
84-
v = { "<cmd>ViewPodLogs<CR>", "View Pod Logs" },
85-
},
86-
},
87-
}
8857

89-
-- Register the Helm keybindings with a specific prefix
90-
require('which-key').register(helm_mappings, { prefix = "<leader>" })
58+
```lua
59+
local kube_utils_mappings = {
60+
{ "<leader>k", group = "Kubernetes" }, -- Main title for all Kubernetes related commands
61+
-- Helm Commands
62+
{ "<leader>kh", group = "Helm" },
63+
{ "<leader>khT", "<cmd>HelmDryRun<CR>", desc = "Helm DryRun Buffer" },
64+
{ "<leader>khb", "<cmd>HelmDependencyBuildFromBuffer<CR>", desc = "Helm Dependency Build" },
65+
{ "<leader>khd", "<cmd>HelmDeployFromBuffer<CR>", desc = "Helm Deploy Buffer to Context" },
66+
{ "<leader>khr", "<cmd>RemoveDeployment<CR>", desc = "Helm Remove Deployment From Buffer" },
67+
{ "<leader>kht", "<cmd>HelmTemplateFromBuffer<CR>", desc = "Helm Template From Buffer" },
68+
{ "<leader>khu", "<cmd>HelmDependencyUpdateFromBuffer<CR>", desc = "Helm Dependency Update" },
69+
-- Kubectl Commands
70+
{ "<leader>kk", group = "Kubectl" },
71+
{ "<leader>kkC", "<cmd>SelectSplitCRD<CR>", desc = "Download CRD Split" },
72+
{ "<leader>kkD", "<cmd>DeleteNamespace<CR>", desc = "Kubectl Delete Namespace" },
73+
{ "<leader>kkK", "<cmd>OpenK9s<CR>", desc = "Open K9s" },
74+
{ "<leader>kka", "<cmd>KubectlApplyFromBuffer<CR>", desc = "Kubectl Apply From Buffer" },
75+
{ "<leader>kkc", "<cmd>SelectCRD<CR>", desc = "Download CRD" },
76+
{ "<leader>kkk", "<cmd>OpenK9sSplit<CR>", desc = "Split View K9s" },
77+
{ "<leader>kkl", "<cmd>ToggleYamlHelm<CR>", desc = "Toggle YAML/Helm" },
78+
-- Logs Commands
79+
{ "<leader>kl", group = "Logs" },
80+
{ "<leader>klf", "<cmd>JsonFormatLogs<CR>", desc = "Format JSON" },
81+
{ "<leader>klv", "<cmd>ViewPodLogs<CR>", desc = "View Pod Logs" },
82+
83+
-- Register the Kube Utils keybindings
84+
require('which-key').add(kube_utils_mappings)
9185
```
86+
9287
## Requirements
9388

9489
- Neovim 0.9.0 or higher

0 commit comments

Comments
 (0)