标签: completion

奇怪的自动完成导致emacs +常见的lisp

我在我的开发环境中使用Emacs和SLIME.当我输入(write-to然后C-M-i我得到以下自动填充:

Click on a completion to select it.
In this buffer, type RET to select the completion near point.

Possible completions are:
write-to-sting
write-to-string
Run Code Online (Sandbox Code Playgroud)

我知道Common Lisp很强大,但我猜write-to-sting不是ANSI标准.谷歌没有为这个功能提供一次点击.然后我试着在SBCL代码中找到它,但是

(documentation 'write-to-sting 'function)返回,nil因此它没有文档字符串.

当我尝试执行(write-to-sting)我得到的功能时The function COMMON-LISP-USER::WRITE-TO-STING is undefined.

Apropos还发现了一个未绑定的函数:

(apropos 'write-to)
WRITE-TO
WRITE-TO-STING
WRITE-TO-STRING (fbound)
Run Code Online (Sandbox Code Playgroud)

我的问题是:发生了什么事?有谁知道这个功能背后的故事?

common-lisp slime completion

7
推荐指数
1
解决办法
106
查看次数

Android Studio - Kotlin 自动完成功能不起作用

Kotlin 自动完成功能在 Android Studio 中不起作用。Java 和 XML 自动完成功能正常工作,但 Kotlin 不工作。

Kotlin 不工作示例:

Kotlin 不工作示例

XML 工作示例:

xml 工作示例

Java工作示例: Java 工作示例

android autocomplete kotlin android-studio completion

7
推荐指数
1
解决办法
4911
查看次数

Vim中更快的多文件关键字完成?

在vim中搜索我的python完成必杀技时,我真的很喜欢<Cx> <Ci>:"当前和包含文件中的关键字".这几乎总是让我从另一个完成的模块中得到一个令人讨厌的名字,这很棒.

(Omni-completion在它工作时明显更好,但是它经常报告它找不到任何匹配.好吧,Python不是Java,我明白了)

这个多文件完成的唯一问题是它非常慢:在我的上网本上,每次点击<Cx> <Ci>时,具有合理导入集的文件最多需要4或5秒才能解析.每次点击<Cx> <Ci>时,似乎都会加载每个导入的文件.有没有办法缓存文件或加快这个过程?使用标签完成会更快吗?

vim autocomplete tab-completion code-completion completion

6
推荐指数
1
解决办法
802
查看次数

Eclipse 枚举中的自动完成?

编辑:原来这是Eclipse 和枚举/数组初始值设定项的一个长期存在的错误,这真的很不幸。


在 Eclipse 中,我发现我无法访问枚举内部的任何类型的代码完成。这是一个 WIP,当然,我正在使用的代码片段。

enum PlayerState implements State<Player> {

NORMAL(){

    @Override
    public void enter(Player player){

    }

    @Override
    public void update(Player player){

    }

},

JUMP_START(){

    Timer jumpTimer = new Timer();
    public void enter(Player player){
        jumpTimer.set(1);
    }

    public void update(Player player){

    }

},

GLOBAL_STATE(){

    @Override
    public void update(Player player){
    }
};

@Override
public void enter(Player player) {
}

@Override
public void exit(Player player) {
}

@Override
public boolean onMessage(Player player, Telegram telegram) {
    return false;
} …
Run Code Online (Sandbox Code Playgroud)

java eclipse enums completion

5
推荐指数
0
解决办法
690
查看次数

处理调度策略时,完成时间和响应时间之间有什么区别

我一直在网上寻找一段时间,试图找到这两个术语的定义和例子,但我似乎无法得到一个直接的答案,我只是变得更加困惑.

有人可以向我解释一下这个区别.一篇好的描述性文章会有所帮助.

operating-system resource-scheduling execution-time response-time completion

5
推荐指数
1
解决办法
2万
查看次数

如何通过完成读取来返回值而不是键

(completing-read
 "Complete a foo: "
 '(("foobar1" "~/foobar1/") ("barfoo" "/usr/barfoo/") ("foobaz" "/hello/")))
Run Code Online (Sandbox Code Playgroud)

如上图所示,我想提示"foobar1","barfoo""foobaz"但得到的回报配对目录.

Moverover,如果我有这样的哈希表

(cl-defstruct person ID name)
(setq person-object (make-person :ID 123 :name "foo"))
(setq person-table (make-hash-table))
(pushash (person-ID person-object) person-object person-table)
Run Code Online (Sandbox Code Playgroud)

我如何提示输入此人姓名但获得人身份证明作为回报?

lisp emacs elisp completion

5
推荐指数
2
解决办法
457
查看次数

使用默认参数值声明协议功能

我希望此功能在协议中:

func slideToRight(currentViewController viewController: UIViewController, completion: ((Bool)->())? = nil) {
// do some stuff
}
Run Code Online (Sandbox Code Playgroud)

但是当我写这样的协议时:

protocol SomeDelegate { 
func slideToRight(currentViewController viewController: UIViewController, completion: ((Bool)->())? = nil) 
}
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

协议方法中不允许使用默认参数

我知道,我可以这样定义签名:

protocol SomeDelegate { 
func slideToRight(currentViewController viewController: UIViewController, completion: ((Bool)->())?) 
}
Run Code Online (Sandbox Code Playgroud)

但是然后,我将无法调用缺少“ completion”字样的函数:

slideToRight(currentViewController viewController: vc)
Run Code Online (Sandbox Code Playgroud)

callback optional swift completion swift-protocols

5
推荐指数
1
解决办法
2070
查看次数

Elasticsearch Completion Suggester 不会返回与输入匹配的搜索文档

我在使用 Elasticsearch 6.0 时遇到了一个奇怪的问题。

\n\n

我有一个具有以下映射的索引:

\n\n
{\n  "cities": {\n    "mappings": {\n      "cities": {\n        "properties": {\n          "city": {\n            "properties": {\n              "id": {\n                "type": "long"\n              },\n              "name": {\n                "properties": {\n                  "en": {\n                    "type": "text",\n                    "fields": {\n                      "keyword": {\n                        "type": "keyword",\n                        "ignore_above": 256\n                      }\n                    }\n                  },\n                  "it": {\n                    "type": "text",\n                    "fields": {\n                      "keyword": {\n                        "type": "keyword",\n                        "ignore_above": 256\n                      }\n                    }\n                  }\n                }\n              },\n              "slug": {\n                "properties": {\n                  "en": {\n                    "type": "text",\n                    "fields": {\n                      "keyword": {\n                        "type": "keyword",\n                        "ignore_above": 256\n                      }\n                    }\n                  },\n …
Run Code Online (Sandbox Code Playgroud)

elasticsearch completion

5
推荐指数
1
解决办法
634
查看次数

ZSH:子命令的完成别名,例如“compdef foo='git log'”

我有一堆工具可以将所有参数传递给内部调用,例如“git log”。一个简单的例子可能如下所示:

#!/usr/bin/env zsh
git log --since='1 year ago' "$@"
Run Code Online (Sandbox Code Playgroud)

我知道我可以通过执行以下操作来获得完成别名:

compdef myscript=grep
Run Code Online (Sandbox Code Playgroud)

但是,尚不清楚如何对 等子命令执行此操作git log。有没有办法做到这一点?

git zsh completion

5
推荐指数
1
解决办法
922
查看次数

git 高级别名补全

我的 .gitconfig 文件中有高级别名,我想支持制表符完成。

例如,这个简单的别名允许对 refs 进行 Tab 补全(假设已获取 git 补全):

[alias]
  co = checkout
Run Code Online (Sandbox Code Playgroud)

然而,这并不:

[alias]
  co = "!f() { git checkout \"${@}\"; }; f}"
Run Code Online (Sandbox Code Playgroud)

有什么方法可以为这些别名添加对制表符完成的支持吗?

git completion

5
推荐指数
1
解决办法
81
查看次数