Coder Social home page Coder Social logo

Comments (10)

Doctor-love avatar Doctor-love commented on May 18, 2024

Visual example:

output_color

from fq.

wader avatar wader commented on May 18, 2024

Aha you mean ... :frames: [2] here looks like .frames is the array [2]? good point. Any suggestion on how it can be indicated that it's actually an array with two values of any type? Currently when displaying truncated arrays it is shown as [50:1378]: ..., so maybe [0:2] or [:2]? maybe a "slice" etc could have own color also?

Now when i think about it the truncated format currently is one-off if it is suppose to be "jq" slice syntax.

from fq.

wader avatar wader commented on May 18, 2024

Something like this:

mp3> last(fgrep("toc")) | d({line_bytes: 10, array_truncate:10})
    │00 01 02 03 04 05 06 07 08 09│0123456789│.frames[0].xing.toc: [0:100]
0x5a│                     00      │       .  │  [0]: 0
0x5a│                        99   │        . │  [1]: 153
0x5a│                           99│         .│  [2]: 153
0x64│99                           │.         │  [3]: 153
0x64│   99                        │ .        │  [4]: 153
0x64│      99                     │  .       │  [5]: 153
0x64│         99                  │   .      │  [6]: 153
0x64│            99               │    .     │  [7]: 153
0x64│               99            │     .    │  [8]: 153
0x64│                  99         │      .   │  [9]: 153
    │                             │          │  [10:100]: ...
mp3>

Or even more jq-ish

mp3> last(fgrep("toc")) | display({line_bytes: 10, array_truncate:10})
    │00 01 02 03 04 05 06 07 08 09│0123456789│.frames[0].xing.toc[0:100]:
0x5a│                     00      │       .  │  [0]: 0
0x5a│                        99   │        . │  [1]: 153
0x5a│                           99│         .│  [2]: 153
0x64│99                           │.         │  [3]: 153
0x64│   99                        │ .        │  [4]: 153
0x64│      99                     │  .       │  [5]: 153
0x64│         99                  │   .      │  [6]: 153
0x64│            99               │    .     │  [7]: 153
0x64│               99            │     .    │  [8]: 153
0x64│                  99         │      .   │  [9]: 153
    │                             │          │  [10:100]: ...
mp3>

from fq.

Doctor-love avatar Doctor-love commented on May 18, 2024

I would say that the last example is the clearest

from fq.

wader avatar wader commented on May 18, 2024

Agree, the more i look at it the more i like it. Ill see if i can do that without broking someting... dump.go is a mess at the moment, have some refactoring plans

from fq.

Doctor-love avatar Doctor-love commented on May 18, 2024

That's very nice!

from fq.

Doctor-love avatar Doctor-love commented on May 18, 2024

But isn't it off by one or is this just the "jq" way of presenting count/length?

from fq.

wader avatar wader commented on May 18, 2024

Yeap it's jq:s slice syntax [start:end] (same as go) where start index is inclusive and end index exclusive, memory rule for me is length will be end-start :) So idea was that the output should be copy/pasteable, ex:

mp3> .frames[0].xing.toc[0:100] | length
100
mp3> .frames[0].xing.toc[10:100] | length
90

from fq.

wader avatar wader commented on May 18, 2024

@Doctor-love lets open new issues if more decoration are needed?

from fq.

Doctor-love avatar Doctor-love commented on May 18, 2024

Agreed!

from fq.

Related Issues (20)

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.