diff --git a/.emacs.d/functions.el b/.emacs.d/functions.el index 55b3a26..86392d6 100644 --- a/.emacs.d/functions.el +++ b/.emacs.d/functions.el @@ -10,3 +10,8 @@ (get-buffer-create "*Writing Mode*") (switch-to-buffer "*Writing Mode*") (org-mode)) + +(setq-default + functions-file (concat (or (getenv "XDG_CONFIG_HOME") "~/.emacs.d/") "kustomize.el")) +(when (file-exists-p functions-file) + (load functions-file)) diff --git a/.emacs.d/kustomize.el b/.emacs.d/kustomize.el new file mode 100644 index 0000000..1afbcca --- /dev/null +++ b/.emacs.d/kustomize.el @@ -0,0 +1,25 @@ +;;; kustomize.el --- quickly test and render kustomize overlays +;; Copyright (C) 2023 Gabriel Simmer + +;; Author: Gabriel Simmer +;; Version: 0.0.100m + +;;; Commentary: + +;; Render a Kustomization and display in a buffer. + +;;; Code: +(defun render-kustomize (path) + (shell-command-to-string (concat "kubectl kustomize" " " path))) + +(defun kustomize (&optional path) (interactive) + (or path (setq path "")) + (let ((buff (get-buffer-create "*kustomize*"))) + (display-buffer buff + '(display-buffer-in-side-window . ((side . right)))) + (with-current-buffer buff + (insert (format "%s" (render-kustomize path))) + (if (fboundp 'k8s-mode) (k8s-mode) (yaml-mode))))) + +(provide 'kustomize) +;;; kustomize.el ends here