forked from x/icebergs
opt some
This commit is contained in:
parent
1991db8302
commit
4f44433478
@ -16,27 +16,34 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func _vimer_make(m *ice.Message, dir string, msg *ice.Message) {
|
func _vimer_make(m *ice.Message, dir string, msg *ice.Message) {
|
||||||
|
defer m.StatusTime()
|
||||||
for _, line := range strings.Split(msg.Append(cli.CMD_ERR), ice.NL) {
|
for _, line := range strings.Split(msg.Append(cli.CMD_ERR), ice.NL) {
|
||||||
if !strings.Contains(line, ice.DF) {
|
if !strings.Contains(line, ice.DF) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if ls := strings.SplitN(line, ice.DF, 4); len(ls) > 3 {
|
if ls := strings.SplitN(line, ice.DF, 4); len(ls) > 3 {
|
||||||
for _, p := range kit.Split(dir) {
|
for i, p := range kit.Split(dir) {
|
||||||
if strings.HasPrefix(ls[0], p) {
|
if strings.HasPrefix(ls[0], p) {
|
||||||
m.Push(nfs.PATH, p)
|
m.Push(nfs.PATH, p)
|
||||||
m.Push(nfs.FILE, strings.TrimPrefix(ls[0], p))
|
m.Push(nfs.FILE, strings.TrimPrefix(ls[0], p))
|
||||||
m.Push(nfs.LINE, ls[1])
|
m.Push(nfs.LINE, ls[1])
|
||||||
m.Push(mdb.TEXT, ls[3])
|
m.Push(mdb.TEXT, ls[3])
|
||||||
break
|
break
|
||||||
|
} else if n := 2; i == strings.Count(dir, ice.FS) {
|
||||||
|
if strings.HasPrefix(ls[0], "src/") {
|
||||||
|
n = 1
|
||||||
|
}
|
||||||
|
m.Push(nfs.PATH, kit.Join(kit.Slice(kit.Split(ls[0], ice.PS, ice.PS), 0, n), ice.PS)+ice.PS)
|
||||||
|
m.Push(nfs.FILE, kit.Join(kit.Slice(kit.Split(ls[0], ice.PS, ice.PS), n), ice.PS))
|
||||||
|
m.Push(nfs.LINE, ls[1])
|
||||||
|
m.Push(mdb.TEXT, ls[3])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if m.Length() == 0 {
|
if m.Length() == 0 {
|
||||||
m.Echo(msg.Append(cli.CMD_OUT))
|
m.Echo(msg.Append(cli.CMD_OUT)).Echo(msg.Append(cli.CMD_ERR))
|
||||||
m.Echo(msg.Append(cli.CMD_ERR))
|
|
||||||
}
|
}
|
||||||
m.StatusTime()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const VIMER = "vimer"
|
const VIMER = "vimer"
|
||||||
@ -57,7 +64,15 @@ func init() {
|
|||||||
case ctx.INDEX:
|
case ctx.INDEX:
|
||||||
m.Cmdy(ctx.COMMAND, mdb.SEARCH, ctx.COMMAND, ice.OptionFields(ctx.INDEX))
|
m.Cmdy(ctx.COMMAND, mdb.SEARCH, ctx.COMMAND, ice.OptionFields(ctx.INDEX))
|
||||||
default:
|
default:
|
||||||
m.Cmd(mdb.RENDER, kit.Ext(m.Option(nfs.FILE)), m.Option(nfs.FILE), m.Option(nfs.PATH)).Tables(func(value ice.Maps) {
|
p := m.Option(nfs.PATH)
|
||||||
|
list := ice.Map{}
|
||||||
|
m.Cmd(FAVOR, "_recent_file").Tables(func(value ice.Maps) {
|
||||||
|
if p := value[nfs.PATH]+value[nfs.FILE]; list[p] == nil {
|
||||||
|
m.Push(nfs.PATH, p)
|
||||||
|
list[p] = value
|
||||||
|
}
|
||||||
|
})
|
||||||
|
m.Cmd(mdb.RENDER, kit.Ext(m.Option(nfs.FILE)), m.Option(nfs.FILE), p).Tables(func(value ice.Maps) {
|
||||||
m.Push(nfs.PATH, kit.Format("line:%s:%s:%s", value[nfs.LINE], value["kind"], value[mdb.NAME]))
|
m.Push(nfs.PATH, kit.Format("line:%s:%s:%s", value[nfs.LINE], value["kind"], value[mdb.NAME]))
|
||||||
})
|
})
|
||||||
for _, p := range kit.Split(kit.Select(m.Option(nfs.PATH), m.Option("paths"))) {
|
for _, p := range kit.Split(kit.Select(m.Option(nfs.PATH), m.Option("paths"))) {
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
package chart
|
package chart
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"strings"
|
||||||
|
|
||||||
ice "shylinux.com/x/icebergs"
|
ice "shylinux.com/x/icebergs"
|
||||||
"shylinux.com/x/icebergs/base/lex"
|
"shylinux.com/x/icebergs/base/lex"
|
||||||
"shylinux.com/x/icebergs/base/mdb"
|
"shylinux.com/x/icebergs/base/mdb"
|
||||||
@ -86,7 +88,11 @@ func (l *Label) Draw(m *ice.Message, x, y int) wiki.Chart {
|
|||||||
args = append(args, "stroke", m.Option("order.fg"))
|
args = append(args, "stroke", m.Option("order.fg"))
|
||||||
args = append(args, "fill", m.Option("order.fg"))
|
args = append(args, "fill", m.Option("order.fg"))
|
||||||
}
|
}
|
||||||
gs.EchoTexts(TEXT, left+item.GetWidths()/2, top+item.GetHeights()/2+4, item.Text, args...)
|
if strings.Contains(m.Option(ice.MSG_USERUA), "Chrome") || strings.Contains(m.Option(ice.MSG_USERUA), "Mobile") {
|
||||||
|
gs.EchoTexts(TEXT, left+item.GetWidths()/2, top+item.GetHeights()/2, item.Text, args...)
|
||||||
|
} else {
|
||||||
|
gs.EchoTexts(TEXT, left+item.GetWidths()/2, top+item.GetHeights()/2+4, item.Text, args...)
|
||||||
|
}
|
||||||
|
|
||||||
left += item.GetWidths()
|
left += item.GetWidths()
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user