2009-12-29 3 views
6

나는 Getting Emacs fill-paragraph to play nice with javadoc-like comments과 매우 비슷한 질문이 있지만, 1 년 된 스레드에서 많은 답을 얻을 수 있을지 확신하지 못했습니다.Doxygen으로 이맥스 C 모드 채우기 단락 Comments

/** 
* Description 
* 
* @param[in,out] var1 : <Long description that needs 
*      to be wrapped.> 
* @param[in,out] var2 : <Description2> 
*/ 

그러나 : 내가 이맥스에서 MQ를 사용할 때, 나는 다음과 같은 원하는 지금

/** 
* Description 
* 
* @param[in,out] var1 : <Long description that needs to be wrapped.> 
* @param[in,out] var2 : <Description2> 
*/ 

:

어쨌든, 나는 다음과 같이 몇 가지 Doxygen을 코멘트가 C 코드가 , 현재 나는 다음을 얻는다 :

/** 
* Description 
* 
* @param[in,out] var1 : <Long description that needs 
* to be wrapped.> @param[in,out] var2 : <Description2> 
*/ 

나는 약간의 연구를하고있다, 나는 parag emacs에서 raph-start 변수를 사용하여 "@param"을 인식하십시오. 스택 오버플로 (Getting Emacs fill-paragraph to play nice with javadoc-like comments)에 또 다른 질문이 있는데, 샘플 정규식이있었습니다. 필자는 필자의 요구 사항에 맞추기 위해 약간 수정했으며 Search> Regex Forward 내부에서 테스트를 수행하여 각 @param 문장을 올바르게 강조 표시했습니다.

나는 내 이맥스에서 파일 (추가 \ 's를 elisp 구문을 필요로) 내 단락 시작으로 지정된 정규 표현을 설정 시도, "^\s-*\*\s-*\(@param\).*$"

그래서 다음과 같은 정규 표현식을 사용했다. 새로운 이맥스 창을 열고 M-q를 시도했을 때 같은 오류가 발생했습니다. 제가 누락 된 것이 있습니까? M-q는 C 모드에서 다르게 사용됩니까? .emacs 파일에서 오류를 일으킬 수있는 사항을 확인해야합니까? 어떤 도움을 주시면 감사하겠습니다.

덕분에, 당신의 질문에 대해서는 라이언

답변

3

, describe-key (C-H k를 결합) 당신의 친구는 "C 모드?에서 다르게 사용되는 M-Q입니다." C 파일을 사용하여 버퍼를 방문하는 동안 C-h k M-q를 입력하면 정확히 어떤 함수 M-q가 연결되는지 알려줍니다. 이 경우 c-fill-paragraph이며 궁극적으로 다른 질문에서 발견 한 변수 인 paragraph-start을 사용합니다. 당신이 원하는대로

"^[ ]*\\(//+\\|\\**\\)[ ]*\\([ ]*$\\|@param\\)\\|^\f"

그러나,이 wrappedlines을 들여되지 않습니다

나는 paragraph-start으로 사용이 정규 표현식은 라인을 마무리하고 새로운 단락으로 각 @param을 치료하는 것을 발견했다. 귀하의 예를 다음과 같이 보일 것입니다 :

/** 
* Description 
* 
* @param[in,out] var1 : <Long description that needs 
* to be wrapped.> 
* @param[in,out] var2 : <Description2> 
*/ 

나는 그것이 당신을 위해 더 잘 작동되기를 바랍니다. 들여 쓰기를 알아 내면 알려줘.

+0

내 .emacs 파일에서 언급 한 정규 표현식을 추가하려고했지만 새로운 단락으로 인식되지 않는 두 번째 @param과 동일한 문제가 여전히 발생합니다. 단락 상태를 수정해도 들여 쓰기 문제가 해결되지는 않지만 이것이 시작하는 데 매우 도움이된다는 것을 알고 있습니다.). 초기 게시물을 작성한 후에, 나는 그것이 실제로 두 부분으로 된 질문이라는 것을 알아야만한다는 것을 깨달았습니다. 1) @param을 새로운 단락으로 인식하십시오. 2) 설명을 들여 씁니다. – DuneBug

+0

이 파일로 버퍼에있을 때,'C-h v 단락 시작 '은 무엇을 반환합니까? 위 정규식이 아니라면 전역으로 설정했을 수 있으며 c 모드로 덮어 쓸 수 있습니다. 이 경우 C 모드 훅으로 설정할 수 있습니다. – Neil