chiark / gitweb /
add --complete mode for bash_completion
authorRoss Younger <ross@impropriety.org.uk>
Thu, 28 Feb 2013 20:57:02 +0000 (09:57 +1300)
committerRoss Younger <ross@impropriety.org.uk>
Thu, 28 Feb 2013 20:57:02 +0000 (09:57 +1300)
find_definition.py

index 8d2cb64..9e215e2 100755 (executable)
@@ -36,6 +36,7 @@ class GViewInvocation(ViewInvocation):
 
 if __name__ == '__main__':
    parser = argparse.ArgumentParser(description='Find source code definitions.')
+   parser.add_argument('--complete', action='store_true', help='Lists possible expansions for tab-completion')
    parser.add_argument('string_to_search_for')
    args = parser.parse_args()
 
@@ -46,6 +47,12 @@ if __name__ == '__main__':
    if os.path.exists(CONFIG):
       config.read(CONFIG)
 
+   if args.complete:
+      gen = TagsSearcherFactory().get_generator(config.get(CONFIG_SECTION, KEY_TAGS)).generate(args.string_to_search_for)
+      for tag in gen:
+         print tag.tag(),
+      sys.exit(0)
+
    invokeme = config.get(CONFIG_SECTION, KEY_INVOCATION)
    if invokeme in globals().keys():
       invocation = globals()[invokeme]()