[英]readline() tab completion automatically in uppercase and replace in place?
使用庫readline
我設法在使用input()
時提供選項卡完成。 到目前為止,我的代碼如下所示:
import readline
class TabComplete:
def __init__(self, wordList):
self.wordList = wordList
def complete(self,text,state):
results = [x for x in self.wordList if x.startswith(text)] + [None]
return results[state]
readline.parse_and_bind("tab: complete")
tabComplete = ["IF", "IF_ELSE", "FOR", "WHILE"]
completer = TabComplete(tabComplete)
readline.set_completer(completer.complete)
userTyped = input("prompt > ")
如果我開始輸入I
然后在tab
上點擊兩次,它將按預期建議我IF
和IF_ELSE
。
我現在搜索的是:
i
然后點擊兩次tab
,有沒有辦法讓它提出IF
和IF_ELSE
?IF EL
,我可以實時告訴他用_
替換空格,以便完成工作嗎?您始終可以將文本轉換為大寫並用“_”替換空格
def complete(self,text,state):
text = tex.upper().replace(" ","_")
results = [x for x in self.wordList if x.startswith(text)] + [None]
return results[state]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.