1
0
mirror of https://shylinux.com/x/ContextOS synced 2025-04-25 16:58:06 +08:00
This commit is contained in:
shaoying 2019-10-23 09:33:40 +08:00
parent 6ee5fd4608
commit e077dcfca5
8 changed files with 68 additions and 11 deletions

View File

@ -7,5 +7,5 @@ var version = struct {
self int
}{
[]string{"2017-11-01 01:02:03", "2019-07-13 18:02:21"},
`2019-10-21 14:20:01`, `centos`, 633,
`2019-10-23 08:31:12`, `mac`, 647,
}

View File

@ -623,7 +623,11 @@ var Index = &ctx.Context{Name: "nfs", Help: "存储中心",
"dir": &ctx.Command{Name: "dir [path [fields...]]", Help: []string{
"查看目录, path: 路径, fields...: 查询字段, time|type|full|path|name|tree|size|line|hash|hashs",
"dir_deep: 递归查询", "dir_type both|file|dir|all: 文件类型", "dir_reg reg: 正则表达式", "dir_sort field order: 排序"},
Form: map[string]int{"dir_deep": 0, "dir_type": 1, "dir_reg": 1, "dir_sort": 2, "dir_sed": -1, "dir_select": -1},
Form: map[string]int{"dir_deep": 0, "dir_type": 1, "dir_reg": 1, "dir_sort": 2, "dir_sed": -1, "dir_select": -1,
"offset": 1, "limit": 1,
"match_begin": 1,
"match_end": 1,
},
Hand: func(m *ctx.Message, c *ctx.Context, key string, arg ...string) (e error) {
if len(arg) == 0 {
arg = append(arg, "")
@ -657,11 +661,34 @@ var Index = &ctx.Context{Name: "nfs", Help: "存储中心",
}
}
m.Log("info", "open %v", p0)
for bio := bufio.NewScanner(f); bio.Scan(); {
m.Echo(bio.Text())
}
m.Append("file", p)
if m.Has("match_begin") {
m.Option("match_begin")
begin, _ := regexp.Compile(m.Option("match_begin"))
end, _ := regexp.Compile(m.Option("match_end"))
start := false
for bio := bufio.NewScanner(f); bio.Scan(); {
if start = start || begin.MatchString(bio.Text()); m.Option("match_begin") == "" || start {
if m.Echo(bio.Text()); m.Option("match_end") != "" && end.MatchString(bio.Text()) {
break
}
}
}
} else {
offset := m.Optioni("offset")
limit := m.Optioni("limit")
for bio, i := bufio.NewScanner(f), 0; bio.Scan(); i++ {
if i >= offset && (limit == 0 || i < offset+limit) {
m.Echo(bio.Text())
}
m.Append("line", i+1)
m.Append("offset", offset)
m.Append("limit", limit)
}
}
m.Append("size", s.Size())
m.Append("time", s.ModTime().Format(m.Conf("time", "format")))
skip = true

View File

@ -676,7 +676,7 @@ var Index = &ctx.Context{Name: "yac", Help: "语法中心",
if e1 == nil && e2 == nil {
result = fmt.Sprintf("%d", v1-v2)
} else {
result = strings.Replace(arg[0], arg[1], "", -1)
result = strings.Replace(arg[0], arg[2], "", -1)
}
case "*":
result = arg[0]

View File

@ -53,11 +53,12 @@ kit dir "目录" private "ssh._route" _ "nfs.dir" _ time size line path \
text "usr/script" name dir imports plugin_dir action auto view long \
button "浏览" action auto \
button "返回" cb Last \
feature display editor \
exports dir "" dir
kit git "版本" private "ssh._route" _ "nfs.git" __ \
text "" name pod imports plugin_pod action auto \
select "" values status values diff commit values values log values init action auto \
text "" name txt action auto \
button "查看"
button "查看"

View File

@ -468,8 +468,13 @@ var page = Page({
var status = JSON.parse(line.status)
kit.Selector(page.action, "fieldset.item", function(field, index) {
var args = status[index].args
kit.Selector(field, ".args", function(input, index) {
input.value = args[index]||""
args = args.slice(kit.Selector(field, ".args", function(input, index) {
return input.value = args[index]||""
}).length)
kit.List(args, function(arg) {
field.Plugin.Append({type: "text"}, "", arg)
})
})
},

View File

@ -445,3 +445,10 @@ fieldset pre code, fieldset code pre {
display:block;
}
fieldset.item>div.output>code.div {
}
fieldset.item>div.output>div.code div.number {
float:left;
}

View File

@ -1426,6 +1426,20 @@ function Output(plugin, type, msg, cb, target, option) {
typeof cb == "function" && cb(msg)
},
editor: function(msg, cb) {
target.innerHTML = ""
output.onimport.meta._table(msg, msg.append)
if (msg.file) {
var code = kit.AppendChild(target, [{view: ["code", "table"], list: kit.List(msg.result, function(line, index) {
return {view: ["line", "tr"], list: [{view: ["number", "td", index+1]}, {view: ["code", "td", kit.Color(line)], style: {"white-space": "pre"}}], click: function(event) {
page.Sync("plugin_editor_file").set(msg.file[0])
page.Sync("plugin_editor_index").set(index+1)
page.Sync("plugin_editor_line").set(line)
page.Sync("plugin_editor_word").set(kit.CopyText())
}}
})}])
}
typeof cb == "function" && cb(msg)
return
(target.innerHTML = "", Editor(plugin.Run, plugin, option, target, target.clientWidth-40, 400, 10, msg))
},
canvas: function(msg, cb) {

View File

@ -444,10 +444,11 @@ kit = toolkit = (function() {var kit = {__proto__: document,
}
text = window.getSelection().toString()
if (text == "") {return}
if (text == "") {return ""}
kit.History("txt", -1) && kit.History("txt", -1).data == text || kit.History("txt", -1, text) && document.execCommand("copy")
input && document.body.removeChild(input)
return text
},
DelText: function(target, start, count) {
target.value = target.value.substring(0, start)+target.value.substring(start+(count||target.value.length), target.value.length)
@ -538,6 +539,8 @@ kit = toolkit = (function() {var kit = {__proto__: document,
s = s.replace(/\033\[31m/g, "<span style='color:#f00'>")
s = s.replace(/\033\[0m/g, "</span>")
s = s.replace(/\033\[m/g, "</span>")
s = s.replace(/</g, "&lt;")
s = s.replace(/>/g, "&gt;")
return s
},
Value: function() {