我正在为Linux的新用户构建一个脚本,所以请理解我为什么这样问:)
我的脚本是这样运行的:
python script.py -f filename.txt
为此,我使用了optparse模块。但是,在进行制表符补全时,我注意到了以下几点。
当我执行以下操作时,制表符完成功能正常:
python script.py <tab completion> # Tab completion works normally as expected
但当我这样做时,它不起作用:
python script.py -f <tab completion> # No type of ta
我需要些帮助。我完全被难住了。我正在尝试为自定义shell风格的程序编写自己的制表符补全模块(也是补全参数)。我可以用制表符补全命令,但参数给我带来了麻烦。有人可以写一个样例制表符完成模块给我看吗?
可用命令:' show ','exit','clear','ship‘,first arg:'ip','mac','options’,子参数IP:'external,'internal','local‘
最后,我希望能够:
My Prompt > sh<tab
在使用时,我似乎无法获得不区分大小写的补全。以这个示例脚本为例:
use strict;
use warnings;
use 5.010;
use Term::ReadLine;
my $term = Term::ReadLine->new('test');
say "Using " . $term->ReadLine;
if (my $attr = $term->Attribs) {
$term->ornaments(0);
$attr->{basic_word_break_characters} = "
有没有办法在Python语言中为import语句启用制表符补全?
示例:
$ cd test/
$ ls
mytest.py
$ python
Python 2.7.6 (default, Mar 22 2014, 22:59:56)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import my<TAB>
>>> import sh
我正在为swift工具(编译器和包管理器)编写一个zsh完成脚本。此命令可以与指定子命令一起使用,也可以不与其一起使用。例如
# calls to the compiler
# usage: swift [options] <inputs>
1> swift my_file.swift
2> swift -a 1 -b 2 my_file.swift
# calls to build subcommand
3> swift build
4> swift build -c 1
# calls to test subcommand
5> sw
Powershell有很好的自动补全功能,允许它轻松地自动补全参数。是否可以在调用应用程序时提供此自动完成功能?例如。
.\myscript.ps1 -Databa (pressing tab here will fill in Database)
但是,如果您最终决定用适当的应用程序替换脚本
.\myapp.exe -Databa (pressing tab does nothing)
该应用程序是一个.NET应用程序(如果这有帮助的话)。有没有办法让它连接到powershell正在做的事情来确定参数?
我正在使用Perl语言中的包来实现一个CLI工具。我不能用它完成命令部分的制表符补全。
comp_CMD() -这是一个由Term::Shell提供的API,用于实现制表符补全。这对我没什么帮助。有人知道怎么做吗??
示例代码:
#!/usr/bin/env perl
package Sample;
use base qw(Term::Shell);
sub prompt_str { "Sample\>" };
sub comp_show
{
my $o = shift;
my $word = shift;
$o->completions
在使用Notepad++时,我过去只需输入<div> (不按tab或其他任何键),软件会立即添加结束标记,如下所示:<div></div>,将光标位置设置在两个标记之间。看起来Notepad++只是使用>键来触发自动补全,而我需要按tab或使用Sublime text 2中的自动补全框才能使其工作。
在Sublime text 2中有没有办法做同样的事情?我只想通过关闭开始标记而不按任何其他键来触发自动完成。
谢谢你的帮忙