Gdy nie ma obsługi konkretnego języka, można użyć znaczników . Jest to ogólny mechanizm zakończenia.
wygenerować plik TAGS
, który zawiera listę identyfikatorów i gdzie są one zdefiniowane. Emacs jest dostarczany z programem etags
, który robi to w wielu językach, ale nie Haskell; ghc pochodzi z hasktags
.
Załaduj plik TAGS
za pomocą .
Tagi nie są zależne od kontekstu, więc będą bezkrytycznie sugerować rodzaju, wartości, konstruktorów itp wszędzie. Nie będą również udostępniać zaawansowanych funkcji, takich jak łatwe pokazywanie typu wartości. Najważniejsze polecenia Tagi są:
M-TAB
(complete-symbol
) uzupełnia identyfikator zgodnie z załadowanym listy tagów.
M-.
(find-tag
) przechodzi do miejsca, w którym zdefiniowano identyfikator w punkcie, w razie potrzeby otwierając plik zawierający.
M-*
(pop-tag-mark
) wraca tam, gdzie byłeś przed M-.
.
M-x tags-apropos
wyświetla listę identyfikatorów pasujących do wyrażenia regularnego.
Aby uzyskać więcej informacji, zapoznaj się z częścią "Tagi" w podręczniku Emacs.
Dla jeszcze cruder, ale w pełni automatyczny mechanizm istnieje dynamiczny skrót cecha. C-M-/
(dabbrev-completion
) wygląda w najbardziej otwartych buforach zakończenia; jest to całkowicie niezależne od języka, więc znajdzie nawet słowa w napisach, komentarzach, cokolwiek. M-/
(dabbrev-expand
) jest podobna, ale bezpośrednio kończy się do najbliższego meczu przed punktem.
Czy wiesz, jak postępy prac nad CEDET dla Haskella? –