microsoft / knack

Knack - A Python command line interface framework
https://pypi.python.org/pypi/knack
MIT License
348 stars 95 forks source link

Set column width for tabular output format #270

Open glcardoz opened 1 year ago

glcardoz commented 1 year ago

I am adding some code to an Azure extension and need to display a 130 character long hexadecimals string. Azure CLI uses Knack which in turn uses the 'tabulate' library to print the table output format in the terminals. Tabulate provides a maxcolwidths argument which specifies the max width for it's respective column. However, knack does not use this argument, nor does it provide a way to configure this.

I have a 130-character hexadecimal string which needs to be displayed in tabular format. However, since knack does not specify the column width, the table outputs is not easily readable on a smaller size terminal. image

I am looking for something like this (test code and I set the maxcolwdiths argument to 30 here)

  Length  Value
--------  ------------------------------
     130  1234567890ABCDEF1234567890ABCD
          EF1234567890ABCDEF1234567890AB
          CDEF1234567890ABCDEF1234567890
          ABCDEF1234567890ABCDEF12345678
          90ABCDEF
     130  1234567890ABCDEF1234567890ABCD
          EF1234567890ABCDEF1234567890AB
          CDEF1234567890ABCDEF1234567890
          ABCDEF1234567890ABCDEF12345678
          90ABCDEF
      10  1234567890

Is there any way that knack provides to configure the maxcolwidths argument from Azure CLI?

ee99ee commented 1 year ago

+1 for this request