+38
-9
gitk
+38
-9
gitk
···
1939
1939
set tagids($name) $id
1940
1940
lappend idtags($id) $name
1941
1941
} else {
1942
-
set otherrefids($name) $id
1943
-
lappend idotherrefs($id) $name
1942
+
if [is_other_ref_visible $name] {
1943
+
set otherrefids($name) $id
1944
+
lappend idotherrefs($id) $name
1945
+
}
1944
1946
}
1945
1947
}
1946
1948
catch {close $refd}
···
11696
11698
global NS maxwidth maxgraphpct showneartags showlocalchanges
11697
11699
global tabstop wrapcomment wrapdefault limitdiffs
11698
11700
global autocopy autoselect autosellen extdifftool perfile_attrs
11699
-
global hideremotes want_ttk have_ttk maxrefs web_browser
11701
+
global hideremotes refstohide want_ttk have_ttk maxrefs web_browser
11700
11702
11701
11703
set page [create_prefs_page $notebook.general]
11702
11704
···
11717
11719
-variable hideremotes
11718
11720
grid x $page.hideremotes -sticky w
11719
11721
11722
+
${NS}::entry $page.refstohide -textvariable refstohide
11723
+
${NS}::frame $page.refstohidef
11724
+
${NS}::label $page.refstohidef.l -text [mc "Refs to hide (space-separated)" ]
11725
+
pack $page.refstohidef.l -side left
11726
+
pack configure $page.refstohidef.l -padx 10
11727
+
grid x $page.refstohidef $page.refstohide -sticky ew
11728
+
11720
11729
${NS}::checkbutton $page.autocopy -text [mc "Copy commit ID to clipboard"] \
11721
11730
-variable autocopy
11722
11731
grid x $page.autocopy -sticky w
···
11863
11872
global oldprefs prefstop showneartags showlocalchanges
11864
11873
global uicolor bgcolor fgcolor ctext diffcolors selectbgcolor markbgcolor
11865
11874
global tabstop limitdiffs autoselect autosellen extdifftool perfile_attrs
11866
-
global hideremotes want_ttk have_ttk wrapcomment wrapdefault
11875
+
global hideremotes refstohide want_ttk have_ttk wrapcomment wrapdefault
11867
11876
11868
11877
set top .gitkprefs
11869
11878
set prefstop $top
···
11872
11881
return
11873
11882
}
11874
11883
foreach v {maxwidth maxgraphpct showneartags showlocalchanges \
11875
-
limitdiffs tabstop perfile_attrs hideremotes want_ttk wrapcomment wrapdefault} {
11884
+
limitdiffs tabstop perfile_attrs hideremotes refstohide \
11885
+
want_ttk wrapcomment wrapdefault} {
11876
11886
set oldprefs($v) [set $v]
11877
11887
}
11878
11888
ttk_toplevel $top
···
11998
12008
global oldprefs prefstop
11999
12009
12000
12010
foreach v {maxwidth maxgraphpct showneartags showlocalchanges \
12001
-
limitdiffs tabstop perfile_attrs hideremotes want_ttk wrapcomment wrapdefault} {
12011
+
limitdiffs tabstop perfile_attrs hideremotes refstohide \
12012
+
want_ttk wrapcomment wrapdefault} {
12002
12013
global $v
12003
12014
set $v $oldprefs($v)
12004
12015
}
···
12012
12023
global oldprefs prefstop showneartags showlocalchanges
12013
12024
global fontpref mainfont textfont uifont
12014
12025
global limitdiffs treediffs perfile_attrs
12015
-
global hideremotes wrapcomment wrapdefault
12026
+
global hideremotes refstohide wrapcomment wrapdefault
12016
12027
global ctext
12017
12028
12018
12029
catch {destroy $prefstop}
···
12059
12070
$limitdiffs != $oldprefs(limitdiffs)} {
12060
12071
reselectline
12061
12072
}
12062
-
if {$hideremotes != $oldprefs(hideremotes)} {
12073
+
if {$hideremotes != $oldprefs(hideremotes) || $refstohide != $oldprefs(refstohide)} {
12063
12074
rereadrefs
12064
12075
}
12065
12076
if {$wrapcomment != $oldprefs(wrapcomment)} {
···
12436
12447
return $tcl_enc
12437
12448
}
12438
12449
12450
+
proc is_other_ref_visible {ref} {
12451
+
global refstohide
12452
+
12453
+
if {$refstohide eq {}} {
12454
+
return 1
12455
+
}
12456
+
12457
+
foreach pat [split $refstohide " "] {
12458
+
if {$pat eq {}} continue
12459
+
if {[string match $pat $ref]} {
12460
+
return 0
12461
+
}
12462
+
}
12463
+
12464
+
return 1
12465
+
}
12466
+
12439
12467
## For msgcat loading, first locate the installation location.
12440
12468
if { [info exists ::env(GITK_MSGSDIR)] } {
12441
12469
## Msgsdir was manually set in the environment.
···
12539
12567
set wrapdefault "none"
12540
12568
set showneartags 1
12541
12569
set hideremotes 0
12570
+
set refstohide ""
12542
12571
set maxrefs 20
12543
12572
set visiblerefs {"master"}
12544
12573
set maxlinelen 200
···
12645
12674
mainfont textfont uifont tabstop findmergefiles maxgraphpct maxwidth
12646
12675
cmitmode wrapcomment wrapdefault autocopy autoselect autosellen
12647
12676
showneartags maxrefs visiblerefs
12648
-
hideremotes showlocalchanges datetimeformat limitdiffs uicolor want_ttk
12677
+
hideremotes refstohide showlocalchanges datetimeformat limitdiffs uicolor want_ttk
12649
12678
bgcolor fgcolor uifgcolor uifgdisabledcolor colors diffcolors mergecolors
12650
12679
markbgcolor diffcontext selectbgcolor foundbgcolor currentsearchhitbgcolor
12651
12680
extdifftool perfile_attrs headbgcolor headfgcolor headoutlinecolor
History
2 rounds
0 comments
ilyagr.bsky.social
submitted
#1
1 commit
expand
collapse
2441e19d
gitk: Add user preference to hide specific references
External tools such as Jujutsu may add many references that are of no
interest to the user. This preference allows hiding them.
Signed-off-by: Ori Avtalion <ori@avtalion.name>
merge conflicts detected
expand
collapse
expand
collapse
- gitk:1939
expand 0 comments
ilyagr.bsky.social
submitted
#0
1 commit
expand
collapse
4a4a5125
gitk: Add user preference to hide custom references
External tools such as Jujutsu may add many references that are of no
interest to the user. This preference hides them.
The non-custom refs are those that pass git's default decoration filter
(see set_default_decoration_filter).
The preference is off by default, maintaining current behavior.
Signed-off-by: Ori Avtalion <ori@avtalion.name>