Стиль завершения переупорядочения слов в Emacs - PullRequest
2 голосов
/ 23 сентября 2011

Мне не хватает одной части в уже великолепно уникальной системе Emacs системы (completion-styles и completion-styles-alist), а именно word и переупорядочение подслов а ля гугл поиск.

Например, file-write должен завершиться до write-file, если ни один другой стиль не найдет завершение. Слово - например, разделительные символы могут быть сопоставлены с помощью регулярного выражения "\\s_".

Еще круче и более общий будет, если применить Дамерау-Левенштейна Изменить расстояние (D) до слов вместо букв. Кандидаты на завершение могут быть отсортированы по возрастающему расстоянию D, что означает первое совпадение.

Мой план довольно ясен о том, как это реализовать, и реализация D уже существует. Я все равно спрашиваю, чтобы не изобретать велосипед в другой раз:

Кто-нибудь уже реализовал такой стиль завершения?

1 Ответ

1 голос
/ 26 сентября 2011

за -

Вы не можете делать то, что хотите, с ванильным Emacs (ну, вы можете использовать Lisp для кодирования всего, что вам нужно - но вы не можете делать то, что хотите, не из коробки).

Сосульки дает вам именно то, что вы хотите. Он называется « прогрессивное завершение », и идея аналогична использованию конвейера grep команд.

Вы также можете использовать LevenShtein , сопоставляя для завершения с Сосульки , и комбинировать это с прогрессивным завершением, чтобы соответствовать словам в любом порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...