Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
vnotepad
Exa
提交
d7a29744
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,发现更多精彩内容 >>
提交
d7a29744
编写于
5月 03, 2015
作者:
B
Ben S
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Permissions are back!
上级
be8a48ab
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
12 addition
and
23 deletion
+12
-23
src/file.rs
src/file.rs
+11
-22
src/main.rs
src/main.rs
+1
-1
未找到文件。
src/file.rs
浏览文件 @
d7a29744
...
...
@@ -2,6 +2,7 @@ use std::ascii::AsciiExt;
use
std
::
env
::
current_dir
;
use
std
::
fs
;
use
std
::
io
;
use
std
::
os
::
unix
;
use
std
::
os
::
unix
::
fs
::
PermissionsExt
;
use
std
::
path
::{
Component
,
Path
,
PathBuf
};
...
...
@@ -409,15 +410,15 @@ impl<'a> File<'a> {
let
string
=
ANSIStrings
(
&
[
self
.type_char
(),
File
::
permission_bit
(
bits
,
Permission
::
UserRead
,
"r"
,
Yellow
.bold
()),
File
::
permission_bit
(
bits
,
Permission
::
UserWrite
,
"w"
,
Red
.bold
()),
File
::
permission_bit
(
bits
,
Permission
::
UserExecute
,
"x"
,
executable_colour
),
File
::
permission_bit
(
bits
,
Permission
::
GroupRead
,
"r"
,
Yellow
.normal
()),
File
::
permission_bit
(
bits
,
Permission
::
GroupWrite
,
"w"
,
Red
.normal
()),
File
::
permission_bit
(
bits
,
Permission
::
GroupExecute
,
"x"
,
Green
.normal
()),
File
::
permission_bit
(
bits
,
Permission
::
OtherRead
,
"r"
,
Yellow
.normal
()),
File
::
permission_bit
(
bits
,
Permission
::
OtherWrite
,
"w"
,
Red
.normal
()),
File
::
permission_bit
(
bits
,
Permission
::
OtherExecute
,
"x"
,
Green
.normal
()),
File
::
permission_bit
(
bits
,
unix
::
fs
::
USER_READ
,
"r"
,
Yellow
.bold
()),
File
::
permission_bit
(
bits
,
unix
::
fs
::
USER_WRITE
,
"w"
,
Red
.bold
()),
File
::
permission_bit
(
bits
,
unix
::
fs
::
USER_EXECUTE
,
"x"
,
executable_colour
),
File
::
permission_bit
(
bits
,
unix
::
fs
::
GROUP_READ
,
"r"
,
Yellow
.normal
()),
File
::
permission_bit
(
bits
,
unix
::
fs
::
GROUP_WRITE
,
"w"
,
Red
.normal
()),
File
::
permission_bit
(
bits
,
unix
::
fs
::
GROUP_EXECUTE
,
"x"
,
Green
.normal
()),
File
::
permission_bit
(
bits
,
unix
::
fs
::
OTHER_READ
,
"r"
,
Yellow
.normal
()),
File
::
permission_bit
(
bits
,
unix
::
fs
::
OTHER_WRITE
,
"w"
,
Red
.normal
()),
File
::
permission_bit
(
bits
,
unix
::
fs
::
OTHER_EXECUTE
,
"x"
,
Green
.normal
()),
self
.attribute_marker
()
])
.to_string
();
...
...
@@ -425,7 +426,7 @@ impl<'a> File<'a> {
}
/// Helper method for the permissions string.
fn
permission_bit
(
bits
:
u16
,
bit
:
Permission
,
character
:
&
'static
str
,
style
:
Style
)
->
ANSIString
<
'static
>
{
fn
permission_bit
(
bits
:
u16
,
bit
:
u16
,
character
:
&
'static
str
,
style
:
Style
)
->
ANSIString
<
'static
>
{
let
bi32
=
bit
as
u16
;
if
bits
&
bi32
==
bi32
{
style
.paint
(
character
)
...
...
@@ -512,18 +513,6 @@ fn ext<'a>(name: &'a str) -> Option<String> {
name
.rfind
(
'.'
)
.map
(|
p
|
name
[
p
+
1
..
]
.to_ascii_lowercase
())
}
enum
Permission
{
UserRead
=
0o400
,
UserWrite
=
0o200
,
UserExecute
=
0o100
,
GroupRead
=
0o040
,
GroupWrite
=
0o020
,
GroupExecute
=
0o010
,
OtherRead
=
0o004
,
OtherWrite
=
0o002
,
OtherExecute
=
0o001
,
}
#[cfg(broken_test)]
pub
mod
test
{
pub
use
super
::
*
;
...
...
src/main.rs
浏览文件 @
d7a29744
#![feature(collections,
convert,
core,
exit_status,
fs_ext,
fs_time,
io,
libc,
os,
scoped,
std_misc)]
#![feature(collections,
convert,
core,
exit_status,
fs_ext,
fs_
mode,
fs_
time,
io,
libc,
os,
scoped,
std_misc)]
#![allow(deprecated)]
// Other platforms than macos don't need std_misc but you can't
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录