module filepath

import(
	os
)

// return the extension in the file `path`
pub fn ext(path string) string {
	pos := path.last_index_byte(`.`)
	if pos != -1 {
		return path[pos..]
	}
	return ''
}

// returns true if `path` is absolute
pub fn is_abs(path string) bool {
	$if windows {
		return path[0] == `/` || // incase we're in MingGW bash
			(path[0].is_letter() && path[1] == `:`)
	}
	return path[0] == `/`
}

// pass directories as parameters, returns path as string 
// TODO use []string.join once ...string becomes "[]string"
pub fn join(base string, dirs ...string) string {
	mut result := []string
	result << base.trim_right('\\/')
	for d in dirs {	result << d	}
	return result.join( os.path_separator )
}