You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
jdaddy chokes on large JSON objects when cursor is at the top. #7
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:
Get large JSON object (>=48k?)
Have it all ugly and not parsed. (It was also on one line.. Not sure if that mattered)
Try to run gqaj on first bracket, or near beginning of line.
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.
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?
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.
Activity
tpope commentedon Mar 27, 2018
You can start by checking if the text object works. See if
vajselects the object.adamtaylor13 commentedon Mar 27, 2018
It appears to work if I type
vajfrom 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
vajselect 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!
tpope commentedon Mar 27, 2018
Try debugging the lines and columns returned by
:echo jdaddy#outer_pos(). Afraid I can't offer much more help than that.adamtaylor13 commentedon Mar 27, 2018
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.