Fossil Wrapper

Check-in [5a2358d8c3]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:minor tidy up: avoid redundant sub-pattern captures in `regsub'.
Timelines: family | ancestors | descendants | both | dresden
Files: files | file ages | folders
SHA1: 5a2358d8c3b635cb4381134e79217fa047aafad8
User & Date: j 2019-07-21 15:42:11
Context
2019-07-21
16:05
regression fix in `clone' interceptor. check-in: 24053a7df2 user: j tags: dresden
15:42
minor tidy up: avoid redundant sub-pattern captures in `regsub'. check-in: 5a2358d8c3 user: j tags: dresden
12:27
merged `grep'. check-in: 8df6e8d8f7 user: j tags: dresden
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to fsl.

152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
            REMOVE           { coloured    blue $line }
            UNDO             { coloured    blue $line }
            REDO             { coloured     red $line }
            NEW              { coloured magenta $line }
            RENAMED          { coloured   green $line }
            ^(checkout|parent|merged-(from|into)): {
               set date_rx {([a-f\d]{40} )(\d{4}-\d{2}-\d{2})}
               set artifact_rx {([a-f\d]{4})}
               regsub $date_rx     $line \\1[coloured blue \\2] line
               regsub $artifact_rx $line [coloured red \\1]
            }
            tags: {
               regsub {(^tags:[ ]+)(.*)} $line [coloured yellow \\1][coloured cyan \\2]
            }
            comment: {
               append colorized "[coloured blue \\1\\2]\\3"
               append colorized "[coloured yellow \\4]"







|

|







152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
            REMOVE           { coloured    blue $line }
            UNDO             { coloured    blue $line }
            REDO             { coloured     red $line }
            NEW              { coloured magenta $line }
            RENAMED          { coloured   green $line }
            ^(checkout|parent|merged-(from|into)): {
               set date_rx {([a-f\d]{40} )(\d{4}-\d{2}-\d{2})}
               set artifact_rx {[a-f\d]{4}}
               regsub $date_rx     $line \\1[coloured blue \\2] line
               regsub $artifact_rx $line [coloured red &]
            }
            tags: {
               regsub {(^tags:[ ]+)(.*)} $line [coloured yellow \\1][coloured cyan \\2]
            }
            comment: {
               append colorized "[coloured blue \\1\\2]\\3"
               append colorized "[coloured yellow \\4]"
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
        # since most of the work is relocated to `reformTimeline'
        # the regex/regsubs below could be tidied up, accordingly...
        #
        # Expressions to match:
        set revnum_rx   {(\]:)(\d+)}
        set artifact_rx {\[([a-f\d]{4})([a-f\d]{6}\]*)\]}
        set date_rx     {(^|\n|([ ]*\(\d+\) ))((=== )?\d{4}-\d\d-\d\d( ===)?)}
        set time_rx     {(\d\d:\d\d:\d\d (UTC)?)}
        set current_rx  {\*CURRENT\*}
        set frkmrg_rx   {\*(FORK|MERGE|BRANCH)\*}
        # Colour the output (repeated substitutions on $line):
        set line [regsub $date_rx    $line \\2[coloured blue \\3\\6]]
        set line [regsub $time_rx    $line [coloured yellow \\1]]
        set line [regsub $revnum_rx  $line \\1[coloured magenta \\2]]
        set line [regsub $artifact_rx $line [format {[%s%s]} [coloured red {\1}] {\2}]]
        set line [regsub $current_rx $line [display reversed &]]
        set line [regsub $frkmrg_rx  $line [display underscored &]]
        set line [regsub {(user: )([A-Za-z][-_.A-Za-z0-9]*)} $line [coloured yellow \\1][coloured green \\2]]
        set line [regsub {((tags|branch):)(( [A-Za-z][-_,.A-Za-z0-9 ]*)|(\n))} $line [coloured yellow \\1][coloured cyan \\4\\5]]
        regsub {(artifact: )} $line [coloured yellow \\1]
    }

    # Filter only on aliases of `diff' but not the original command so that
    # the latter's output can be redirected to create patch files.
    filter diff {d di} {
        switch -regexp $line {
           {^-}       { coloured    red $line }







|




|






|







188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
        # since most of the work is relocated to `reformTimeline'
        # the regex/regsubs below could be tidied up, accordingly...
        #
        # Expressions to match:
        set revnum_rx   {(\]:)(\d+)}
        set artifact_rx {\[([a-f\d]{4})([a-f\d]{6}\]*)\]}
        set date_rx     {(^|\n|([ ]*\(\d+\) ))((=== )?\d{4}-\d\d-\d\d( ===)?)}
        set time_rx     {\d\d:\d\d:\d\d (UTC)?}
        set current_rx  {\*CURRENT\*}
        set frkmrg_rx   {\*(FORK|MERGE|BRANCH)\*}
        # Colour the output (repeated substitutions on $line):
        set line [regsub $date_rx    $line \\2[coloured blue \\3\\6]]
        set line [regsub $time_rx    $line [coloured yellow &]]
        set line [regsub $revnum_rx  $line \\1[coloured magenta \\2]]
        set line [regsub $artifact_rx $line [format {[%s%s]} [coloured red {\1}] {\2}]]
        set line [regsub $current_rx $line [display reversed &]]
        set line [regsub $frkmrg_rx  $line [display underscored &]]
        set line [regsub {(user: )([A-Za-z][-_.A-Za-z0-9]*)} $line [coloured yellow \\1][coloured green \\2]]
        set line [regsub {((tags|branch):)(( [A-Za-z][-_,.A-Za-z0-9 ]*)|(\n))} $line [coloured yellow \\1][coloured cyan \\4\\5]]
        regsub {(artifact: )} $line [coloured yellow &]
    }

    # Filter only on aliases of `diff' but not the original command so that
    # the latter's output can be redirected to create patch files.
    filter diff {d di} {
        switch -regexp $line {
           {^-}       { coloured    red $line }
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
      set line   [join [lrange $field 2 end]]
      set cihash [dict get $cihashes $fhash]
      set revnum {}
      foreach hash $cihash {
         append revnum [dict get $revnums $hash] " "
      }
      set revnum [join $revnum ,]
      regsub -all "($greppat)" $line [coloured redbold \\1] line
      # for now, we just preprend the chronological revision numbers
      # and add a bit of colour
      if {[lindex $revnum end] != $lastrev} { set idx [expr {1 - $idx}] }
      set col [lindex $checkincols $idx]
      set buf [coloured magenta $revnum]:[coloured $col $fhash]
      if {[llength $field] > 1} {
         append buf :[coloured cyan $lino]:$line







|







600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
      set line   [join [lrange $field 2 end]]
      set cihash [dict get $cihashes $fhash]
      set revnum {}
      foreach hash $cihash {
         append revnum [dict get $revnums $hash] " "
      }
      set revnum [join $revnum ,]
      regsub -all "$greppat" $line [coloured redbold &] line
      # for now, we just preprend the chronological revision numbers
      # and add a bit of colour
      if {[lindex $revnum end] != $lastrev} { set idx [expr {1 - $idx}] }
      set col [lindex $checkincols $idx]
      set buf [coloured magenta $revnum]:[coloured $col $fhash]
      if {[llength $field] > 1} {
         append buf :[coloured cyan $lino]:$line
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
      }

      set size   [exec stty size]
      set cols   [lindex $size end]
      set need   [expr [string length $numrev] + $more]
      set width  [expr $cols - $need]

      regsub {(timeline|finfo|search|descendants)} $params "\\1 -W $width" params
      # we need do undo the -W insertion in case we are dealing with
      # `finfo -p'
      regsub {(finfo)( -W .*)( -p)(.*)} $params "\\1\\3\\4" params
   }
   return $params
}








|







649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
      }

      set size   [exec stty size]
      set cols   [lindex $size end]
      set need   [expr [string length $numrev] + $more]
      set width  [expr $cols - $need]

      regsub {timeline|finfo|search|descendants} $params "& -W $width" params
      # we need do undo the -W insertion in case we are dealing with
      # `finfo -p'
      regsub {(finfo)( -W .*)( -p)(.*)} $params "\\1\\3\\4" params
   }
   return $params
}

1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
         dict set num2hash $val $sha1
      }
      if {[dict exists $num2hash $version]} {
         set version [dict get $num2hash $version]
         set args [lreplace $args 0 0 $version]
      }
   }
   set params "$cmd $opts$args"
   return $params
}

interceptor am:amend {
# ----------------------------------------------------------------------------
# The provided UUID is tentatively interpreted as a chronological
# revision number for which a lookup of the corresponding SHA1 hash is tried.







|







1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
         dict set num2hash $val $sha1
      }
      if {[dict exists $num2hash $version]} {
         set version [dict get $num2hash $version]
         set args [lreplace $args 0 0 $version]
      }
   }
   set params "$cmd --setmtime $opts$args"
   return $params
}

interceptor am:amend {
# ----------------------------------------------------------------------------
# The provided UUID is tentatively interpreted as a chronological
# revision number for which a lookup of the corresponding SHA1 hash is tried.