1
Q
インデント
A
答えて
0
実行C-h f d-mode
となります。d-mode is an interactive autoloaded compiled Lisp function in 'd-mode.el'.
となります。d-mode.el
リンクに従います。
そのファイルの「インデント」を検索すると、cc-mode
に定義されているものだけが使用されているように見えます。
C-h v indent-line-function
これは、彼らはただc-indent-line
を使用しなかった示しています。あなたは、彼らがDモードのバッファでこれを実行することにより、使用機能を調べることができます。おそらくこれを修正する方法は、この1つのケースを検出しようとすることです。それ以外の場合はc-indent-line
に置き換えてください。このようなもの(テストされていないコード、説明目的のみ):
(defun d-indent-line()
(let* ((auto-if-curly
(save-excursion
(back-to-indentation
(when (looking-at "{")
(forward-line -1)
(back-to-indentation
(when (looking-at "if")
(forward-line -1)
(back-to-indentation
(looking-at "auto")))))))))
(if auto-if-curly
(ident-line-to 0)
(c-ident-line))))
(add-hook d-mode-hook (lambda() (setq-local indent-line-function 'd-indent-line)))
関連する問題
- 1. Emacsインデント/インデント解除現在の行
- 2. オンライン2,3,4スペースのインデント、Rubyコードのインデント
- 3. Emacsインデント
- 4. JTextPaneインデント
- 5. インデントは
- 6. XMLStreamWriter:インデント
- 7. インデント2017.1
- 8. Eslintインデント
- 9. WebStormインデント
- 10. PHPのJSONインデント
- 11. Pythonインデントborked
- 12. JAXB Marshallerインデント
- 13. インデントSASプログラムコード
- 14. VS2015インデント内線
- 15. YAMLインデントOpenCV
- 16. Eclipse継続インデント
- 17. Pythonのインデント
- 18. EclipseインデントPHP
- 19. のIntelliJ - インデント
- 20. アンドロイド:XmlSerializerをインデント
- 21. EmacsのEclipseインデント
- 22. C#Tabify /インデントHTML
- 23. ビジュアルスタジオコード変更インデント
- 24. Python GUIのインデント
- 25. Haskellのインデント
- 26. Pythonのインデント
- 27. PhpStormコードフォーマッタとインデント
- 28. サイドバーの境界インデント
- 29. Codelite 9.2インデント設定
- 30. #システムのインデント出力