問題タブ [perl-tidy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
perl - PerlTidy が割り当てを整列させないようにしながら、単一のスペースを追加し続けるにはどうすればよいですか?
PerlTidy が割り当てを整列させないようにしながら、単一のスペースを追加し続けるにはどうすればよいですか?
この質問は、PerlTidy が自分の割り当てを整列させないようにするにはどうすればよいですか? に似ています。しかし、指示された場所に単一のスペースを追加したいと思います。この-naws
スイッチが原因で、私には機能しません。複数のスペースを挿入したくないだけです。perltidy やその他のツールで可能ですか?
Perl のきちんとした変更:
の中へ
-naws を使用すると、変更されません。
このコードを次のようにフォーマットしたいと思います。
svn - PerlTidyを使用してSubversionPerlリポジトリを処理しますか?
正しくフォーマットされていないPerlコードを含む既存のSubversionリポジトリをクリーンアップしたいと思います。かなり古いコードとの比較が必要かどうかわからないので、理想的にはすべてのリビジョンで同じフォーマットを使用したいと思います。
一方、すべての古いリビジョンをチェックアウトして新しいリポジトリを作成し、perltidyで再フォーマットしてチェックインすると、元のログメッセージを保持する必要があります。
それを行うためのツール/レシピはありますか?
perl - 空白をそのままにしておくよう Perltid を説得する
Perltidyを使用して、いくつかの古い Perl ファイルを現在の好みに近いスタイルに再フォーマットしています。このスニペットで問題が発生しました:
Perltidyは、トークンの後のスペースを削除することを主張しているため、次のようになります。&
...私の意見では、これは目障りです。Perltid にその単一のスペースを放っておいてもらうにはどうすればよいですか? オプションを試して-fws
も無駄でした。
Perltidy 20101217 を使用していますが、これは明らかに最新バージョンです。
編集:
いくつかの追加の観察:
--indent-only
( ) オプションを使用して-io
も、前述のスペースは削除されません。次の同等のスニペットは、この問題の影響を受けません。
/li>
編集2:
&
当面は Perltidy の問題を回避できるように思われるため、演算子の引数の順序を逆にすることになりました。さらに、このアプローチでは、Perltidy が The Right Thing を実行するのに役立つ余分な括弧やその他のトークンを追加する必要はありませんが、長い目で見れば確かに混乱するでしょう。
アップデート:
この問題について、Perltidy の作成者である Steve Hancock に問い合わせました。彼の応答から:
私がチェックしたところ、問題は & がこの場合、関数呼び出しの印として誤ってトークン化されていることです。基本的な問題は、perltidy が他のモジュール (ビルトインであっても) のプロトタイプを見ないことです。つまり、これが関数呼び出しなのか定数なのかがわからず、推測する必要があります。順序を逆にすると、& のあいまいさがなくなりました。
ご指摘ありがとうございます。これを修正するパッチを作成できるかどうかを確認します。
perl - Perltid Unalign 代入演算子 (= および =>)
によって以前にフォーマットされたコードがありますperltidy
。割り当て演算子が配置されています。perltidy
代入演算子の整列を解除するにはどうすればよいですか。私はマニュアルを隅々まで読み、試行錯誤を繰り返してきました。これが私の現在の引数リストです:
-i=2 -nt -bt=2 -bbvt=0 -dws -asc -dsm -vt=2 -pt=2 -nwls='= =>' -wls='= =>' -sak='if elsif for while unless'
つまり、 or演算子-nwls='= =>' -wls='= =>'
の左側にあるすべての空白を削除しますが、左側にスペースを 1 つ追加します。私が本当に必要としているのは、 の周りの空白を削除するために 2 回実行するスクリプトを作成してから、もう一度追加することだと考えています。=
=>
perltidy
=
perl - Perlソースコードをフォーマットするときにハッシュエントリをキーでソートするにはどうすればよいですか?
perltidyを見ると、そのようなオプションはありません。これを行うツールはありますか?
perl - Perl::Tidy で先頭のコメントの空白を削除するには?
好みに合わせて Perl::Tidy を設定しているだけです。修正が見つからない問題が 1 つだけ残っています。
サンプル スクリプト:
perltidirc:
結果:
ご覧のとおり、先頭にスペースがあるため、「#」が 4 番目のタブと一致しません。
この先頭のスペースを削除するには?
perl - perltid フォーマットが複雑な場合
次のような長い if ステートメントをフォーマットするように perltid を設定するにはどうすればよいですか:
またはこのように
Edit1: perltidyrc
Edit2: アイデアは、最初の行(
と最後の行の後に改行)
を入れること{
です。これが不可能な場合は、より良い書式設定のための他の提案をいただければ幸いです。
emacs - Emacs での perltidy-mode 自動実行
ロード中のperltidy-mode.el Lisp ファイルがありますM-x perltidy-mode
。
ファイルが開かれた後 (または emacs がロードされた後) に自動的に実行する適切な方法は何でしょうか?
動作しないようです。
Lisp/emacs をたくさん忘れてしまったようです
perl - vimでマップコマンドを有効にする方法は?
ファイルタイプが「perl」の場合にのみマップコマンドを有効にする方法は?
何かのようなもの:
しかし、うまくいきません。
perl - perltidy による svn diff
Subversion の作業コピーで diff を探す前に、perltidy を実行したいと考えています。svn config で私は書いた:
David W がこの回答で言ったようにhttps://stackoverflow.com/a/5834900/1927848私はスクリプト /usr/bin/d.sh を作成します:
そして、作業コピーでsvn diffを作成すると、いくつかのエラーが発生しました:
私のエラーはどこですか?
UPD: $1 と $2 はファイル名ではなく、 $6 と $7 にはファイル名が含まれています。池上コメントのおかげで、コードにいくつかの変更を加えました
しかし今、スクリプトは最初の perltidy コマンドを実行して待機するだけです...何が問題なのですか?
UPD2: 動作する perl スクリプト: