GNU 들여쓰기로 인해 긴 주석이 중단되도록 만들기

GNU 들여쓰기로 인해 긴 주석이 중단되도록 만들기

긴 주석을 중단하고 여러 줄 주석으로 변경하도록 GNU 들여쓰기를 설득할 수 있는 방법이 있습니까? 이 같은:

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

이와 관련하여:

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

두 번째 형식의 형식은 "-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

답변2

-fc1어떤 이유로든 필요 하고 옵션이 작동하도록 했습니다 -fca.

indent -fc1 -fca j.c

또는 Berkeley 스타일을 사용할 수 있습니다.

indent -orig j.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(){puts("hello world");}

산출:

// 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 ()
{
  puts ("hello world");
}

관련 정보