mirror of
				git://git.code.sf.net/p/zsh/code
				synced 2025-10-31 06:00:54 +01:00 
			
		
		
		
	Jörg Sommer: 25819: improve module parameter completion.
First, do not embedd the = in the parameter by define it a parameter‐value separator; -S =. Second, look for already given parameters in all words; -w. Third, use the curcontext variable; -C. Forth, distinct between boolean and non‐boolean parameters, i.e. do not append a = to the end. And include the type of the parameter in the help message. This information is only given in the full output of modinfo, not in the narrowed output with --field.
This commit is contained in:
		
							parent
							
								
									8538c98ddf
								
							
						
					
					
						commit
						e6e5d2eb1d
					
				
					 2 changed files with 13 additions and 3 deletions
				
			
		|  | @ -1,5 +1,8 @@ | |||
| 2008-10-07  Clint Adams  <clint@zsh.org> | ||||
| 
 | ||||
| 	* Jörg Sommer: 25819: Completion/Linux/Command/_modutils: improve | ||||
| 	module parameter completion. | ||||
| 
 | ||||
| 	* Jörg Sommer: 25822: Completion/Linux/Command/_modutils: declare | ||||
| 	val_args as local array. | ||||
| 
 | ||||
|  |  | |||
|  | @ -95,10 +95,17 @@ case "$state" in | |||
|     if compset -P '*='; then | ||||
|       _message -e value 'parameter value' | ||||
|     else | ||||
|       typeset -A val_args | ||||
|       local params | ||||
|       params=( ${${(M)${(f)"$(_call_program module_parameter modinfo "$words[2]" 2>/dev/null)"}:#parm:*}##parm:[[:space:]]##} ) | ||||
|       if [[ $#params -eq 0 ]]; then | ||||
|         _message -e parameter "This modules doesn't have parameters" | ||||
|       else | ||||
|         typeset -A val_args | ||||
| 
 | ||||
|       _values 'module parameter' \ | ||||
|         ${(f)^"$(_call_program module_parameter modinfo -F parm "$words[2]" 2>/dev/null)"//:/\=[}\] && ret=0 | ||||
|         _values -S = -C -w 'module parameter' \ | ||||
|           ${${${(M)params:#*(:bool|\(bool\))}/:/[}/(bool| \(bool\))/]} \ | ||||
|           ${^${params:#*(:bool|\(bool\))}/:/[}"]:auto added argument: " && ret=0 | ||||
|       fi | ||||
|     fi | ||||
|   ;; | ||||
| esac | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue