2017-12-19 3 views
0

현재 저는 emacs ESS를 사용하고 있으며 최근에는 2 개의 들여 쓰기를 사용하는 내부 스타일 가이드를 사용하기로 동의했습니다. .emacs 파일에 다음을 추가했습니다.범위가 지정된 R 함수에 대한 Emacs ESS 들여 쓰기

(defun myindent-ess-hook() 
    (setq ess-indent-level 2) 
) 
(add-hook 'ess-mode-hook 'myindent-ess-hook) 

모든 것이 잘 진행되고 있습니다. 새로운 함수를 정의 할 때, 2 칸을 들여 쓰는 것이 좋을 것입니다. 내가 함수를 호출하고 여러 줄 위에 전화를 깰 때 또한, 간격도 잘 2 공백으로 들여 쓰기 :

x <- function(){ 
    mean(
    c(2,3) 
)  
} 

그러나, 나는 범위 ::와 평균 기능, 들여 쓰기가 엉망이됩니다 경우 :

(defun myindent-ess-hook() 
    (setq ess-indent-level 2) 
    (setq ess-nuke-trailing-whitespace t) 
) 
(add-hook 'ess-mode-hook 'myindent-ess-hook) 

문제가 지속 - 사람이 있습니다

x <- function(){ 
    base::mean(
      c(2,3) 
     ) 
} 

내 생각 엔이 후행 공백 함께 할 수있는 뭔가를했지만, 심지어 통해 후행 공백을 누킹 후에이었다 전에이 문제가 발생 했습니까?

답변

0

어둠 속에서 찌르다가 게시 된 예제에서 작동하지만 다른 상황에서는 효과를 싫어할 수도 있습니다. ess-offset-arguments-newline (기본값 : prev-call)에 describe-variable을 자세한 옵션, 시도 : 나를 위해

(defun myindent-ess-hook() 
    (setq ess-indent-level 2) 
    (setq ess-offset-arguments-newline '(prev-line 2)) 
) 
(add-hook 'ess-mode-hook 'myindent-ess-hook) 
+0

작품 - 나는 실제로 언급에 부작용 중 하나를 발견하지 않았습니다. – rlh2

관련 문제