mirror of
https://shylinux.com/x/volcanos
synced 2025-04-25 08:48:06 +08:00
add some
This commit is contained in:
parent
84280ccb94
commit
6779eed0c5
8
frame.js
8
frame.js
@ -178,11 +178,9 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
|
||||
_target: can.onappend.input(can, item, args[index]||opts[item.name], option||can._option), _option: option||can._option, _action: can._action, _output: can._output, _status: can._status,
|
||||
CloneField: can.Clone, CloneInput: function() { can.onmotion.focus(can, add(item)._target) }, Input: can.Input, Option: can.Option, Action: can.Action, Status: can.Status,
|
||||
}, [item.display, chat.PLUGIN_INPUT_JS], function(sub) { sub.Conf(item)
|
||||
if (item.type == html.BUTTON && can.base.isIn(item.name, mdb.CREATE, mdb.INSERT)) {
|
||||
can.onappend.style(can, "icons", sub._target.parentNode)
|
||||
can.page.Append(can, sub._target.parentNode, [{icon: item.name, onclick: function(event) {
|
||||
can.Update(event, [ctx.ACTION, item.name])
|
||||
}}]) }
|
||||
if (item.type == html.BUTTON && can.base.isIn(item.name, mdb.CREATE, mdb.INSERT)) { can.onappend.style(can, "icons", sub._target.parentNode)
|
||||
can.page.Append(can, sub._target.parentNode, [{icon: item.name, onclick: function(event) { can.Update(event, [ctx.ACTION, item.name]) }}])
|
||||
}
|
||||
if (item.type == html.TEXT) { can.page.Append(can, sub._target.parentNode, [{text: [sub._target.value, html.SPAN, mdb.VALUE]}]) }
|
||||
sub.run = function(event, cmds, cb, silent) { var msg = can.request(event, kit.Dict(chat._TOAST, ice.PROCESS))._caller()
|
||||
msg.RunAction(event, sub, cmds) || msg.RunAction(event, can.core.Value(can, chat._OUTPUTS_CURRENT), cmds) || can.Update(event, can.Input(cmds, !silent), cb, silent)
|
||||
|
@ -6,7 +6,7 @@ select { background-color:black; color:cyan; padding:0 10px; margin-right:5px; }
|
||||
input:not([type=file]) { background-color:cyan; padding:0 5px; margin-right:5px; }
|
||||
input:not([type=button]) { width:120px; }
|
||||
input[name=path] { width:160px; }
|
||||
input[name=line] { width:40px; }
|
||||
input[name=line] { width:60px; }
|
||||
input[name=limit] { width:60px; }
|
||||
input[name=offend] { width:60px; }
|
||||
input[name=id] { width:60px; }
|
||||
@ -365,8 +365,8 @@ fieldset.can.data { font-size:14px; }
|
||||
body.mobile fieldset.plugin>legend { border:none; }
|
||||
body.en fieldset.input.date.float>div.action>div.item.select { margin:0 5px; }
|
||||
body.en fieldset.input.date.float>div.action>div.item.select select { width:64px; }
|
||||
body.en fieldset.input.date.float>div.action>div.item.select.year select { width:115px; }
|
||||
body.en fieldset.input.date.float>div.action>div.item.select.month select { width:115px; }
|
||||
body.en fieldset.input.date.float>div.action>div.item.select.year select { width:114px; }
|
||||
body.en fieldset.input.date.float>div.action>div.item.select.month select { width:112px; }
|
||||
body.zh fieldset.input.date.float>div.action>div.item.select { margin:0 5px; }
|
||||
body.zh fieldset.input.date.float>div.action>div.item.select select { width:68px; }
|
||||
body.zh fieldset.input.date.float>div.action>div.item.select.year select { width:95px; }
|
||||
|
@ -95,6 +95,9 @@ div.vimer.open.float td:first-child { display:none; }
|
||||
div.path span.item { padding:5px; }
|
||||
div.carte.path.float { font-size:14px; border-radius:0; } div.carte.path.float div.item { padding:5px; }
|
||||
div.carte.cmd.float { font-size:14px; border-radius:0; } div.cmd.path.float div.item { padding:5px; }
|
||||
tr.line.delete { background-color:#ff000036; color:gray; }
|
||||
tr.line.insert { background-color:#00800036; }
|
||||
fieldset.inner>div.output>div.project div.item.modify { background-color:#00800036; }
|
||||
tr.line>td.line { text-align:right; padding:0 10px; position:sticky; left:0; }
|
||||
tr.line>td.text { line-height:20px; white-space:pre; padding-left:10px; cursor:text; }
|
||||
body.white tr.line.select { background-color:dimgray; } body.white tr.line:hover { background-color:dimgray; }
|
||||
|
@ -3,10 +3,10 @@ const PROJECT_HIDE = "web.code.inner:project", TABVIEW_HIDE = "web.code.inner:ta
|
||||
const CURRENT_FILE = "web.code.inner:currentFile", SELECT_LINE = "web.code.inner:selectLine"
|
||||
const VIEW_CREATE = "tabview.view.create", VIEW_REMOVE = "tabview.view.remove", LINE_SELECT = "tabview.line.select"
|
||||
Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb, target) { can.onmotion.clear(can), can.onappend.style(can, code.INNER)
|
||||
if (msg.Option(nfs.FILE)) { can.Option(nfs.FILE, msg.Option(nfs.FILE))
|
||||
msg.Option(nfs.PATH) && can.Option(nfs.PATH, msg.Option(nfs.PATH))
|
||||
msg.Option(nfs.LINE) && can.Option(nfs.LINE, msg.Option(nfs.LINE))
|
||||
} if (msg.Result() == "" && can.Option(nfs.LINE) == "1") { return }
|
||||
// if (msg.Option(nfs.FILE)) { can.Option(nfs.FILE, msg.Option(nfs.FILE))
|
||||
// msg.Option(nfs.PATH) && can.Option(nfs.PATH, msg.Option(nfs.PATH))
|
||||
// msg.Option(nfs.LINE) && can.Option(nfs.LINE, msg.Option(nfs.LINE))
|
||||
// } if (msg.Result() == "" && can.Option(nfs.LINE) == "1") { return }
|
||||
var files = can.core.Split(can.Option(nfs.FILE), ice.FS); can.Option(nfs.FILE, files[0])
|
||||
var paths = can.core.Split(can.Option(nfs.PATH), ice.FS); can.Option(nfs.PATH, paths[0])
|
||||
can.core.List(paths.concat(can.core.Split(msg.Option(nfs.REPOS))), function(p) { if (can.base.endWith(p, "-story/", "-dict/")) { return }
|
||||
@ -269,7 +269,10 @@ Volcanos(chat.ONSYNTAX, {_init: function(can, msg, cb) {
|
||||
}, can.ui._content, can.ui._profile, can.ui._display)) { return can.base.isFunc(cb) && cb(msg._content) }
|
||||
if (can.base.Ext(can.Option(nfs.FILE)) == nfs.SVG) { msg.Option(ctx.INDEX, web.WIKI_DRAW+ice.FS+can.Option(nfs.PATH)+can.Option(nfs.FILE)) }
|
||||
if (msg.Option(ctx.INDEX)) { return can.onsyntax._index(can, msg, cb) }
|
||||
function show(p) { can.db.max = 0, can.core.List(msg.Result().split(ice.NL), function(item) { can.onaction.appendLine(can, item) })
|
||||
function show(p) { can.db.max = 0
|
||||
if (msg.Length() > 0) { can.onsyntax._change(can, msg), can.onaction.rerankLine(can, "tr.line:not(.delete)>td.line")
|
||||
can.page.Select(can, can.ui.content, "tr.line.delete>td.line", function(target) { target.innerHTML = "" })
|
||||
} else { can.core.List(msg.Result().split(ice.NL), function(item) { can.onaction.appendLine(can, item) }) }
|
||||
can.onengine.signal(can, VIEW_CREATE, msg), can.base.isFunc(cb) && cb(msg._content = can.ui._content)
|
||||
} can.require(["inner/syntax.js"], function() { can.Conf(chat.PLUG) && (can.onsyntax[can.db.parse] = can.Conf(chat.PLUG))
|
||||
var p = can.onsyntax[can.db.parse]; !p? can.runAction({}, mdb.PLUGIN, [can.db.parse, can.Option(nfs.FILE), can.Option(nfs.PATH)], function(msg) {
|
||||
@ -277,12 +280,38 @@ Volcanos(chat.ONSYNTAX, {_init: function(can, msg, cb) {
|
||||
}): show(p)
|
||||
})
|
||||
},
|
||||
_change: function(can, msg) { var _delete = [], _insert = [], deletes = [], inserts = []
|
||||
function append() { var rest = []
|
||||
while (deletes.length > 0 && inserts.length > 0 && deletes[0] == inserts[0]) {
|
||||
can.onaction.appendLine(can, deletes[0]), deletes = deletes.slice(1), inserts = inserts.slice(1)
|
||||
}
|
||||
while (deletes.length > 0 && inserts.length > 0 && deletes[deletes.length-1] == inserts[inserts.length-1]) {
|
||||
can.onaction.appendLine(can, deletes[deletes.length-1]), deletes.pop(), inserts.pop()
|
||||
}
|
||||
while (deletes.length > 0 && inserts.length > 0 && deletes[0] == inserts[inserts.length-1]) {
|
||||
rest.push(deletes[0]), deletes = deletes.slice(1), inserts.pop()
|
||||
}
|
||||
can.core.List(deletes, function(item) { can.onappend.style(can, mdb.DELETE, can.onaction.appendLine(can, item)) }), deletes = []
|
||||
can.core.List(inserts, function(item) { can.onappend.style(can, mdb.INSERT, can.onaction.appendLine(can, item)) }), inserts = []
|
||||
can.core.List(rest, function(item) { can.onaction.appendLine(can, item) })
|
||||
}
|
||||
msg.Table(function(value) { can.core.List(value.text.split(ice.NL), function(item, index, list) {
|
||||
if (index == list.length-1 && !can.base.endWith(value.text, ice.NL)) {
|
||||
if (value.type == mdb.DELETE) { _delete.push(item) } else if (value.type == mdb.INSERT) { _insert.push(item) } else { _delete.push(item), _insert.push(item) }
|
||||
} else if (value.type == mdb.DELETE) {
|
||||
_delete.push(item), deletes.push(_delete.join("")), _delete = []
|
||||
} else if (value.type == mdb.INSERT) {
|
||||
_insert.push(item), inserts.push(_insert.join("")), _insert = []
|
||||
} else if (_delete.length > 0 || _insert.length > 0) {
|
||||
_delete.push(item), _insert.push(item), deletes.push(_delete.join("")), _delete = [], inserts.push(_insert.join("")), _insert = []
|
||||
} else { append(), can.onaction.appendLine(can, item) }
|
||||
}) }), _delete.length > 0 && deletes.push(_delete.join("")), _insert.length > 0 && inserts.push(_insert.join("")), append()
|
||||
},
|
||||
_space: function(can, msg, cb) { if (can.Option(nfs.LINE) == web.SPACE) { can.ui.zone.space && can.onmotion.delay(can, function() { can.ui.zone.space.refresh() }, 5000)
|
||||
return can.base.isFunc(cb) && cb(msg._content = can.page.insertBefore(can, [{view: [html.CONTENT, html.IFRAME],
|
||||
src: can.misc.MergePodCmd(can, {pod: can.Option(nfs.FILE)}), height: can.ui.content.offsetHeight, width: can.ui.content.offsetWidth}], can.ui._content)), true
|
||||
} },
|
||||
_index: function(can, msg, cb) { if (msg._content) { return can.base.isFunc(cb) && cb(msg._content) } if (can.onsyntax._space(can, msg, cb)) { return }
|
||||
|
||||
var index = msg.Option(ctx.INDEX).split(ice.FS), item = {type: chat.STORY, index: index[0], args: index.slice(1)}
|
||||
can.onimport.plug(can, item, function(sub) { sub.onimport.size(sub, can.ui.content.offsetHeight, can.ui.content.offsetWidth, true)
|
||||
sub.onimport._open = function(sub, msg, arg) { can.onimport.tabview(can, "", arg, web.SPACE), sub.Update() }
|
||||
@ -317,6 +346,7 @@ Volcanos(chat.ONSYNTAX, {_init: function(can, msg, cb) {
|
||||
})
|
||||
Volcanos(chat.ONACTION, {
|
||||
_getLine: function(can, line) { return can.page.Select(can, can.ui.content, "tr.line>td.line", function(td, index) { if (td.parentNode == line || index+1 == line) { return td.parentNode } })[0] },
|
||||
modifyLine: function(can, line, value) { can.page.Select(can, can.onaction._getLine(can, line), "td.text", function(td) { td.innerHTML = can.onsyntax._parse(can, value) }) },
|
||||
appendLine: function(can, value) { var ui = can.page.Append(can, can.ui._content, [{view: [nfs.LINE, html.TR], list: [
|
||||
{view: [nfs.LINE, html.TD, ++can.db.max], onclick: function(event) {
|
||||
can.onaction.selectLine(can, ui.tr)
|
||||
@ -326,6 +356,7 @@ Volcanos(chat.ONACTION, {
|
||||
if (event.metaKey) { if (ui.text.innerText.indexOf(ice.HTTP) > -1) { var ls = (/(http[^ ]+)/).exec(ui.text.innerText); if (ls && ls[1]) { can.user.open(ls[1]) } } }
|
||||
}, ondblclick: function(event) { can.onaction.searchLine(event, can, can.onexport.selection(can, ui.text.innerText)) }}
|
||||
]}]); return ui._target },
|
||||
rerankLine: function(can, which) { can.db.max = can.page.Select(can, can.ui.content, which||"tr.line:not(.delete)>td.line", function(td, index) { return td.innerText = index+1 }).length },
|
||||
selectLine: function(can, line, scroll) { if (!line) { return can.onexport.line(can, can.page.SelectOne(can, can.ui.content, "tr.select")) }
|
||||
can.page.Select(can, can.ui._content, "tr.line>td.line", function(target) { var n = parseInt(target.innerText); target = target.parentNode
|
||||
if (!can.page.ClassList.set(can, target, html.SELECT, n == line || target == line)) { return }
|
||||
|
@ -33,11 +33,19 @@ Volcanos(chat.ONFIGURE, {
|
||||
var total, cache; function add(list) {
|
||||
can.core.List(list, function(item) { if (path == args[0] && args[1].indexOf(item.path) == 0) { item.expand = true }
|
||||
item._menu = shy({trash: function(event, button) {
|
||||
can.runAction(event, nfs.TRASH, [path+item.path], function() {
|
||||
show(target, zone, path)
|
||||
})
|
||||
can.runAction(event, nfs.TRASH, [path+item.path], function() { show(target, zone, path) })
|
||||
}})
|
||||
item._init = function(target) { item._remove = function() { can.page.Remove(can, target.parentNode), delete(cache[item.path]) } }
|
||||
if (msg.result && msg.result.indexOf(item.path) > -1) { item.expand = true }
|
||||
item._init = function(target) {
|
||||
if (msg.result && msg.result.indexOf(item.path) > -1) {
|
||||
can.onmotion.delay(can, function() { can.onappend.style(can, mdb.MODIFY, target.parentNode)
|
||||
for (var _target = target.parentNode; _target != zone._target; _target = _target.parentNode) {
|
||||
_target.previousSibling && can.onappend.style(can, mdb.MODIFY, _target.previousSibling)
|
||||
}
|
||||
})
|
||||
}
|
||||
item._remove = function() { can.page.Remove(can, target.parentNode), delete(cache[item.path]) }
|
||||
}
|
||||
}); return can.onimport.tree(can, list, nfs.PATH, ice.PS, function(event, item) { can.onimport.tabview(can, path, item.path) }, target, cache)
|
||||
} cache = add(msg.Table()), can.Status(mdb.COUNT, total += zone._total(msg.Length()))
|
||||
}, true) } if (path.length == 1) { return show(target, zone, path[0]) }
|
||||
@ -68,7 +76,7 @@ Volcanos(chat.ONFIGURE, {
|
||||
} }
|
||||
}) },
|
||||
})
|
||||
Volcanos(chat.ONACTION, {list: ["编译", "提交", "首页", "收藏", "脑图", "计划"],
|
||||
Volcanos(chat.ONACTION, {list: ["编译", "变更", "源码", "终端", "导图", "计划", "收藏", "首页"],
|
||||
_run: function(event, can, button, args, cb) { can.runAction(event, button, args, cb||function(msg) {
|
||||
can.onimport.tabview(can, msg.Option(nfs.PATH), msg.Option(nfs.FILE)), can.ui.zone.source.refresh(), can.user.toastSuccess(can, button)
|
||||
}) },
|
||||
@ -106,11 +114,13 @@ Volcanos(chat.ONACTION, {list: ["编译", "提交", "首页", "收藏", "脑图"
|
||||
var sub = can.db.toolkit[list[0]]; sub? sub.select(): can.onimport.exts(can, list[0])
|
||||
}) },
|
||||
"编译": function(event, can) { can.onaction.compile(event, can, code.COMPILE) },
|
||||
"提交": function(event, can) { can.onimport.tabview(can, "", web.CODE_GIT_STATUS, ctx.INDEX) },
|
||||
"首页": function(event, can) { can.onimport.tabview(can, "", location.origin+ice.PS+(can.misc.Search(can, log.DEBUG) == ice.TRUE? "?debug=true": ""), web.SPACE) },
|
||||
"收藏": function(event, can) { can.onimport.tabview(can, "", web.CHAT_FAVOR, ctx.INDEX) },
|
||||
"脑图": function(event, can) { can.onimport.tabview(can, "", web.WIKI_DRAW, ctx.INDEX) },
|
||||
"变更": function(event, can) { can.onimport.tabview(can, "", [web.CODE_GIT_REPOS, can.core.Split(can.Option(nfs.PATH), nfs.PS).pop(), nfs.MASTER, "index", can.Option(nfs.FILE)].join(ice.FS), ctx.INDEX) },
|
||||
"源码": function(event, can) { can.onimport.tabview(can, "", web.CODE_GIT_REPOS, ctx.INDEX) },
|
||||
"终端": function(event, can) { can.onimport.tabview(can, "", web.CODE_XTERM, ctx.INDEX) },
|
||||
"导图": function(event, can) { can.onimport.tabview(can, "", web.WIKI_DRAW, ctx.INDEX) },
|
||||
"计划": function(event, can) { can.onimport.tabview(can, "", web.TEAM_PLAN, ctx.INDEX) },
|
||||
"收藏": function(event, can) { can.onimport.tabview(can, "", web.CHAT_FAVOR, ctx.INDEX) },
|
||||
"首页": function(event, can) { can.onimport.tabview(can, "", location.origin+ice.PS+(can.misc.Search(can, log.DEBUG) == ice.TRUE? "?debug=true": ""), web.SPACE) },
|
||||
"全屏": function(event, can) { can._target.requestFullScreen() },
|
||||
"录屏": function(event, can) { window.openapp("QuickTime Player") },
|
||||
"编辑器": function(event, can) { window.opencmd("cd ~/contexts; vim +"+can.Option(nfs.LINE)+" "+can.Option(nfs.PATH)+can.Option(nfs.FILE)) },
|
||||
@ -170,10 +180,8 @@ Volcanos(chat.ONACTION, {list: ["编译", "提交", "首页", "收藏", "脑图"
|
||||
can.current.line.appendChild(target), can.page.style(can, target, html.LEFT, td.offsetLeft-1, html.TOP, td.offsetTop, html.WIDTH, can.base.Min(td.offsetWidth, can.ui._content.offsetWidth))
|
||||
can.db.mode == mdb.NORMAL && can.onkeymap._normal(can)
|
||||
}) },
|
||||
rerankLine: function(can, value) { can.db.max = can.page.Select(can, can.ui.content, "tr>td.line", function(td, index) { return td.innerText = index+1 }).length },
|
||||
insertLine: function(can, value, before) { var line = can.onaction.appendLine(can, value); before && can.ui.content.insertBefore(line, can.onaction._getLine(can, before)); return can.onaction.rerankLine(can), can.onexport.line(can, line) },
|
||||
deleteLine: function(can, line) { line = can.onaction._getLine(can, line); var next = line.nextSibling||line.previousSibling; return can.page.Remove(can, line), can.onaction.rerankLine(can), next },
|
||||
modifyLine: function(can, line, value) { can.page.Select(can, can.onaction._getLine(can, line), "td.text", function(td) { td.innerHTML = can.onsyntax._parse(can, value) }) },
|
||||
scrollHold: function(can, count, begin) { var scroll = can.ui.content.scrollLeft; can.ui.current.focus(), count != undefined && can.onkeymap.cursorMove(can.ui.current, count, begin == undefined? count: begin), can.ui.content.scrollLeft = scroll },
|
||||
cursorDown: function(can, target) { var p = can.onkeymap.cursorMove(target); can.onaction.selectLine(can, can.current.next()), can.onkeymap.cursorMove(target, 0, p) },
|
||||
cursorUp: function(can, target) { var p = can.onkeymap.cursorMove(target); can.onaction.selectLine(can, can.current.prev()), can.onkeymap.cursorMove(target, 0, p) },
|
||||
|
@ -10,9 +10,9 @@ fieldset.plan>div.output table.content.plan td div.date { color:gray; }
|
||||
fieldset.plan>div.output table.content.plan td div.date span.lunar { font-size:12px; }
|
||||
fieldset.plan>div.output table.content.plan td div.date span.lunar.fest { color:red; }
|
||||
fieldset.plan>div.output table.content.plan td div.date span.lunar.term { color:green; }
|
||||
fieldset.plan>div.output table.content.plan td div.prepare { background-color:blue; }
|
||||
fieldset.plan>div.output table.content.plan td div.process { background-color:green; }
|
||||
fieldset.plan>div.output table.content.plan td div.cancel { background-color:red; }
|
||||
fieldset.plan>div.output table.content.plan td div.prepare { background-color:#0000ff70; }
|
||||
fieldset.plan>div.output table.content.plan td div.process { background-color:#00800070; }
|
||||
fieldset.plan>div.output table.content.plan td div.cancel { background-color:#ff000070; }
|
||||
fieldset.plan>div.output table.content.plan td div.finish { background-color:gray; }
|
||||
fieldset.plan>div.output table.content.plan tr:first-child { height:30px; position:sticky; top:2px; }
|
||||
fieldset.plan>div.output table.content.plan th:first-child { width:40px; position:sticky; left:2px; }
|
@ -12,11 +12,15 @@ Volcanos(chat.ONIMPORT, {
|
||||
_clear: function(can, msg) { can.onmotion.clear(can) },
|
||||
_inner: function(can, msg) { can.onappend.table(can, msg), can.onappend.board(can, msg), can.onmotion.story.auto(can) },
|
||||
_field: function(can, msg) { var height = can.ConfHeight(); can.page.SelectChild(can, can._output, html.TABLE, function(target) { height -= target.offsetHeight })
|
||||
msg.Table(function(item) { can.onappend._plugin(can, item, {index: item.index, args: can.base.Obj(item.args||item.arg, []), height: can.base.Min(height, 240)}, function(sub, meta) {
|
||||
height = can.base.Min(height, can.isCmdMode()? can.ConfHeight()/2: 320)
|
||||
msg.Table(function(item) { can.onappend._plugin(can, item, {index: item.index, args: can.base.Obj(item.args||item.arg, []), height: height}, function(sub, meta) {
|
||||
sub.Conf(can.base.Obj(item.conf)); if (sub.isSimpleMode()) { sub.ConfHeight(can.ConfHeight()/2)
|
||||
var res = can.request(); res.Echo(sub.Conf(ice.MSG_RESULT)), can.onappend._output(sub, res, sub.Conf(ctx.DISPLAY)); return
|
||||
}
|
||||
sub.run = function(event, cmds, cb) { sub.onimport.size(sub, height, can.ConfWidth(), true)
|
||||
sub.onexport.output = function() {
|
||||
can.page.SelectChild(can, can._output, html.TABLE, function(target) { can.page.style(can, target, html.MAX_HEIGHT, can.ConfHeight()-height, html.DISPLAY, html.BLOCK) })
|
||||
}
|
||||
can.run(event, (!msg.Option("_index") || msg.Option("_index") == can._index || can._index.indexOf("can.") == 0? msg[ice.MSG_PREFIX]||[]: [ice.RUN, msg.Option("_index")]).concat(cmds), cb, true)
|
||||
}
|
||||
}) })
|
||||
|
6
proto.js
6
proto.js
@ -84,7 +84,7 @@ var web = {CHAT: "chat",
|
||||
Accept: "Accept", ContentType: "Content-Type", ContentJSON: "application/json", ContentFORM: "application/x-www-form-urlencoded",
|
||||
IMAGE_PNG: "image/png", VIDEO_WEBM: "video/webm",
|
||||
|
||||
CODE_GIT_STATUS: "web.code.git.status",
|
||||
CODE_GIT_REPOS: "web.code.git.repos", CODE_GIT_STATUS: "web.code.git.status",
|
||||
CHAT_FAVOR: "web.chat.favor",
|
||||
CODE_XTERM: "web.code.xterm", CODE_VIMER: "web.code.vimer", CODE_INNER: "web.code.inner",
|
||||
WIKI_WORD: "web.wiki.word", WIKI_DRAW: "web.wiki.draw", WIKI_FEEL: "web.wiki.feel",
|
||||
@ -115,6 +115,7 @@ var nfs = {
|
||||
DIR: "dir", CAT: "cat", DEFS: "defs", TRASH: "trash", DIR_ROOT: "dir_root", PWD: "./",
|
||||
COPY: "copy", EDIT: "edit", SAVE: "save", LOAD: "load", FIND: "find", GREP: "grep", TAGS: "tags",
|
||||
CONTENT: "content", RECENT: "recent", SCRIPT: "script", MODULE: "module", SOURCE: "source", TARGET: "target", REPOS: "repos",
|
||||
MASTER: "master",
|
||||
PATH: "path", FILE: "file", LINE: "line", SIZE: "size",
|
||||
REPLACE: "replace", FROM: "from", TO: "to",
|
||||
HTML: "html", CSS: "css", JS: "js", SH: "sh", GO: "go", CSV: "csv", JSON: "json",
|
||||
@ -123,6 +124,9 @@ var nfs = {
|
||||
_CSS: ".css", _JS: ".js",
|
||||
SRC: "src/",
|
||||
OPENS: "opens",
|
||||
PS: "/",
|
||||
PT: ".",
|
||||
DF: ":",
|
||||
}
|
||||
var cli = {
|
||||
PWD: "pwd", SYSTEM: "system", DAEMON: "daemon", ORDER: "order", BUILD: "build",
|
||||
|
Loading…
x
Reference in New Issue
Block a user