def parse_namevalue(nameval, sep: ':', default: nil, symbolize: true)
			name,*val=nameval.split(sep)
			if val.empty?
				value=default
				if default == true
					#special case where if name begins by no- we return false
					name.to_s.match(/^no-(.*)$/) do |m| 
						name=m[1]
						value=false
					end
				end
			else
				value=val.join(sep)
			end
			name=name.to_sym if symbolize
			return name,value
		end
def parse_namevalue(nameval, sep: ':', default: nil, symbolize: true)
			name,*val=nameval.split(sep)
			if val.empty?
				value=default
				if default == true
					#special case where if name begins by no- we return false
					name.to_s.match(/^no-(.*)$/) do |m| 
						name=m[1]
						value=false
					end
				end
			else
				value=val.join(sep)
			end
			name=name.to_sym if symbolize
			return name,value
		end
takes a string 'name:value' and return name and value
can specify a default value; if the default is true we match
no-name as name:false