rubocopのチェック結果をpecoで選択して、vimで該当行にジャンプした状態で開く
下記関数を.bashrcなりに追加して、virc <ソースDIR>
すれば(出力フォーマットをカスタマイズしていなければ)コードのpathと行番号が出力されている部分を選択すると、その行をvimで開くことが出来る
# rubocopの結果をvimで開く
function virc {
DIR="$1"
F=$(rubocop ${DIR} | peco | awk -F ":" '{print "-c "$2" "$1}')
if [ $? -eq 0 -a "${F}" != "" ]
then
eval "vi ${F}"
fi
}
lhmのソースでの実行例
QUERY> IgnoreCase [239 (1/5)]
Inspecting 17 files
.CW.CC.CCC.CCC...
Offenses:
lib/lhm/atomic_switcher.rb:38:27: C: Space inside string interpolation detected. # この行を選択
"rename table `#{ @origin.name }` to `#{ @migration.archive_name }`, " \
^^^^^^^^^^^^
lib/lhm/atomic_switcher.rb:38:50: C: Space inside string interpolation detected.
"rename table `#{ @origin.name }` to `#{ @migration.archive_name }`, " \
^^^^^^^^^^^^^^^^^^^^^^^
lib/lhm/atomic_switcher.rb:39:14: C: Space inside string interpolation detected.
"`#{ @destination.name }` to `#{ @origin.name }`"
^^^^^^^^^^^^^^^^^
lib/lhm/atomic_switcher.rb:39:42: C: Space inside string interpolation detected.
"`#{ @destination.name }` to `#{ @origin.name }`"
^^^^^^^^^^^^
lib/lhm/atomic_switcher.rb:46:20: C: Space inside string interpolation detected.
error "`#{ @origin.name }` and `#{ @destination.name }` must exist"
^^^^^^^^^^^^
lib/lhm/atomic_switcher.rb:46:44: C: Space inside string interpolation detected.
error "`#{ @origin.name }` and `#{ @destination.name }` must exist"
^^^^^^^^^^^^^^^^^
lib/lhm/atomic_switcher.rb:53:7: C: Redundant begin block detected.
begin
^^^^^
:
:
atomic_switcher.rb
22 def initialize(migration, connection = nil)
23 @migration = migration
24 @connection = connection
25 @origin = migration.origin
26 @destination = migration.destination
27 @retries = 0
28 @max_retries = MAX_RETRIES
29 @retry_sleep_time = RETRY_SLEEP_TIME
30 end
31
32 def statements
33 atomic_switch
34 end
35
36 def atomic_switch
37 [
38 "rename table `#{ @origin.name }` to `#{ #@migration.archive_name }`, " \ # この行が選択された状態で開く
39 "`#{ @destination.name }` to `#{ @origin.name }`"
40 ]
41 end
42
43 def validate
44 unless @connection.table_exists?(@origin.name) &&
45 @connection.table_exists?(@destination.name)
46 error "`#{ @origin.name }` and `#{ @destination.name }` must exist"
47 end
48 end
Author And Source
この問題について(rubocopのチェック結果をpecoで選択して、vimで該当行にジャンプした状態で開く), 我々は、より多くの情報をここで見つけました https://qiita.com/jpshadowapps/items/290af5e417ad8f1026eb著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .