Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nyagos.bindkey で定義した関数内でプロンプトを再度表示する方法はないでしょうか #117

Closed
hisomura opened this issue Mar 12, 2016 · 4 comments
Assignees
Labels

Comments

@hisomura
Copy link

nyagos.bindkey("C_R",
    function(this)
        local path = nyagos.getenv("APPDATA") .. '\\NYAOS_ORG\\nyagos.history'
        return = nyagos.eval('type ' .. path .. ' | peco')
    end
    )

上記のようなコードで peco を使ってhistoryからコマンド履歴を持ってこようとしたところ、
peco を 実行したためかプロンプトが消えてしまいました。
何か良い解決方法は無いでしょうか。

@hymkor hymkor self-assigned this Mar 13, 2016
@hymkor
Copy link
Collaborator

hymkor commented Mar 13, 2016

ずばり、プロンプトを表示する関数があります。

nyagos.bindkey("C_R",
    function(this)
        local path = nyagos.getenv("APPDATA") .. '\\NYAOS_ORG\\nyagos.history'
        local result = nyagos.eval('type ' .. path .. ' | peco')
        nyagos.prompt(nyagos.getenv("PROMPT"))
        return result
    end)

いかがでしょうか?

本来は nyagos.prompt はプロンプトの内容を改変するフックですが、初期値では実際に表示する関数が入っておりますので、こういう使い方もありです。

@hymkor
Copy link
Collaborator

hymkor commented Mar 13, 2016

画面の再表示コマンドもありました。こちらの方がいいかもしれません

nyagos.bindkey("C_R",
    function(this)
        local path = nyagos.getenv("APPDATA") .. '\\NYAOS_ORG\\nyagos.history'
        local result = nyagos.eval('type ' .. path .. ' | peco')
        this:call("CLEAR_SCREEN")
        return result
    end)

@hisomura
Copy link
Author

うまくいきました。
ありがとうございます!

全部マニュアルに書いてあることですね…。
お手間を取らせてしまってすみませんでした。

@hymkor
Copy link
Collaborator

hymkor commented Mar 13, 2016

いえいえ、CLEAR_SCREEN も、nyagos.prompt も、マニュアルでは形式程度でしか書いてませんでしたので、これで分かれというのは無茶な話でした。すみません。

それに、peco を使って、インクリメンタルサーチを実現するって、自分には予想もつかない、すごいアイデアでした。これは全ユーザで共有すべきノウハウだと思いますので、issue を出していただけたのはよい機会でした。ありがとうございます。

今後ともよろしくお願いいたします。

hymkor added a commit that referenced this issue Mar 13, 2016
We got a nice idea for incremental-search using peco on nyagos
( #117 )
( https://github.com/peco/peco )
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants