Skip to content

jdaddy chokes on large JSON objects when cursor is at the top. #7

Open

Description

@adamtaylor13

I was using this plugin with a really large JSON object (48k) and jdaddy would not work if I had my cursor anywhere near the beginning. I tried it on the opening bracket, and on the first key—both times it simply wouldn't run.

Through a fluke, I tried it on the end bracket and it worked. Not sure if this is a known limitation with large files. Also I was working on a sensitive work-related JSON object so I can't paste the actual object I was using. :( Sorry!

Steps to reproduce:

  1. Get large JSON object (>=48k?)
  2. Have it all ugly and not parsed. (It was also on one line.. Not sure if that mattered)
  3. Try to run gqaj on first bracket, or near beginning of line.
  4. Try to run gqaj on ending bracket

If I can help debug this in any way please let me know! I'm a novice Vim user, so I'm not familiar with Vimscript in anyway currently.

Thanks!

Activity

  1. tpope commented on Mar 27, 2018

    @tpope
    Owner

    You can start by checking if the text object works. See if vaj selects the object.

  2. adamtaylor13 commented on Mar 27, 2018

    @adamtaylor13
    Author

    It appears to work if I type vaj from the back of the line. If I type if from the beginning of the line, it doesn't. Not sure if that's the correct behavior. But it seems that would explain why the jdaddy would only work from the end of the line.

    Should vaj select the whole line from both the start and the end?
    If so, any tips on where I could start debugging this behavior?

    Thanks the help!

  3. tpope commented on Mar 27, 2018

    @tpope
    Owner

    Try debugging the lines and columns returned by :echo jdaddy#outer_pos(). Afraid I can't offer much more help than that.

  4. adamtaylor13 commented on Mar 27, 2018

    @adamtaylor13
    Author

    Looks like from the beginning of the object it returns [0, 0, 0, 0] but from the end of the object it returns [1, 1, 1, 65099]. Also, it seems like it affects the behavior if it's on a single line, perhaps?

    Anyway, this seems like quite an edge case, but seeing as how it was my first time using it, I figured I'd open an issue to log it. I may try to get into the Vimscript and see if I can't open a PR to help fix it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions