新しいバッファで開くコマンド出力
選択したクエリを情報ウィンドウで開くように調整しました.私がポストの底で言及したように、単純なアプローチの上にこの問題に関するいくつかの問題があります.
今日、クエリ出力を独自のスクラッチバッファに移動することでプラグインを調整します.追加ボーナスとして、私はプラグインを一般化する任意の外部コマンドではなく、データベースだけで動作するようになります.
まず、プラグインを確認しましょう.
次に、eval query outputという新しいスクラッチバッファを開き、そこにレジスタの内容を貼り付けます.これはとても簡単です.
そして、それ!以下のアクションで参照してください.
クエリを実行するためのメカニズムはとても一般的ですので、このプラグインは、簡単にクエリの結果に制限されていない新しいバッファーで何かを開くために使用することができます.単に名前変更することによって
空想を加えましょう
最後に、私たちは
我々が基本的に今持っているものは
更なる改良はもちろんそこにあります、しかし、今のところ、私はこれをここで去ります.読書ありがとう!
今日、クエリ出力を独自のスクラッチバッファに移動することでプラグインを調整します.追加ボーナスとして、私はプラグインを一般化する任意の外部コマンドではなく、データベースだけで動作するようになります.
まず、プラグインを確認しましょう.
def eval-query \
-override \
-docstring "Evaluate current selection using given connection." \
-params 1 \
-shell-script-candidates %{
cat .eval-query.json \
| jq -r '.connections|keys|@sh' \
| sed s/\'//g \
| tr -s " " "\n"
} \
%{
info -title "Query output" %sh{
psql `cat .eval-query.json | jq .connections.$1 | cut -d\" -f 2` \
-c "${kak_selection}" 2>&1
}
}
ここの顕著な情報はinfo
コマンド.情報ダイアログをポップアップするのではなく、出力をキャプチャして|
使用登録set-register
. 以下は修正コマンド本体です.set-register | %sh{
cmd=`cat .eval-query.json | jq .connections.$1 | cut -d\" -f 2`
eval "$cmd "${kak_selection}" 2>&1"
}
我々は|
レジスタ:doc registers
部分シェルを生成するコマンドによって使用されるべきであると述べます.私は100 %のコーシャであるかどうかわからないので、あなたがよりよく知っているならば、コメントを残してください!次に、eval query outputという新しいスクラッチバッファを開き、そこにレジスタの内容を貼り付けます.これはとても簡単です.
edit -scratch *eval-query-output*
exec 'geA<ret><esc>"|p;'
The edit
コマンドはよく知られているそれはちょうど新しいバッファを開きます.-scratch
Cachouneに、我々はそれをファイルでリンクすることを気にしないと言います.最後に、私たちはexecute-keys
( exec
ファイルの最後に移動し、新しい行を追加し、|
レジスタ.そして、それ!以下のアクションで参照してください.
クエリを実行するためのメカニズムはとても一般的ですので、このプラグインは、簡単にクエリの結果に制限されていない新しいバッファーで何かを開くために使用することができます.単に名前変更することによって
connections
to commands
そして、設定ファイルを更新しました.beval
“バッファeval”の場合、可能性は無限になる!空想を加えましょう
ls
新しいバッファでディレクトリリストを開くことができるコマンド{
"commands": {
"ls": "ls -lah"
}
}
最後に、私たちは
eval
任意のコマンドを実行するキー{
"commands": {
"eval": "eval"
}
}
我々が基本的に今持っているものは
|
ステロイド(そして、よりよく設計されません).のは、スタンドアロンのこととしては、スタンドアロンのものとして“パイプにバッファ機能”を分割するリファクタ.def eval-to-buffer \
-override \
-docstring "Evaluate current selection into scratch buffer." \
-params 1..1000 \
%{
set-register | %sh{ eval "$@ 2>&1" }
# Open our output buffer
edit -scratch *command-output*
# Put output into the buffer
exec '%"|pd'
}
def beval \
-override \
-docstring "Evaluate current selection using named command into scratch buffer." \
-params 1 \
-shell-script-candidates %{ cat .beval.json | jq -r '.commands|keys|@sh' | sed s/\'//g | tr -s " " "\n" } \
%{
eval-to-buffer %sh{
cmd=`cat .beval.json | jq .commands.$1 | cut -d\" -f 2`
echo "$cmd \"${kak_selection}\""
}
}
現在、私たちのプロジェクト特有の構成はパイピング出力のための我々のメカニズムからバッファに独立しています.更なる改良はもちろんそこにあります、しかし、今のところ、私はこれをここで去ります.読書ありがとう!
Reference
この問題について(新しいバッファで開くコマンド出力), 我々は、より多くの情報をここで見つけました https://dev.to/staab/open-output-in-a-new-buffer-2dakテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol