Yasnippet isimleri için öneriler göstermek için Şirket'i edinin


13

Şirket modunu ve Yasnippet'i kullanıyorum. Bir arabellek yazarken, Şirketten otomatik tamamlama önerileri alıyorum.

Yasnippet için, parçacıkları içeren bir dizinim var. Bu dizinde örneğin dosyam var foo.yasnippet.

fooArabelleğe yazarken ve tuşuna Tabbastığımda, yasnippets için bir açılır menü alıyorum, hangi parçacığı ( fooveya foo-bar) eklemek istediğimi seçiyorum . Yasnippet'i fooŞirket tamamlanmasına entegre etmek istiyorum . Ben yazarken foo, o zaman ben Şirket tamamlama açılır pencerede pasajı görmek istiyorum.

Mümkün mü? Eğer öyleyse, bunu nasıl başarabilirim? Vim'de Neocomplete ve VimSnippets ile var. Etrafımda dolaştığımda, Elisp ile bu bağlantıyı buldum, ancak başımı nasıl uygulayacağımı saramadım .

Herhangi bir öneri?


1
Bu elisp (şirket ile birlikte) şirket için bir yasnippet "arka uç" dur. Yazarak okuyabilirsinizC-h f company-yasnippet RET
dadı

Yanıtlar:


29

Konfigürasyonumda aşağıdaki snippet var ve tam olarak istediğiniz gibi görünüyor:

;; Add yasnippet support for all company backends
;; https://github.com/syl20bnr/spacemacs/pull/179
(defvar company-mode/enable-yas t
  "Enable yasnippet for all backends.")

(defun company-mode/backend-with-yas (backend)
  (if (or (not company-mode/enable-yas) (and (listp backend) (member 'company-yasnippet backend)))
      backend
    (append (if (consp backend) backend (list backend))
            '(:with company-yasnippet))))

(setq company-backends (mapcar #'company-mode/backend-with-yas company-backends))

Temel olarak yasnippet arka ucunu etkinleştirdiğiniz diğer arka uçlarla kurar, böylece snippet'lerin yanı sıra karşılık gelen arka uç için doğru tamamlamayı elde edersiniz.


1
Bu konuda herhangi bir cevap almayı beklemiyordum, bu yüzden Patrick, bunun için gerçekten minnettarım. Bunun için teşekkürler!
ReneFroger
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.