Giter VIP home page Giter VIP logo

kuby's Introduction

kuby's People

Contributors

piotrpdev avatar

Watchers

 avatar  avatar

Forkers

devguyio

kuby's Issues

TextArea spamming causes crash

Holding down a direction key in a textarea causes the cursor to keep moving for a while even after letting go, this can then sometimes lead to a crash for unknown reasons.

Need to add a debounce function to fix this, maybe something like this.

Add simple graphs

Try to find a Java CLI library that can display simple graphs, e.g. for CPU usage.

Syntax highlighting

Make the YAML code in inspectJson look nicer.

I have re-implemented this bubble to try doing this, however the special characters get escaped by the TextArea :(

Make interactive

Make the CLI interactive e.g. add a cursor, choice menus, radio menus, etc.

Investigate how easy / is it even possible to do well in Java/Kotlin.

Look at k9s for inspiration.

Add spec/status split view

kubectl get pods -o yaml displays three main fields: metadata, spec and status. Add a view that split this yaml, puts spec on one side of the terminal and 'status' on the other side.

  • Add a way to switch between this "enchanced"? view and standard yaml output e.g. using Tab.
  • Find a good way to parse and manipulate yaml in java.

Maybe use the -w flag to watch for changes:

Note: The kubectl get command is usually used for retrieving one or more resources of the same resource type. It features a rich set of flags that allows you to customize the output format using the -o or --output flag, for example. You can specify the -w or --watch flag to start watching updates to a particular object. - kubectl docs

Logo is cut off

Various reasons can cause the logo to be cut off like running the program with certain terminal sizes. Maybe try to fix this with lipgloss styling? e.g. padding and margin.

Image

Add some simple tests

  • Go has a command for test coverage, use it and target 50% coverage for now.
  • Do tests package by package for now.
  • Do the important high-level stuff for now e.g. listing pods. Look into using regular expressions.
  • Read up on how tests are done in Go e.g. the idioms that are not very common in other languages e.g. table testing is done a lot; A lot of experienced Go programmers try to limit usage of external libraries.
  • Look for inspiration on how tests are done in Go e.g. by looking at KNative

Note: In Go unit tests are usually written next to the module/file.

  • Ping Ahmed on issues related to testing.

TextArea character limit broken?

Setting the textarea value to a really long string will cause some of it to be cut off, even if the char limit is set to 0 (no limit).

Have to clear the managedFields part of the pod status section because of this.

Add resource diagrams

See if it is possible to do CLI diagrams e.g. lines going from a service to the pods.

Adjust table size based on terminal size

Currently the tables stay the same size at all times, make them resize dynamically to fill the terminal.

Figure out what to do if the table then becomes too big, maybe clamp the size and set some kind of upper limit?

Maybe handle really small terminal sizes too.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.