GNUインデントにより長いコメントが中断されるようにする

GNUインデントにより長いコメントが中断されるようにする

長いコメントを中断し、複数行コメントに変更するようにGNUインデントを説得する方法はありますか?このような:

// Very long comment, longer than 80 characters. Just imagine that.

これに関して:

/*
 * Very long comment, longer than 80 characters. Just
 * imagine that.
 */

2番目の形式の形式は "-cdb -sc"を使用して簡単に行うことができますが、改行とコメントの種類が変更されているかどうかを確認する方法がわかりません。可能ですか?

ベストアンサー1

sed -i '\_//_{s_//_/* _g;s_$_ */_g}' file.c
indent -fc1 -fca -sc -cdb file.c
sed -i 's/\/\*\(.*\)\*\/$/\/\/\1/' file.c

要求どおりに実行されますが、いくつかの極端なケースを見逃す可能性があるので注意してください。

入力する:

// Lorem ipsum dolor sit amet, apeirian constituam interpretaris no his, soluta salutandi persequeris vel ne, facete impedit contentiones te eam. Ut utamur habemus qualisque usu
#include <stdio.h>
int main () // damn
{
  puts ("hello world" /* sheeet */); }              /* oh shit */

出力:

/*
 * Lorem ipsum dolor sit amet, apeirian constituam interpretaris no his,
 * soluta salutandi persequeris vel ne, facete impedit contentiones te eam.
 * Ut utamur habemus qualisque usu
 */
#include <stdio.h>
int
main ()             // damn
{
  puts ("hello world" /* sheeet */ );
}               // oh shit

おすすめ記事