Inserts s at position pos

var b = new Buffer
b.append "美しい世界"
b.insert(" nit ", 3)
assert b == "美しい nit 世界"

Property definitions

core $ Buffer :: insert
	# Inserts `s` at position `pos`
	#
	# ~~~
	# var b = new Buffer
	# b.append "美しい世界"
	# b.insert(" nit ", 3)
	# assert b == "美しい nit 世界"
	# ~~~
	fun insert(s: Text, pos: Int) is abstract
lib/core/text/abstract_text.nit:1737,2--1745,42

core $ FlatBuffer :: insert
	redef fun insert(s, pos) do
		assert pos >= 0 and pos <= length
		if pos == length then
			append s
			return
		end
		var slen = s.byte_length
		enlarge(byte_length + slen)
		var it = _items
		var shpos = it.char_to_byte_index(pos)
		rshift_bytes(shpos, slen)
		s.copy_to_native(it, slen, 0, shpos)
		length += s.length
		byte_length += slen
	end
lib/core/text/flat.nit:937,2--951,4