Emacs PHP için ilk girinti düzeyini ayarlama?

3 Cevap php

Ben genellikle ilk <?php sonra girinti bir seviye ile benim PHP kodu, ama php-mode ile Emacs bunun için bir ayar bulmakta sorun yaşıyorum.

Açık olmak gerekirse, burada Emacs yapıyor ne:

<?php
echo "Hello.";

if (something)
    do_something();

Ve burada nasıl Genellikle kodu:

<?php
    echo "Hello.";

    if (something)
        do_something();

(Düz CVS) Emacs versiyonu 23, php-mode 1.5.0.

3 Cevap

Bir çözüm buldu, sanırım:

(c-set-offset 'topmost-intro 4)
(c-set-offset 'cpp-macro -4)

Çalışıyor gibi görünüyor. topmost-intro her şeyi ayarlar, ve bildiğim kadarıyla söyleyebilirim cpp-macro sadece <?php etiketleri ayarlar.

Cevap götürdü ipucu için cheeso teşekkürler.

Ben bir php-modu yok, ancak c-modlarında, Mx, c-set-ofset yardımcı olabilir. - Eğer bir sözdizimsel öğesi için ofset özelleştirmek için izin verirsiniz ve mevcut hattı ne için kullanıldığını elemanı gösterir.

php-mode c-mode türemiştir, bu yüzden tüm ihtiyacınız olduğunu düşünüyorum:

(setq-default indent-tabs-mode nil)
(setq standard-indent 2)
(setq default-tab-width 2)
(add-hook 'c-mode-common-hook
  #'(lambda ()
    (setq c-basic-offset tab-width)))

Size ne demek değilse, belki tab-stop-list arıyorsun?