mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 19:06:18 +01:00 
			
		
		
		
	Fix #33358, fix #21970 This adds a step in the `GitDiffForRender` that does syntax highlighting for the entire file and then only references lines from that syntax highlighted code. This allows things like multi-line comments to be syntax highlighted correctly. --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
		
			
				
	
	
		
			84 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Handlebars
		
	
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Handlebars
		
	
	
	
	
	
| {{if or .blobBase .blobHead}}
 | |
| <tr>
 | |
| 	<td colspan="2">
 | |
| 		<div class="image-diff"
 | |
| 			data-path-before="{{.root.BeforeRawPath}}/{{PathEscapeSegments .file.OldName}}"
 | |
| 			data-path-after="{{.root.RawPath}}/{{PathEscapeSegments .file.Name}}"
 | |
| 			data-mime-before="{{.sniffedTypeBase.GetMimeType}}"
 | |
| 			data-mime-after="{{.sniffedTypeHead.GetMimeType}}"
 | |
| 		>
 | |
| 			<overflow-menu class="ui secondary pointing tabular menu custom">
 | |
| 				<div class="overflow-menu-items tw-justify-center">
 | |
| 					<a class="item active" data-tab="diff-side-by-side-{{.file.NameHash}}">{{ctx.Locale.Tr "repo.diff.image.side_by_side"}}</a>
 | |
| 					{{if and .blobBase .blobHead}}
 | |
| 					<a class="item" data-tab="diff-swipe-{{.file.NameHash}}">{{ctx.Locale.Tr "repo.diff.image.swipe"}}</a>
 | |
| 					<a class="item" data-tab="diff-overlay-{{.file.NameHash}}">{{ctx.Locale.Tr "repo.diff.image.overlay"}}</a>
 | |
| 					{{end}}
 | |
| 				</div>
 | |
| 			</overflow-menu>
 | |
| 			<div class="image-diff-tabs is-loading">
 | |
| 				<div class="ui bottom attached tab image-diff-container active" data-tab="diff-side-by-side-{{.file.NameHash}}">
 | |
| 					<div class="diff-side-by-side">
 | |
| 						{{if .blobBase}}
 | |
| 						<span class="side">
 | |
| 							<p class="side-header">{{ctx.Locale.Tr "repo.diff.file_before"}}</p>
 | |
| 							<span class="before-container"><img class="image-before"></span>
 | |
| 							<p>
 | |
| 								<span class="bounds-info-before">
 | |
| 									{{ctx.Locale.Tr "repo.diff.file_image_width"}}: <span class="text bounds-info-width"></span>
 | |
| 									 | 
 | |
| 									{{ctx.Locale.Tr "repo.diff.file_image_height"}}: <span class="text bounds-info-height"></span>
 | |
| 									 | 
 | |
| 								</span>
 | |
| 								{{ctx.Locale.Tr "repo.diff.file_byte_size"}}: <span class="text">{{FileSize .blobBase.Size}}</span>
 | |
| 							</p>
 | |
| 						</span>
 | |
| 						{{end}}
 | |
| 						{{if .blobHead}}
 | |
| 						<span class="side">
 | |
| 							<p class="side-header">{{ctx.Locale.Tr "repo.diff.file_after"}}</p>
 | |
| 							<span class="after-container"><img class="image-after"></span>
 | |
| 							<p>
 | |
| 								<span class="bounds-info-after">
 | |
| 									{{ctx.Locale.Tr "repo.diff.file_image_width"}}: <span class="text bounds-info-width"></span>
 | |
| 									 | 
 | |
| 									{{ctx.Locale.Tr "repo.diff.file_image_height"}}: <span class="text bounds-info-height"></span>
 | |
| 									 | 
 | |
| 								</span>
 | |
| 								{{ctx.Locale.Tr "repo.diff.file_byte_size"}}: <span class="text">{{FileSize .blobHead.Size}}</span>
 | |
| 							</p>
 | |
| 						</span>
 | |
| 						{{end}}
 | |
| 					</div>
 | |
| 				</div>
 | |
| 				{{if and .blobBase .blobHead}}
 | |
| 				<div class="ui bottom attached tab image-diff-container" data-tab="diff-swipe-{{.file.NameHash}}">
 | |
| 					<div class="diff-swipe">
 | |
| 						<div class="swipe-frame">
 | |
| 							<span class="before-container"><img class="image-before"></span>
 | |
| 							<span class="swipe-container">
 | |
| 								<span class="after-container"><img class="image-after"></span>
 | |
| 							</span>
 | |
| 							<span class="swipe-bar">
 | |
| 								<span class="handle top-handle"></span>
 | |
| 								<span class="handle bottom-handle"></span>
 | |
| 							</span>
 | |
| 						</div>
 | |
| 					</div>
 | |
| 				</div>
 | |
| 				<div class="ui bottom attached tab image-diff-container" data-tab="diff-overlay-{{.file.NameHash}}">
 | |
| 					<div class="diff-overlay">
 | |
| 						<input type="range" min="0" max="100" value="50">
 | |
| 						<div class="overlay-frame">
 | |
| 							<span class="before-container"><img class="image-before"></span>
 | |
| 							<span class="after-container"><img class="image-after"></span>
 | |
| 						</div>
 | |
| 					</div>
 | |
| 				</div>
 | |
| 				{{end}}
 | |
| 			</div>
 | |
| 		</div>
 | |
| 	</td>
 | |
| </tr>
 | |
| {{end}}
 |