vim-jdaddy
vim-jdaddy copied to clipboard
jdaddy chokes on large JSON objects when cursor is at the top.
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.
Thanks!
You can start by checking if the text object works. See if vaj
selects the object.
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!
Try debugging the lines and columns returned by :echo jdaddy#outer_pos()
. Afraid I can't offer much more help than that.
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.