| 
									
										
										
										
											2023-11-04 11:16:23 +01:00
										 |  |  | " Vim runtime support library, | 
					
						
							|  |  |  | " runs the vim9 script version or legacy script version | 
					
						
							|  |  |  | " on demand (mostly for Neovim compatability) | 
					
						
							|  |  |  | " | 
					
						
							|  |  |  | " Maintainer:	The Vim Project <https://github.com/vim/vim> | 
					
						
							|  |  |  | " Last Change:	2023 Nov 04 | 
					
						
							| 
									
										
										
										
											2023-11-04 05:11:17 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-11-04 11:16:23 +01:00
										 |  |  | " enable the zip and gzip plugin by default, if not set | 
					
						
							|  |  |  | if !exists('g:zip_exec') | 
					
						
							|  |  |  |   let g:zip_exec = 1 | 
					
						
							|  |  |  | endif | 
					
						
							| 
									
										
										
										
											2023-11-04 05:11:17 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-11-04 11:16:23 +01:00
										 |  |  | if !exists('g:gzip_exec') | 
					
						
							|  |  |  |   let g:gzip_exec = 1 | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-11-05 09:11:37 +00:00
										 |  |  | if !has('vim9script') | 
					
						
							|  |  |  |   function dist#vim#IsSafeExecutable(filetype, executable) | 
					
						
							| 
									
										
										
										
											2023-11-04 11:16:23 +01:00
										 |  |  |     let cwd = getcwd() | 
					
						
							| 
									
										
										
										
											2024-08-17 15:52:11 +02:00
										 |  |  |     if empty(exepath(a:executable)) | 
					
						
							|  |  |  |       return v:false | 
					
						
							|  |  |  |     endif | 
					
						
							| 
									
										
										
										
											2023-11-04 11:16:23 +01:00
										 |  |  |     return get(g:, a:filetype .. '_exec', get(g:, 'plugin_exec', 0)) && | 
					
						
							|  |  |  |           \ (fnamemodify(exepath(a:executable), ':p:h') !=# cwd | 
					
						
							|  |  |  |           \ || (split($PATH, has('win32') ? ';' : ':')->index(cwd) != -1 && | 
					
						
							|  |  |  |           \  cwd != '.')) | 
					
						
							| 
									
										
										
										
											2023-11-05 09:11:37 +00:00
										 |  |  |   endfunction | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   finish | 
					
						
							| 
									
										
										
										
											2023-11-04 11:16:23 +01:00
										 |  |  | endif | 
					
						
							| 
									
										
										
										
											2023-11-05 09:11:37 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | def dist#vim#IsSafeExecutable(filetype: string, executable: string): bool | 
					
						
							|  |  |  |   return dist#vim9#IsSafeExecutable(filetype, executable) | 
					
						
							|  |  |  | enddef |