2017-12-19 15 views
0

私は現在emacs ESSを使用していますが、最近は2スペースインデントを使用する内部スタイルガイドを使用することに合意しました。私は.emacsファイルに以下を追加しました:Scoped 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

関連する問題