ChatGPT.nvim icon indicating copy to clipboard operation
ChatGPT.nvim copied to clipboard

Escape % to avoid "invalid capture index problem" when % in the input

Open ilan-schemoul opened this issue 1 year ago • 3 comments

Hey, If you select a line with a "%" for example " while (fscanf(src, "%30s ", str) == 1) " And try to run a ChatGPTRun command such as code_readbility_analysis you will have an error invalid capture index lua/chatgpt/flows/actions/chat/init.lua:52 The reason it happens is that when there is a % it is interpreted as a capture index by gsub but of course it is not intended. We need to escape those. The resulting code is value = value:gsub("%%", "%%%%") because inside a string the % themselve need to be escaped too. It it tested and fix the problem on my side.

PS : I had to close previous PR because I made commit from other PRs mistakenly

ilan-schemoul avatar Mar 19 '24 22:03 ilan-schemoul

@jackMort any feedback ? I also havee two other pendings PR so feel free to review those when you can too

ilan-schemoul avatar Mar 26 '24 19:03 ilan-schemoul

I am facing this issue as well, in Go it deletes % from formatted strings and gives me completely nonsense answers. Do you have a workaround?

devshoe avatar Apr 04 '24 13:04 devshoe

I just pulled your branch and used it and it's fixed :) Thanks so much, I hope this PR gets merged soon.

devshoe avatar Apr 04 '24 14:04 devshoe