J'ai fait des recherches.
La configuration core.whitespace
n'a rien à voir avec la façon dont les onglets sont affichés. Il est uniquement utilisé pour que git reconnaisse les erreurs d'espaces liés aux onglets. Par exemple: lorsque indent-with-non-tab
est activé, et core.whitespace
est défini sur tabwidth=4
, et qu'une ligne est indentée en utilisant 4 espaces ou plus, alors git signalera une erreur.
Pour git, à part les fonctionnalités de détection d'erreurs d'espaces blancs liées aux onglets, un caractère de tabulation est un caractère comme tout autre caractère. Il est comparé et exporté vers n'importe quel outil utilisé pour afficher les caractères. Cela signifie que pour configurer la largeur de tabulation affichée, vous devez configurer les "frontaux" de git. Dans ce cas, git diff
ce serait «moins» (l'outil Unix «moins»). Dans ce cas, git gui
ce serait git-gui lui-même.
Configurer moins est facile. Vous pouvez définir la configuration de git core.pager
sur moins pour afficher un onglet en utilisant 4 espaces (moins a un paramètre -xn
pour définir la largeur de tabulation n
).
La configuration de git-gui s'est avérée être beaucoup plus difficile. Git-gui est écrit en Tcl / Tk. J'ai trouvé une option Tcl / Tk pour configurer la largeur de tabulation dans les widgets de texte. J'ai également trouvé une ligne git-gui.sh
où il semble que le widget de texte est en cours d'initialisation.
Il s'agit de la ligne 3346 du fichier git-gui.sh
dans la version 1.7.5 de git:
catch {$ui_diff configure -tabstyle wordprocessor}
J'ai changé cela, selon le manuel Tcl / Tk, en:
catch {$ui_diff configure -tabs "[expr {4 * [font measure $font 0]}]" -tabstyle wordprocessor}
Cela ne semblait avoir aucun effet. J'ai essayé différentes valeurs pour -tabs
et elles ont eu un certain effet sur la largeur des onglets affichés, il semble donc que ce soit la bonne ligne à modifier.
Malheureusement, Tcl / Tk ne semble pas avoir une notion de largeur de tabulation en termes de caractères, mais la largeur de tabulation doit être définie en pixels ou en centimètres.
Notez que je n'ai aucune expérience en Tcl / TK, donc peut-être que je suis en train d'oublier quelque chose de simple ici.
Quoi qu'il en soit, vous savez maintenant où commencer à creuser. N'oubliez pas de signaler ici si vous avez une solution de travail. Bonne chance.