Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
vnotepad
Exa
提交
fb882116
E
Exa
项目概览
vnotepad
/
Exa
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
E
Exa
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
fb882116
编写于
7月 22, 2014
作者:
B
Ben S
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Misc style changes
上级
527528e8
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
33 addition
and
16 deletion
+33
-16
src/file.rs
src/file.rs
+33
-16
未找到文件。
src/file.rs
浏览文件 @
fb882116
...
...
@@ -89,10 +89,10 @@ impl<'a> File<'a> {
"aux"
=>
vec!
[
self
.path
.with_extension
(
"tex"
)],
// TeX: auxiliary file
"bbl"
=>
vec!
[
self
.path
.with_extension
(
"tex"
)],
// BibTeX bibliography file
"blg"
=>
vec!
[
self
.path
.with_extension
(
"tex"
)],
// BibTeX log file
"lof"
=>
vec!
[
self
.path
.with_extension
(
"tex"
)],
// list of figures
"lof"
=>
vec!
[
self
.path
.with_extension
(
"tex"
)],
//
TeX
list of figures
"log"
=>
vec!
[
self
.path
.with_extension
(
"tex"
)],
// TeX log file
"lot"
=>
vec!
[
self
.path
.with_extension
(
"tex"
)],
// list of tables
"toc"
=>
vec!
[
self
.path
.with_extension
(
"tex"
)],
// table of contents
"lot"
=>
vec!
[
self
.path
.with_extension
(
"tex"
)],
//
TeX
list of tables
"toc"
=>
vec!
[
self
.path
.with_extension
(
"tex"
)],
//
TeX
table of contents
_
=>
vec!
[],
}
...
...
@@ -100,19 +100,30 @@ impl<'a> File<'a> {
pub
fn
display
(
&
self
,
column
:
&
Column
,
unix
:
&
mut
Unix
)
->
String
{
match
*
column
{
Permissions
=>
self
.permissions_string
(),
FileName
=>
self
.file_name
(),
FileSize
(
use_iec
)
=>
self
.file_size
(
use_iec
),
Permissions
=>
{
self
.permissions_string
()
},
FileName
=>
{
self
.file_name
()
},
FileSize
(
use_iec
)
=>
{
self
.file_size
(
use_iec
)
},
// A file with multiple links is interesting, but
// directories and suchlike can have multiple links all
// the time.
HardLinks
=>
{
let
style
=
if
self
.
stat.kind
==
io
::
TypeFile
&&
self
.stat.unstable.nlink
>
1
{
Red
.on
(
Yellow
)
}
else
{
Red
.normal
()
};
let
style
=
if
self
.
has_multiple_links
()
{
Red
.on
(
Yellow
)
}
else
{
Red
.normal
()
};
style
.paint
(
self
.stat.unstable.nlink
.to_string
()
.as_slice
())
},
Inode
=>
Purple
.paint
(
self
.stat.unstable.inode
.to_string
()
.as_slice
()),
Inode
=>
{
Purple
.paint
(
self
.stat.unstable.inode
.to_string
()
.as_slice
())
},
Blocks
=>
{
if
self
.stat.kind
==
io
::
TypeFile
||
self
.stat.kind
==
io
::
TypeSymlink
{
Cyan
.paint
(
self
.stat.unstable.blocks
.to_string
()
.as_slice
())
...
...
@@ -127,16 +138,17 @@ impl<'a> File<'a> {
User
=>
{
let
uid
=
self
.stat.unstable.uid
as
u32
;
unix
.load_user
(
uid
);
let
user_name
=
unix
.get_user_name
(
uid
)
.unwrap_or
(
uid
.to_string
());
let
style
=
if
unix
.uid
==
uid
{
Yellow
.bold
()
}
else
{
Plain
};
let
string
=
unix
.get_user_name
(
uid
)
.unwrap_or
(
uid
.to_string
());
style
.paint
(
string
.as_slice
())
style
.paint
(
user_name
.as_slice
())
},
Group
=>
{
let
gid
=
self
.stat.unstable.gid
as
u32
;
unix
.load_group
(
gid
);
let
name
=
unix
.get_group_name
(
gid
)
.unwrap_or
(
gid
.to_string
());
let
group_
name
=
unix
.get_group_name
(
gid
)
.unwrap_or
(
gid
.to_string
());
let
style
=
if
unix
.is_group_member
(
gid
)
{
Yellow
.normal
()
}
else
{
Plain
};
style
.paint
(
name
.as_slice
())
style
.paint
(
group_
name
.as_slice
())
},
}
}
...
...
@@ -175,10 +187,11 @@ impl<'a> File<'a> {
parts
:
vec!
[],
// not needed
});
// Statting a path usually fails because the file at the other
// end doesn't exist. Show this by highlighting the target
// file in red instead of displaying an error, because the
// error would be shown out of context and it's almost always
// Statting a path usually fails because the file at the
// other end doesn't exist. Show this by highlighting the
// target file in red instead of displaying an error, because
// the error would be shown out of context (before the
// results, not right by the file) and it's almost always for
// that reason anyway.
match
link_target
{
...
...
@@ -217,6 +230,10 @@ impl<'a> File<'a> {
pub
fn
file_colour
(
&
self
)
->
Style
{
self
.get_type
()
.style
()
}
fn
has_multiple_links
(
&
self
)
->
bool
{
self
.stat.kind
==
io
::
TypeFile
&&
self
.stat.unstable.nlink
>
1
}
fn
permissions_string
(
&
self
)
->
String
{
let
bits
=
self
.stat.perm
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录