.spacemacs
に下記の記述をした場合
(setq-default dotspacemacs-configuration-layers
'((auto-completion :variables
auto-completion-enable-snippets-in-popup t)))
emacs-lisp-modeではYasnippetsのコードが補完候補に現れるが、racket-modeでは補完候補に現れなかった。
仮説
packages.el
で呼ぶべきspacemacs|add-company-backends
をracket-modeでは呼び出していない?
たとえばemacs-lispでは下記の箇所でマクロ呼び出しを行っている。
https://github.com/syl20bnr/spacemacs/blob/develop/layers/%2Blang/emacs-lisp/packages.el#L80-L81
解決法
.spacemacsの user-config セクションで明示的にマクロを呼び出すように設定を行った。
(defun dotspacemacs/user-config ()
(with-eval-after-load 'racket-mode
(spacemacs|add-company-backends :backends company-capf
:modes racket-mode))
)
M-x describe-variable
で company-backends
の値は下記のようになった
Value:
((company-capf . #1=(:with company-yasnippet))
(company-semantic company-dabbrev-code company-gtags company-etags company-keywords . #1#)
(company-files . #1#)
(company-dabbrev . #1#))