- new function `kube refine`
- define the required information in `$env.KUBERNETES_REFINE`, `kube
refine` will collect information according to its definition
- definitions in `status` and `cluster_status` are runtime information
and will not be collected. They are used in the `kg` command to display
status
- normalize the output of the `kg`, `kgp`, `kgs` command using `krefine`
- rename `kcconf` to `kccc` (kubectl change context clone)
- a new module, `refine.nu`, declaratively extracts data from complex
structures.
- `container-list` additionally displays the cmd field of the image
---------
Co-authored-by: nash <nash@iffy.me>
* improve kconf import
The order of fields loaded via `from yaml` is unstable, so use yq to
read it as json, and then load it by `from json`.
Aims to be `diff` friendly.
Remove the square brackets from the week field and use color to
distinguish it, taking up less space.
* kube_stat shows $ctx.NAME instead of complex combination of $ctx.AUTHINFO and $ctx.CLUSTER
- Improve the default theme of kube_stat.
- Clean up duplicate comments in `kubernetes.nu`.
* when power's DECORATOR mode is `power`, allows to dynamically change the background color
- components now needs to return two values in an array, the first value is the background color, and the second value is the original value.
- as an example, `atuin_stat` reveal its status with two different colors instead of showing or hiding
* allowing pass `config` when register or inject a component
The main difference between `config` and `theme` is: theme assumes you pass a color and will apply with `ansi -e {fg : $arg}`
And in most cases, you don't need to pass `config`
* added new function `power set`
time_segment allows format control via option `short`
* rename `nu-complete kube def` to `nu-complete kube kind`
- get all resources via `kubectl api-resources`
- enable cache
* use `from yaml` instead of `yq -o=json | from json` (for next version)
* nu-complete kube kind: add SHORTNAMES as description
* Fix the caching mechanism of `kube ctx` and `kube kind`
based on the number of file lines instead of modification time.
Because switching the context will change the content of the file, the time will be updated every time
* Added new command `kcache flush` to rebuild the cache.
Sometimes, such as manually editing the cluster address in the
configuration file, the number of lines has not changed, and the cache
does need to be refreshed
* use `path dirname` instead of `dirname`
* applying `ensure-cache-by-lines` in `kube_stat`
---------
Co-authored-by: agent <agent@nuc>
* refactor: ✨ move in one commit
Eveything in modules should probably be changed to `exported` defs.
The idea is to move everything first to keep proper history.
* refactor: 📝 add modules readme (wip)
* refactor: ✨ small move
* refactor: 📝 changed nestring, updated modules readme
* refactor: 📝 to document or not to document
* fix: 🐛 themes
replaced the template to use `main` and regenerated them
from lemnos themes.
* Revert "fix: 🐛 themes"
This reverts commit 4918d3633c8d2d81950a0ed0cfd9eb84241bc886.
* refactor: ✨ introduce sourced
- Created a source `root` in which sourcable demos are stored.
Some might get converted to modules later on.
- Moved some files to bin too.
* fix: 🐛 fehbg.nu
* fix: 🐛 modules/after.nu
* moved some other stuff around
---------
Co-authored-by: Darren Schroeder <343840+fdncred@users.noreply.github.com>