Perl tcsh自动完成并获取另一个自动完成的模式

Perl tcsh自动完成并获取另一个自动完成的模式,perl,autocomplete,csh,tcsh,Perl,Autocomplete,Csh,Tcsh,到目前为止,有没有可能在tc shell完成的情况下获得匹配模式 我的意思是,假设命令a,然后执行: A[TAB] c1 c2 c3 Ac3[TAB]以下是我将如何处理它。首先,我将使用一个简单的xml解析脚本来打印路径。这里是我想到的一个(您可以使用perl轻松编写自己的一个,或者只使用这个): 最后,completeit(应该使用脚本和xml文件的绝对路径): 你能解释一下你用它做什么吗?@shx2当然,我想用某种格式的XML文件自动完成。你能举个具体的例子吗?xml中有什么? &

到目前为止,有没有可能在tc shell完成的情况下获得匹配模式

我的意思是,假设命令a,然后执行:

A[TAB]
c1
c2
c3

A
c3[TAB]
以下是我将如何处理它。首先,我将使用一个简单的xml解析脚本来打印路径。这里是我想到的一个(您可以使用perl轻松编写自己的一个,或者只使用这个):

最后,
complete
it(应该使用脚本和xml文件的绝对路径):


你能解释一下你用它做什么吗?@shx2当然,我想用某种格式的XML文件自动完成。你能举个具体的例子吗?xml中有什么?
    <xml>
      <key name="c1"></key>
      <key name="c2"></key>
      <key name="c3">
         <key name="c3-b2">
           <key name="c3-xdr"></key>
         </key>
      </key>
</xml>
# xml_paths.py
import sys
from xml import sax

class PathHandler(sax.handler.ContentHandler):
    def __init__(self):
        self.path = []
    def startElement(self, name, attrs):
        if name == 'key':
            self.path.append(attrs['name'])
            print '/'.join(self.path)
    def endElement(self, name):
        if name == 'key':
            self.path.pop()

sax.parse(sys.argv[1], PathHandler())
% complete A 'p#*#`python xml_paths.py a.xml`#'
% A <TAB>
c1              c2              c3              c3/c3-b2        c3/c3-b2/c3-xdr
% A c3/<TAB>
c3/c3-b2        c3/c3-b2/c3-xdr 
% A c3/c3-b2
% python xml_paths.py a.xml
c1
c2
c3
c3/c3-b2
c3/c3-b2/c3-xdr