私はEmacsのユーザで、エディタの設定に関するスキルはありません。haskell-indentation-mode over haskell-indentation-modeを強制的にhaskell-mode 2.7で強制しますか?
- インデントは、私は非常に好きではない方法で、何とか異なるです:私はhaskell-mode 2.4から2.7にアップグレードした後、私は2つの変更を気づきました。私はそれが何であるかに私の指を置くことはできません。
- さらに重要なことに、キューモードを有効にしてテキストブロックを強調表示している場合、ではなく、ブロック全体を削除して、マーカーの前/次の文字だけを削除します。
私は、haskell-mode 2.7はマイナーモードのhaskell-indentation-modeをデフォルトで使用していますが、2.4の動作はhaskell-indent-modeの形で保存されています。最初に前者をオフにして後者にすると、必要な動作が復元されます(インデントが以前と同じように感じられ、後退/削除によってハイライトされたブロックが削除されます)。
ただし、拡張子が.hsのファイルを開くと自動的にこれを実行することはできません。私は
(remove-hook 'haskell-mode-hook 'turn-on-haskell-indentation-mode)
(add-hook 'haskell-mode-hook 'turn-on-haskell-indent-mode)
とそれの同類に似た様々なことを試してみたが、私はどちらかのインデントやドキュメントなしで標準モードでやプレーンHaskellのモードで終わります。
アイデア?
ソリューション(おかげでnominoloする):
(remove-hook 'haskell-mode-hook 'turn-on-haskell-indent)
(remove-hook 'haskell-mode-hook 'turn-on-haskell-indentation)
(add-hook 'haskell-mode-hook 'my-haskell-mode-hook)
(defun my-haskell-mode-hook()
(haskell-indentation-mode -1) ;; turn off, just to be sure
(haskell-indent-mode 1) ;; turn on indent-mode
)
偉大な答えです。これは私が以前持っていたランダムな 'add-hook'のパターンよりはるかに優れています。ありがとう! – acfoltzer
悲しいことに、これは私にとっては役に立たない。あなたが私の.emacsに与えたコードを追加しますが、.hs haskell-indentation-modeを開いても、まだオンです。 'M-x haskell-indentation-mode'を実行すると、期待通りにオフになります。 – gspr
@gspr:別のフックを実行している可能性があります。アクティブなフックを見るには 'C-h v haskell-mode-hook'を使います。また、実際には3つのインデントモードがあるようですので、別のモードをオフにする必要がありますか? – nominolo