Issue 14210: add filename completion to pdb (original) (raw)

Issue14210

Created on 2012-03-06 15:36 by tshepang, last changed 2022-04-11 14:57 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
pdb-completion.diff georg.brandl,2012-03-09 10:54 review
pdb-completion-v2.diff georg.brandl,2012-03-09 17:17 review
Messages (12)
msg155020 - (view) Author: Tshepang Lekhonkhobe (tshepang) * Date: 2012-03-06 15:36
This would be extra nice because I would not have to fill in the entire path manually when I'm setting a b(reak).
msg155220 - (view) Author: Georg Brandl (georg.brandl) * (Python committer) Date: 2012-03-09 09:50
I agree. It should not be too hard to add complete_break() and other similar methods that do this to Pdb.
msg155222 - (view) Author: Georg Brandl (georg.brandl) * (Python committer) Date: 2012-03-09 10:54
Here's a patch for 3.3, adding completion to most commands (either completes locations, breakpoint numbers or expressions). Please test!
msg155242 - (view) Author: Tshepang Lekhonkhobe (tshepang) * Date: 2012-03-09 16:26
Thanks for the work. I see that completion now works for user-defined variables, but: * completing with 'b' doesn't work at all * completing with 'break' only completes the first directory that gets the TAB key * also, 'break' doesn't complete when I do another try to do auto-completion (works only on first try)
msg155247 - (view) Author: Georg Brandl (georg.brandl) * (Python committer) Date: 2012-03-09 17:17
> I see that completion now works for user-defined variables, but: > * completing with 'b' doesn't work at all Right, that needs to be added for every shortcut. > * completing with 'break' only completes the first directory that gets the TAB key > * also, 'break' doesn't complete when I do another try to do auto-completion (works only on first try) Indeed. That should be fixed with this new version of the patch.
msg155249 - (view) Author: Tshepang Lekhonkhobe (tshepang) * Date: 2012-03-09 17:36
Works much better, but there are still some issues: * using relative path completes, but I get something like "'../prog.py' not found from sys.path" * using "~/" to try to complete the HOME directory doesn't work... it completes the root directory
msg155250 - (view) Author: Georg Brandl (georg.brandl) * (Python committer) Date: 2012-03-09 17:41
> * using relative path completes, but I get something like "'../prog.py' not found from sys.path" That has nothing to do with the completion. > * using "~/" to try to complete the HOME directory doesn't work... it completes the root directory Since break doesn't accept "~", I don't see why it should complete it. Keep in mind it's not a shell :)
msg155251 - (view) Author: Tshepang Lekhonkhobe (tshepang) * Date: 2012-03-09 17:46
> Georg Brandl <georg@python.org> added the comment: >> * using relative path completes, but I get something like "'../prog.py' not found from sys.path" > That has nothing to do with the completion. If I give it an absolute path it works, hence the complaint. >> * using "~/" to try to complete the HOME directory doesn't work... it completes the root directory > Since break doesn't accept "~", I don't see why it should complete it.  Keep in mind it's not a shell :) Fair enough. Perhaps the completion should not be when encountering that character?
msg155252 - (view) Author: Georg Brandl (georg.brandl) * (Python committer) Date: 2012-03-09 17:50
>>> * using relative path completes, but I get something like "'../prog.py' not found from sys.path" >> That has nothing to do with the completion. > If I give it an absolute path it works, hence the complaint. But that has to do with how relative paths are handled, not with how they are entered: they are taken relative to sys.path[0]. I don't know why, and if that is the useful thing to do, but it's for another issue. >>> * using "~/" to try to complete the HOME directory doesn't work... it completes the root directory >> Since break doesn't accept "~", I don't see why it should complete it. Keep in mind it's not a shell :) > Fair enough. Perhaps the completion should not be when encountering that character? That should be easy to do, yes.
msg155254 - (view) Author: Tshepang Lekhonkhobe (tshepang) * Date: 2012-03-09 18:14
> But that has to do with how relative paths are handled, not with how they are entered: they are taken relative to sys.path[0]. I don't know why, and if that is the useful thing to do, but it's for another issue. Perhaps refuse to complete all relative paths as well?
msg155255 - (view) Author: Georg Brandl (georg.brandl) * (Python committer) Date: 2012-03-09 18:16
Nope, don't think so. They are accepted and handled (albeit strangely) after all.
msg155352 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2012-03-10 21:36
New changeset 01a25f638c83 by Georg Brandl in branch 'default': Close #14210: add command argument completion to pdb: complete file names, global/local variables, aliases http://hg.python.org/cpython/rev/01a25f638c83
History
Date User Action Args
2022-04-11 14:57:27 admin set github: 58418
2012-03-10 21:36:54 python-dev set status: open -> closednosy: + python-devmessages: + resolution: fixedstage: resolved
2012-03-09 18:16:19 georg.brandl set messages: +
2012-03-09 18:14:56 tshepang set messages: +
2012-03-09 17:50:02 georg.brandl set messages: +
2012-03-09 17:46:48 tshepang set messages: +
2012-03-09 17:41:50 georg.brandl set messages: +
2012-03-09 17:36:26 tshepang set messages: +
2012-03-09 17:17:09 georg.brandl set files: + pdb-completion-v2.diffmessages: +
2012-03-09 16:26:30 tshepang set messages: +
2012-03-09 10:54:04 georg.brandl set files: + pdb-completion.diffassignee: georg.brandlmessages: + keywords: + patch
2012-03-09 09:50:41 georg.brandl set nosy: + georg.brandlmessages: +
2012-03-06 15:36:47 tshepang create