Düzenleyiciyi yapılandırma konusunda yetenekleri olmayan bir Emacs kullanıcısıyım.Haskell-modu 2.7'de haskell-indent-mode overkell-indentation-mode üzerinde zorlama mı?
- Girinti oldukça sevmiyorum bir bakıma, her nasılsa farklı: Ben 2.7'ye haskell-mode 2.4 yükseltme sonra iki değişiklik fark ettik. Parmağımı ne olduğu üzerine koyamıyorum.
- Daha da önemlisi: Cua modu etkinleştirilmiş ve bir metin bloğunu vurguladığımda, geri silme/silme değil tüm bloğu, işaretçimden önceki/sonraki karakteri siler.
Haskell kipinin 2.7 varsayılan olarak kük modda kestirme girinti kipini kullandığını görüyorum, 2.4'in davranışı haskell-indent-kipi biçiminde korunmuştur. İlkini ilk olarak kapatırsam ve daha sonra, ikinci durumda, istediğim davranış geri yüklenir (yani, girinti önceki gibi görünür ve geri al/vurgula vurgulanan blokları siler).
Ancak, bir .hs son eki içeren bir dosyayı açtığımda bunu otomatik olarak gerçekleştiremiyorum. Çeşitli
(remove-hook 'haskell-mode-hook 'turn-on-haskell-indentation-mode)
(add-hook 'haskell-mode-hook 'turn-on-haskell-indent-mode)
benzeyen şeyler ve bunun gibileri denedim, ama ben de standart modda veya girinti ve doc olmadan düz haskell-mod ile bitirmek.
Herhangi bir fikrin var mı?
Çözüm (teşekkürler nominolo için):
(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
;; further customisations go here. For example:
(setq locale-coding-system 'utf-8)
(flyspell-prog-mode) ;; spell-checking in comments and strings
;; etc.
)
Ayrıca orada bir anonim işlev sopa olabilir:
(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
)
Harika cevap; Bu, daha önce sahip olduğum rastgele 'add-hook'un modelinden çok daha iyi. Teşekkürler! – acfoltzer
Ne yazık ki, bu bana yardımcı olmaz. Verdiğim kodu .emacs'e ekliyorum, ama açtığımda bir .hs haskell-indentation-mode hala devam ediyor. 'M-x haskell-indentation-mode' çalmak, beklendiği gibi kapatır. – gspr
@gspr: Ardından başka bir çengeliniz olabilir. Aktif kancaları görmek için 'C-h v haskell-mode-hook'unu kullanın. Alternatif olarak, aslında üç girinti modu var gibi görünüyor, bu yüzden belki başka bir modu kapatmak gerekiyor? – nominolo