Определите файлы под VC в Emacs Dired - PullRequest
1 голос
/ 27 июня 2019

С .emacs, содержащим:

(global-font-lock-mode t)
(setq font-lock-maximum-decoration t)

Я могу легко идентифицировать файлы из каталогов (не глядя на флаг 'd').

Я бы хотел идентифицировать файлы, которые находятся под контролем версий, из тех, которые не контролируются.

Проведя довольно много времени с режимами SVN и git Emacs, я пришел к выводу (возможно, поспешно), что они не готовы к прайм-тайму, или, по крайней мере, основные вещи остаются необходимыми для выполнения из командной строки (и поэтому это проще делать все из командной строки), но этот особенно противный.

Можете ли вы предложить облегченный способ различения файлов в VC? (или, если не легкий, предоставьте подходящий .emacs config?)

1 Ответ

1 голос
/ 27 июня 2019

Я думаю, diff-hl пакет может быть то, что вы ищете. Он помечает не только файлы, которые были изменены, но и файлы, которые не находятся под контролем VC (в каталоге, контролируемом VC).

Установите его как обычно (M-x package-install RET diff-hl), а затем в файле инициализации:

(global-diff-hl-mode)     ; enables diff-hl for all buffers
(diff-hl-flydiff-mode)    ; diff-hl marks changes on the fly
(add-hook 'dired-mode-hook 'diff-hl-dired-mode)  ; adds diff-hl for dired mode

Вам также нужно включить fringe-mode, чтобы оно работало, но я думаю, что Emacs поставляется с предустановленным. Вы можете использовать меню Options> Show/Hide> Fringe, чтобы проверить, не установлено ли значение fringe, кроме Нет .

О, и когда дело доходит до поддержки VC (по крайней мере, Git), я считаю magit удовлетворительным. Это слишком сложно для моих нужд (и я до сих пор не понял, как клонировать или инициировать репо, поэтому я использую dired и выполняю git init или clone на . - текущий каталог), но это реально и работает.

...