Git - Цветные слова, исключая {} - PullRequest
9 голосов
/ 13 декабря 2011

Я использую git с --color-words для просмотра моего diff. В моем diff это показывает, что я удалил

<b>{{ljcount}}</b>&nbsp;&nbsp;&nbsp;Changes

И что я добавил:

<b>{{skills_limits}}</b>&nbsp;&nbsp;&nbsp;Changes

Это больше, чем хотелось бы (я хочу, чтобы граница слова была в {}). Я попытался поиграть с --word-diff-regex, но не смог найти регулярное выражение, чтобы оно работало. Как мне достичь этого результата?

Ответы [ 2 ]

13 голосов
/ 13 декабря 2011

С git help diff:

   --word-diff-regex=<regex>
       Use <regex> to decide what a word is, instead of considering runs of non-whitespace to be a word. Also implies
       --word-diff unless it was already enabled.

Следующее выражение сделает слово любой строкой символов и подчеркиванием или любым непробельным символом.

$ git diff --color-words --word-diff-regex='\\w+|[^[:space:]]'
4 голосов
/ 05 августа 2016

Поскольку вы уже используете --color-words, вам не нужно указывать --word-diff-regex отдельно, первый вариант принимает регулярное выражение:

--color-words[=<regex>]

Эквивалент --word-diff=color плюс --word-diff-regex=<regex> (если задано регулярное выражение).

Особенно хорошо для меня работает регулярное выражение:

$ git diff --color-words='\w+|.'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...