1
0
forked from x/icebergs
This commit is contained in:
harveyshao 2022-10-20 20:27:39 +08:00
parent 1991db8302
commit 4f44433478
2 changed files with 27 additions and 6 deletions

View File

@ -16,27 +16,34 @@ import (
)
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) {
if !strings.Contains(line, ice.DF) {
continue
}
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) {
m.Push(nfs.PATH, p)
m.Push(nfs.FILE, strings.TrimPrefix(ls[0], p))
m.Push(nfs.LINE, ls[1])
m.Push(mdb.TEXT, ls[3])
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 {
m.Echo(msg.Append(cli.CMD_OUT))
m.Echo(msg.Append(cli.CMD_ERR))
m.Echo(msg.Append(cli.CMD_OUT)).Echo(msg.Append(cli.CMD_ERR))
}
m.StatusTime()
}
const VIMER = "vimer"
@ -57,7 +64,15 @@ func init() {
case ctx.INDEX:
m.Cmdy(ctx.COMMAND, mdb.SEARCH, ctx.COMMAND, ice.OptionFields(ctx.INDEX))
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]))
})
for _, p := range kit.Split(kit.Select(m.Option(nfs.PATH), m.Option("paths"))) {

View File

@ -1,6 +1,8 @@
package chart
import (
"strings"
ice "shylinux.com/x/icebergs"
"shylinux.com/x/icebergs/base/lex"
"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, "fill", m.Option("order.fg"))
}
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()
}