mirror of
https://github.com/Llewellynvdm/exa.git
synced 2024-11-25 05:17:34 +00:00
Upgrade to latest Rust (s/~str/StrBuf/)
See https://github.com/mozilla/rust/pull/14310
This commit is contained in:
parent
f65d170b48
commit
fdf58e887b
20
colours.rs
20
colours.rs
@ -16,19 +16,20 @@ pub struct StyleStruct {
|
||||
}
|
||||
|
||||
impl Style {
|
||||
pub fn paint(&self, input: ~str) -> ~str {
|
||||
pub fn paint(&self, input: &str) -> StrBuf {
|
||||
match *self {
|
||||
Plain => input,
|
||||
Plain => input.to_strbuf(),
|
||||
Foreground(c) => c.paint(input),
|
||||
Style(s) => match s {
|
||||
StyleStruct { foreground, background, bold, underline } => {
|
||||
let bg: ~str = match background {
|
||||
let bg = match background {
|
||||
Some(c) => format!("{};", c as int + 10),
|
||||
None => "".to_owned(),
|
||||
None => "".to_strbuf()
|
||||
};
|
||||
let bo = if bold { "1;" } else { "" };
|
||||
let un = if underline { "4;" } else { "" };
|
||||
format!("\x1B[{}{}{}{}m{}\x1B[0m", bo, un, bg, foreground as int, input)
|
||||
let re = format!("\x1B[{}{}{}{}m{}\x1B[0m", bo, un, bg, foreground as int, input.to_strbuf());
|
||||
return re.to_owned();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -62,8 +63,9 @@ impl Style {
|
||||
}
|
||||
|
||||
impl Colour {
|
||||
pub fn paint(&self, input: &str) -> ~str {
|
||||
format!("\x1B[{}m{}\x1B[0m", *self as int, input)
|
||||
pub fn paint(&self, input: &str) -> StrBuf {
|
||||
let re = format!("\x1B[{}m{}\x1B[0m", *self as int, input);
|
||||
return re.to_owned();
|
||||
}
|
||||
|
||||
pub fn underline(&self) -> Style {
|
||||
@ -83,7 +85,7 @@ impl Colour {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn strip_formatting(input: &~str) -> ~str {
|
||||
pub fn strip_formatting(input: &StrBuf) -> StrBuf {
|
||||
let re = regex!("\x1B\\[.+?m");
|
||||
re.replace_all(*input, "").to_owned()
|
||||
re.replace_all(input.as_slice(), "").to_owned()
|
||||
}
|
||||
|
4
exa.rs
4
exa.rs
@ -58,7 +58,7 @@ fn list(opts: Options, path: Path) {
|
||||
|
||||
let columns = defaultColumns();
|
||||
|
||||
let table: Vec<Vec<~str>> = files.iter()
|
||||
let table: Vec<Vec<StrBuf>> = files.iter()
|
||||
.map(|p| File::from_path(p))
|
||||
.filter(|f| !f.is_dotfile() || opts.showInvisibles )
|
||||
.map(|f| columns.iter().map(|c| f.display(c)).collect())
|
||||
@ -76,7 +76,7 @@ fn list(opts: Options, path: Path) {
|
||||
} else {
|
||||
print!(" ");
|
||||
}
|
||||
print!("{}", cell);
|
||||
print!("{}", cell.as_slice());
|
||||
for _ in range(cell.len(), *length) {
|
||||
print!(" ");
|
||||
}
|
||||
|
20
file.rs
20
file.rs
@ -35,17 +35,17 @@ impl<'a> File<'a> {
|
||||
self.name.starts_with(".")
|
||||
}
|
||||
|
||||
pub fn display(&self, column: &Column) -> ~str {
|
||||
pub fn display(&self, column: &Column) -> StrBuf {
|
||||
match *column {
|
||||
Permissions => self.permissions(),
|
||||
FileName => self.file_colour().paint(self.name.to_owned()),
|
||||
FileName => self.file_colour().paint(self.name.as_slice()),
|
||||
FileSize(si) => self.file_size(si),
|
||||
User => get_user_name(self.stat.unstable.uid as i32).unwrap_or(self.stat.unstable.uid.to_str()),
|
||||
Group => get_group_name(self.stat.unstable.gid as u32).unwrap_or(self.stat.unstable.gid.to_str()),
|
||||
}
|
||||
}
|
||||
|
||||
fn file_size(&self, si: bool) -> ~str {
|
||||
fn file_size(&self, si: bool) -> StrBuf {
|
||||
let sizeStr = if si {
|
||||
formatBinaryBytes(self.stat.size)
|
||||
} else {
|
||||
@ -56,12 +56,12 @@ impl<'a> File<'a> {
|
||||
Green.normal()
|
||||
} else {
|
||||
Green.bold()
|
||||
}.paint(sizeStr);
|
||||
}.paint(sizeStr.as_slice());
|
||||
}
|
||||
|
||||
fn type_char(&self) -> ~str {
|
||||
fn type_char(&self) -> StrBuf {
|
||||
return match self.stat.kind {
|
||||
io::TypeFile => ".".to_owned(),
|
||||
io::TypeFile => ".".to_strbuf(),
|
||||
io::TypeDirectory => Blue.paint("d"),
|
||||
io::TypeNamedPipe => Yellow.paint("|"),
|
||||
io::TypeBlockSpecial => Purple.paint("s"),
|
||||
@ -83,7 +83,7 @@ impl<'a> File<'a> {
|
||||
}
|
||||
}
|
||||
|
||||
fn permissions(&self) -> ~str {
|
||||
fn permissions(&self) -> StrBuf {
|
||||
let bits = self.stat.perm;
|
||||
return format!("{}{}{}{}{}{}{}{}{}{}",
|
||||
self.type_char(),
|
||||
@ -100,10 +100,10 @@ impl<'a> File<'a> {
|
||||
}
|
||||
}
|
||||
|
||||
fn bit(bits: io::FilePermission, bit: io::FilePermission, other: &'static str, style: Style) -> ~str {
|
||||
fn bit(bits: io::FilePermission, bit: io::FilePermission, other: &'static str, style: Style) -> StrBuf {
|
||||
if bits.contains(bit) {
|
||||
style.paint(other.to_owned())
|
||||
style.paint(other.as_slice())
|
||||
} else {
|
||||
Black.bold().paint("-".to_owned())
|
||||
Black.bold().paint("-".as_slice())
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
fn formatBytes(mut amount: u64, kilo: u64, prefixes: ~[&str]) -> ~str {
|
||||
fn formatBytes(mut amount: u64, kilo: u64, prefixes: ~[&str]) -> StrBuf {
|
||||
let mut prefix = 0;
|
||||
while amount > kilo {
|
||||
amount /= kilo;
|
||||
@ -7,10 +7,10 @@ fn formatBytes(mut amount: u64, kilo: u64, prefixes: ~[&str]) -> ~str {
|
||||
return format!("{:4}{}", amount, prefixes[prefix]);
|
||||
}
|
||||
|
||||
pub fn formatBinaryBytes(amount: u64) -> ~str {
|
||||
pub fn formatBinaryBytes(amount: u64) -> StrBuf {
|
||||
formatBytes(amount, 1024, ~[ "B ", "KiB", "MiB", "GiB", "TiB" ])
|
||||
}
|
||||
|
||||
pub fn formatDecimalBytes(amount: u64) -> ~str {
|
||||
pub fn formatDecimalBytes(amount: u64) -> StrBuf {
|
||||
formatBytes(amount, 1000, ~[ "B ", "KB", "MB", "GB", "TB" ])
|
||||
}
|
||||
|
4
unix.rs
4
unix.rs
@ -34,7 +34,7 @@ mod c {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn get_user_name(uid: i32) -> Option<~str> {
|
||||
pub fn get_user_name(uid: i32) -> Option<StrBuf> {
|
||||
let pw = unsafe { c::getpwuid(uid) };
|
||||
if pw.is_not_null() {
|
||||
return unsafe { Some(from_c_str(read(pw).pw_name)) };
|
||||
@ -44,7 +44,7 @@ pub fn get_user_name(uid: i32) -> Option<~str> {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn get_group_name(gid: u32) -> Option<~str> {
|
||||
pub fn get_group_name(gid: u32) -> Option<StrBuf> {
|
||||
let gr = unsafe { c::getgrgid(gid) };
|
||||
if gr.is_not_null() {
|
||||
return unsafe { Some(from_c_str(read(gr).gr_name)) };
|
||||
|
Loading…
Reference in New Issue
Block a user