Sha256: 558f8eb8eb406f08e069987d1f6168589e43abc93d02d3a10242e1be88459683

Contents?: true

Size: 1.13 KB

Versions: 3

Compression:

Stored size: 1.13 KB

Contents

#! /usr/bin/ruby -w

class String
	
	#zsh で特殊な意味を持つ文字をバックスラッシュでエスケープする。
	def escape_zsh
		temp = dup
		temp.gsub!('\\', '\\\\\\') #最初にしないと他の結果をさらに置換してしまう
		#temp.gsub!('/', '/') #「/」はディレクトリ区切り文字なのでエスケープしない
		temp.gsub!(' ', '\ ') ; temp.gsub!('!', '\!') ; temp.gsub!('"', '\"') ;
		temp.gsub!('#', '\#') ; temp.gsub!('$', '\$') ; temp.gsub!('%', '\%') ;
		temp.gsub!(')', '\)') ; temp.gsub!('(', '\(') ; temp.gsub!('*', '\*') ;
		temp.gsub!(',', '\,') ; #temp.gsub!('-', '\-') ; #temp.gsub!('.', '\.') ;
		temp.gsub!(':', '\:') ; temp.gsub!(';', '\;') ; temp.gsub!('<', '\<') ;
		temp.gsub!('=', '\=') ; temp.gsub!('>', '\>') ; temp.gsub!('?', '\?') ;
		temp.gsub!('@', '\@') ; temp.gsub!('[', '\[') ; temp.gsub!(']', '\]') ;
		temp.gsub!('^', '\^') ; temp.gsub!('_', '\_') ; temp.gsub!('{', '\{') ;
		temp.gsub!('|', '\|') ; temp.gsub!('}', '\}') ; temp.gsub!('~', '\~') ;
		temp.gsub!('`', '\\\`') ; temp.gsub!('&', '\\\&') ;
		temp.gsub!('+', '\\\+') ; temp.gsub!("'", "\\\\'") ;
		return temp
	end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
builtinextension-0.0.2 lib/string_escape_zsh.rb
builtinextension-0.0.1 lib/string_escape_zsh.rb
builtinextension-0.0.0 lib/string_escape_zsh.rb