mirror of
				https://github.com/flynx/pWiki.git
				synced 2025-10-31 19:10:08 +00:00 
			
		
		
		
	reworked path pattern matching...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
		
							parent
							
								
									41600d3f7e
								
							
						
					
					
						commit
						7505096dda
					
				| @ -334,16 +334,17 @@ module.BaseStore = { | |||||||
| 			args = pwpath.joinArgs('', args) | 			args = pwpath.joinArgs('', args) | ||||||
| 			// NOTE: we are matching full paths only here so leading and 
 | 			// NOTE: we are matching full paths only here so leading and 
 | ||||||
| 			// 		trainling '/' are optional...
 | 			// 		trainling '/' are optional...
 | ||||||
| 			// NOTE: we ensure that we match full names and always split 
 | 			var pattern = new RegExp(`^\\/?` | ||||||
| 			// 		at '/' only...
 | 				+RegExp.quoteRegExp( | ||||||
| 			var pattern = new RegExp(`^\\/?${ | 					// remove leading/trailing '/'
 | ||||||
| 					path | 					path.replace(/^\/|\/$/g, '')) | ||||||
| 						.replace(/^\/|\/$/g, '') | 					// pattern: **
 | ||||||
| 						.replace(/\//g, '\\/') | 					.replace(/\\\*\\\*/g, '(.*)') | ||||||
| 						//.replace(/\*\*/g, '.*')
 | 					// pattern: *
 | ||||||
| 						.replace(/([\\\/]?)\*\*/g, '($1.*)') | 					// NOTE: we are prepping the leading '.' of a pattern 
 | ||||||
| 						.replace(/(?<=^|[\\\/]+|[^.])\*/g, '[^\\/]*')  | 					// 		dir for hidden tests...
 | ||||||
| 				}(?=[\\\\\/]|$)`)
 | 					.replace(/(^|\\\/+)(\\\.|)([^\/]*)\\\*/g, '$1$2($3[^\\/]*)') | ||||||
|  | 				+'(?=[\\/]|$)', 'g') | ||||||
| 			/*/ XXX CACHED.... | 			/*/ XXX CACHED.... | ||||||
| 			var name = pwpath.basename(path) | 			var name = pwpath.basename(path) | ||||||
| 			return [...(name.includes('*') ? | 			return [...(name.includes('*') ? | ||||||
| @ -359,14 +360,24 @@ module.BaseStore = { | |||||||
| 						// skip metadata paths...
 | 						// skip metadata paths...
 | ||||||
| 						if(p.includes('*')){ | 						if(p.includes('*')){ | ||||||
| 							return res } | 							return res } | ||||||
| 						/*/ XXX HIDE this is wrong -- need to check for  | 						// XXX HIDE
 | ||||||
| 						//		hidden paths within the match...
 | 						var m = [...p.matchAll(pattern)] | ||||||
| 						if(pwpath.basename(p)[0] == '.'  | 						m.length > 0 | ||||||
| 								&& !all){ | 							&& (!all ? | ||||||
| 							return res } | 								// test if we need to hide things....
 | ||||||
| 						//*/
 | 								m.reduce(function(res, m){ | ||||||
|  | 									return res === false ? | ||||||
|  | 										res | ||||||
|  | 										// XXX if we are using a partial pattern this is wrong...
 | ||||||
|  | 										// 		i.e. something like 'x*' (TEST)
 | ||||||
|  | 										: !/(^\.|[\\\/]\.)/.test(m[1]) | ||||||
|  | 								}, true) | ||||||
|  | 								: true) | ||||||
|  | 							&& (m = m[0]) | ||||||
|  | 						/*/ | ||||||
| 						var m = p.match(pattern) | 						var m = p.match(pattern) | ||||||
| 						m | 						m | ||||||
|  | 						//*/
 | ||||||
| 							&& (!strict  | 							&& (!strict  | ||||||
| 								|| m[0] == p)  | 								|| m[0] == p)  | ||||||
| 							&& res.add( | 							&& res.add( | ||||||
|  | |||||||
| @ -1,11 +1,6 @@ | |||||||
| /********************************************************************** | /********************************************************************** | ||||||
| *  | *  | ||||||
| * | * | ||||||
| * XXX BUG: .hide_paths:  |  | ||||||
| *		- hidden dir should hide all the children 					-- BROKEN |  | ||||||
| *			(see /.hidden/suppage) |  | ||||||
| *		- listing a hidden subtree should work regardless of :all	-- BROKEN |  | ||||||
| *			(see: /.hidden/tree) |  | ||||||
| * XXX might also be a good idea to investigate a .tree directory index  | * XXX might also be a good idea to investigate a .tree directory index  | ||||||
| * 		as a supplement to .paths() | * 		as a supplement to .paths() | ||||||
| * XXX BUG: changing the URL does not start the spinner... | * XXX BUG: changing the URL does not start the spinner... | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user