[PATCH] Allow gitweb tab width to be set per project.
- From
Magnus Hagander <magnus@hagander.net>
- Date
- Oct 18, 2010, 10:41 UTC
- Message-ID
- <1287398464-22721-1-git-send-email-magnus@hagander.net>
- In-Reply-To
- <AANLkTimOxim60=gMNZu3n_AztZR7mPAOzg1NevJA2m+4@mail.gmail.com>
Allow the gitweb.tabwidth option to control how many spaces a tab gets expanded to.
Signed-off-by: Magnus Hagander <magnus@hagander.net> --- gitweb/README | 4 ++++ gitweb/gitweb.perl | 6 +++++- 2 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/gitweb/README b/gitweb/README index bf3664f..d2e4a1d 100644 --- a/gitweb/README +++ b/gitweb/README @@ -312,6 +312,10 @@ You can use the following files in repository: repository's owner. It is displayed in the project list and summary page. If it's not set, filesystem directory's owner is used (via GECOS field / real name field from getpwiud(3)). + * gitweb.tabwidth + You can use the gitweb.tabwidth repository configuration variable to set + the number of spaces that tabs should be expanded to, instead of the + default 8. * various gitweb.* config variables (in config) Read description of %feature hash for detailed list, and some descriptions. diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index 8d7e4c5..66c258f 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -1478,9 +1478,13 @@ sub unquote { # escape tabs (convert tabs to spaces) sub untabify { my $line = shift; + # git_get_project_config caches the value for us, so it's ok + # to call it once for each line. + my $tabwidth = git_get_project_config('tabwidth', '--int'); + $tabwidth = 8 if (!defined $tabwidth || $tabwidth <= 0); while ((my $pos = index($line, "\t")) != -1) { - if (my $count = (8 - ($pos % 8))) { + if (my $count = ($tabwidth - ($pos % $tabwidth))) { my $spaces = ' ' x $count; $line =~ s/\t/$spaces/; }
-- 1.7.0.4