parent
8954e9f16a
commit
089e6dc705
35
app.go
35
app.go
@ -245,19 +245,6 @@ func (app *app) loop() {
|
|||||||
|
|
||||||
app.ui.readExpr()
|
app.ui.readExpr()
|
||||||
|
|
||||||
if gSelect != "" {
|
|
||||||
go func() {
|
|
||||||
lstat, err := os.Lstat(gSelect)
|
|
||||||
if err != nil {
|
|
||||||
app.ui.exprChan <- &callExpr{"echoerr", []string{err.Error()}, 1}
|
|
||||||
} else if lstat.IsDir() {
|
|
||||||
app.ui.exprChan <- &callExpr{"cd", []string{gSelect}, 1}
|
|
||||||
} else {
|
|
||||||
app.ui.exprChan <- &callExpr{"select", []string{gSelect}, 1}
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
}
|
|
||||||
|
|
||||||
if gConfigPath != "" {
|
if gConfigPath != "" {
|
||||||
if _, err := os.Stat(gConfigPath); !os.IsNotExist(err) {
|
if _, err := os.Stat(gConfigPath); !os.IsNotExist(err) {
|
||||||
app.readFile(gConfigPath)
|
app.readFile(gConfigPath)
|
||||||
@ -284,6 +271,28 @@ func (app *app) loop() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wd, err := os.Getwd()
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("getting current directory: %s", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
app.nav.getDirs(wd)
|
||||||
|
app.nav.addJumpList()
|
||||||
|
app.nav.init = true
|
||||||
|
|
||||||
|
if gSelect != "" {
|
||||||
|
go func() {
|
||||||
|
lstat, err := os.Lstat(gSelect)
|
||||||
|
if err != nil {
|
||||||
|
app.ui.exprChan <- &callExpr{"echoerr", []string{err.Error()}, 1}
|
||||||
|
} else if lstat.IsDir() {
|
||||||
|
app.ui.exprChan <- &callExpr{"cd", []string{gSelect}, 1}
|
||||||
|
} else {
|
||||||
|
app.ui.exprChan <- &callExpr{"select", []string{gSelect}, 1}
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
}
|
||||||
|
|
||||||
for {
|
for {
|
||||||
select {
|
select {
|
||||||
case <-app.quitChan:
|
case <-app.quitChan:
|
||||||
|
112
eval.go
112
eval.go
@ -793,46 +793,73 @@ func insert(app *app, arg string) {
|
|||||||
func (e *callExpr) eval(app *app, args []string) {
|
func (e *callExpr) eval(app *app, args []string) {
|
||||||
switch e.name {
|
switch e.name {
|
||||||
case "up":
|
case "up":
|
||||||
|
if (!app.nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
if app.nav.up(e.count) {
|
if app.nav.up(e.count) {
|
||||||
app.ui.loadFile(app.nav, true)
|
app.ui.loadFile(app.nav, true)
|
||||||
app.ui.loadFileInfo(app.nav)
|
app.ui.loadFileInfo(app.nav)
|
||||||
}
|
}
|
||||||
case "half-up":
|
case "half-up":
|
||||||
|
if (!app.nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
if app.nav.up(e.count * app.nav.height / 2) {
|
if app.nav.up(e.count * app.nav.height / 2) {
|
||||||
app.ui.loadFile(app.nav, true)
|
app.ui.loadFile(app.nav, true)
|
||||||
app.ui.loadFileInfo(app.nav)
|
app.ui.loadFileInfo(app.nav)
|
||||||
}
|
}
|
||||||
case "page-up":
|
case "page-up":
|
||||||
|
if (!app.nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
if app.nav.up(e.count * app.nav.height) {
|
if app.nav.up(e.count * app.nav.height) {
|
||||||
app.ui.loadFile(app.nav, true)
|
app.ui.loadFile(app.nav, true)
|
||||||
app.ui.loadFileInfo(app.nav)
|
app.ui.loadFileInfo(app.nav)
|
||||||
}
|
}
|
||||||
case "scrollup":
|
case "scrollup":
|
||||||
|
if (!app.nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
if app.nav.scrollup(e.count) {
|
if app.nav.scrollup(e.count) {
|
||||||
app.ui.loadFile(app.nav, true)
|
app.ui.loadFile(app.nav, true)
|
||||||
app.ui.loadFileInfo(app.nav)
|
app.ui.loadFileInfo(app.nav)
|
||||||
}
|
}
|
||||||
case "down":
|
case "down":
|
||||||
|
if (!app.nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
if app.nav.down(e.count) {
|
if app.nav.down(e.count) {
|
||||||
app.ui.loadFile(app.nav, true)
|
app.ui.loadFile(app.nav, true)
|
||||||
app.ui.loadFileInfo(app.nav)
|
app.ui.loadFileInfo(app.nav)
|
||||||
}
|
}
|
||||||
case "half-down":
|
case "half-down":
|
||||||
|
if (!app.nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
if app.nav.down(e.count * app.nav.height / 2) {
|
if app.nav.down(e.count * app.nav.height / 2) {
|
||||||
app.ui.loadFile(app.nav, true)
|
app.ui.loadFile(app.nav, true)
|
||||||
app.ui.loadFileInfo(app.nav)
|
app.ui.loadFileInfo(app.nav)
|
||||||
}
|
}
|
||||||
case "page-down":
|
case "page-down":
|
||||||
|
if (!app.nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
if app.nav.down(e.count * app.nav.height) {
|
if app.nav.down(e.count * app.nav.height) {
|
||||||
app.ui.loadFile(app.nav, true)
|
app.ui.loadFile(app.nav, true)
|
||||||
app.ui.loadFileInfo(app.nav)
|
app.ui.loadFileInfo(app.nav)
|
||||||
}
|
}
|
||||||
case "scrolldown":
|
case "scrolldown":
|
||||||
|
if (!app.nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
if app.nav.scrolldown(e.count) {
|
if app.nav.scrolldown(e.count) {
|
||||||
app.ui.loadFile(app.nav, true)
|
app.ui.loadFile(app.nav, true)
|
||||||
app.ui.loadFileInfo(app.nav)
|
app.ui.loadFileInfo(app.nav)
|
||||||
}
|
}
|
||||||
case "updir":
|
case "updir":
|
||||||
|
if (!app.nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
resetIncCmd(app)
|
resetIncCmd(app)
|
||||||
preChdir(app)
|
preChdir(app)
|
||||||
for i := 0; i < e.count; i++ {
|
for i := 0; i < e.count; i++ {
|
||||||
@ -846,6 +873,9 @@ func (e *callExpr) eval(app *app, args []string) {
|
|||||||
restartIncCmd(app)
|
restartIncCmd(app)
|
||||||
onChdir(app)
|
onChdir(app)
|
||||||
case "open":
|
case "open":
|
||||||
|
if (!app.nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
curr, err := app.nav.currFile()
|
curr, err := app.nav.currFile()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
app.ui.echoerrf("opening: %s", err)
|
app.ui.echoerrf("opening: %s", err)
|
||||||
@ -918,16 +948,25 @@ func (e *callExpr) eval(app *app, args []string) {
|
|||||||
case "quit":
|
case "quit":
|
||||||
app.quitChan <- struct{}{}
|
app.quitChan <- struct{}{}
|
||||||
case "top":
|
case "top":
|
||||||
|
if (!app.nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
if app.nav.top() {
|
if app.nav.top() {
|
||||||
app.ui.loadFile(app.nav, true)
|
app.ui.loadFile(app.nav, true)
|
||||||
app.ui.loadFileInfo(app.nav)
|
app.ui.loadFileInfo(app.nav)
|
||||||
}
|
}
|
||||||
case "bottom":
|
case "bottom":
|
||||||
|
if (!app.nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
if app.nav.bottom() {
|
if app.nav.bottom() {
|
||||||
app.ui.loadFile(app.nav, true)
|
app.ui.loadFile(app.nav, true)
|
||||||
app.ui.loadFileInfo(app.nav)
|
app.ui.loadFileInfo(app.nav)
|
||||||
}
|
}
|
||||||
case "toggle":
|
case "toggle":
|
||||||
|
if (!app.nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
if len(e.args) == 0 {
|
if len(e.args) == 0 {
|
||||||
app.nav.toggle()
|
app.nav.toggle()
|
||||||
} else {
|
} else {
|
||||||
@ -945,11 +984,17 @@ func (e *callExpr) eval(app *app, args []string) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
case "invert":
|
case "invert":
|
||||||
|
if (!app.nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
app.nav.invert()
|
app.nav.invert()
|
||||||
case "unselect":
|
case "unselect":
|
||||||
app.nav.unselect()
|
app.nav.unselect()
|
||||||
case "calcdirsize":
|
case "calcdirsize":
|
||||||
err := app.nav.getDirSize()
|
if (!app.nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
err := app.nav.calcDirSize()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
app.ui.echoerrf("calcdirsize: %s", err)
|
app.ui.echoerrf("calcdirsize: %s", err)
|
||||||
return
|
return
|
||||||
@ -958,6 +1003,10 @@ func (e *callExpr) eval(app *app, args []string) {
|
|||||||
app.nav.sort()
|
app.nav.sort()
|
||||||
app.ui.sort()
|
app.ui.sort()
|
||||||
case "copy":
|
case "copy":
|
||||||
|
if (!app.nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
if err := app.nav.save(true); err != nil {
|
if err := app.nav.save(true); err != nil {
|
||||||
app.ui.echoerrf("copy: %s", err)
|
app.ui.echoerrf("copy: %s", err)
|
||||||
return
|
return
|
||||||
@ -976,6 +1025,10 @@ func (e *callExpr) eval(app *app, args []string) {
|
|||||||
}
|
}
|
||||||
app.ui.loadFileInfo(app.nav)
|
app.ui.loadFileInfo(app.nav)
|
||||||
case "cut":
|
case "cut":
|
||||||
|
if (!app.nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
if err := app.nav.save(false); err != nil {
|
if err := app.nav.save(false); err != nil {
|
||||||
app.ui.echoerrf("cut: %s", err)
|
app.ui.echoerrf("cut: %s", err)
|
||||||
return
|
return
|
||||||
@ -994,6 +1047,10 @@ func (e *callExpr) eval(app *app, args []string) {
|
|||||||
}
|
}
|
||||||
app.ui.loadFileInfo(app.nav)
|
app.ui.loadFileInfo(app.nav)
|
||||||
case "paste":
|
case "paste":
|
||||||
|
if (!app.nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
if cmd, ok := gOpts.cmds["paste"]; ok {
|
if cmd, ok := gOpts.cmds["paste"]; ok {
|
||||||
cmd.eval(app, e.args)
|
cmd.eval(app, e.args)
|
||||||
} else if err := app.nav.paste(app.ui); err != nil {
|
} else if err := app.nav.paste(app.ui); err != nil {
|
||||||
@ -1003,6 +1060,10 @@ func (e *callExpr) eval(app *app, args []string) {
|
|||||||
app.ui.loadFile(app.nav, true)
|
app.ui.loadFile(app.nav, true)
|
||||||
app.ui.loadFileInfo(app.nav)
|
app.ui.loadFileInfo(app.nav)
|
||||||
case "delete":
|
case "delete":
|
||||||
|
if (!app.nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
if cmd, ok := gOpts.cmds["delete"]; ok {
|
if cmd, ok := gOpts.cmds["delete"]; ok {
|
||||||
cmd.eval(app, e.args)
|
cmd.eval(app, e.args)
|
||||||
app.nav.unselect()
|
app.nav.unselect()
|
||||||
@ -1035,6 +1096,9 @@ func (e *callExpr) eval(app *app, args []string) {
|
|||||||
app.ui.loadFile(app.nav, true)
|
app.ui.loadFile(app.nav, true)
|
||||||
app.ui.loadFileInfo(app.nav)
|
app.ui.loadFileInfo(app.nav)
|
||||||
case "clear":
|
case "clear":
|
||||||
|
if (!app.nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
if err := saveFiles(nil, false); err != nil {
|
if err := saveFiles(nil, false); err != nil {
|
||||||
app.ui.echoerrf("clear: %s", err)
|
app.ui.echoerrf("clear: %s", err)
|
||||||
return
|
return
|
||||||
@ -1053,6 +1117,9 @@ func (e *callExpr) eval(app *app, args []string) {
|
|||||||
app.ui.loadFileInfo(app.nav)
|
app.ui.loadFileInfo(app.nav)
|
||||||
case "draw":
|
case "draw":
|
||||||
case "redraw":
|
case "redraw":
|
||||||
|
if (!app.nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
app.ui.renew()
|
app.ui.renew()
|
||||||
app.ui.screen.Sync()
|
app.ui.screen.Sync()
|
||||||
if app.nav.height != app.ui.wins[0].h {
|
if app.nav.height != app.ui.wins[0].h {
|
||||||
@ -1061,9 +1128,15 @@ func (e *callExpr) eval(app *app, args []string) {
|
|||||||
}
|
}
|
||||||
app.ui.loadFile(app.nav, true)
|
app.ui.loadFile(app.nav, true)
|
||||||
case "load":
|
case "load":
|
||||||
|
if (!app.nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
app.nav.renew()
|
app.nav.renew()
|
||||||
app.ui.loadFile(app.nav, true)
|
app.ui.loadFile(app.nav, true)
|
||||||
case "reload":
|
case "reload":
|
||||||
|
if (!app.nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
if err := app.nav.reload(); err != nil {
|
if err := app.nav.reload(); err != nil {
|
||||||
app.ui.echoerrf("reload: %s", err)
|
app.ui.echoerrf("reload: %s", err)
|
||||||
}
|
}
|
||||||
@ -1121,6 +1194,9 @@ func (e *callExpr) eval(app *app, args []string) {
|
|||||||
app.nav.findBack = true
|
app.nav.findBack = true
|
||||||
app.ui.loadFileInfo(app.nav)
|
app.ui.loadFileInfo(app.nav)
|
||||||
case "find-next":
|
case "find-next":
|
||||||
|
if (!app.nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
dir := app.nav.currDir()
|
dir := app.nav.currDir()
|
||||||
old := dir.ind
|
old := dir.ind
|
||||||
for i := 0; i < e.count; i++ {
|
for i := 0; i < e.count; i++ {
|
||||||
@ -1135,6 +1211,9 @@ func (e *callExpr) eval(app *app, args []string) {
|
|||||||
app.ui.loadFileInfo(app.nav)
|
app.ui.loadFileInfo(app.nav)
|
||||||
}
|
}
|
||||||
case "find-prev":
|
case "find-prev":
|
||||||
|
if (!app.nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
dir := app.nav.currDir()
|
dir := app.nav.currDir()
|
||||||
old := dir.ind
|
old := dir.ind
|
||||||
for i := 0; i < e.count; i++ {
|
for i := 0; i < e.count; i++ {
|
||||||
@ -1149,6 +1228,9 @@ func (e *callExpr) eval(app *app, args []string) {
|
|||||||
app.ui.loadFileInfo(app.nav)
|
app.ui.loadFileInfo(app.nav)
|
||||||
}
|
}
|
||||||
case "search":
|
case "search":
|
||||||
|
if (!app.nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
if app.ui.cmdPrefix == ">" {
|
if app.ui.cmdPrefix == ">" {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -1160,6 +1242,9 @@ func (e *callExpr) eval(app *app, args []string) {
|
|||||||
app.nav.searchBack = false
|
app.nav.searchBack = false
|
||||||
app.ui.loadFileInfo(app.nav)
|
app.ui.loadFileInfo(app.nav)
|
||||||
case "search-back":
|
case "search-back":
|
||||||
|
if (!app.nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
if app.ui.cmdPrefix == ">" {
|
if app.ui.cmdPrefix == ">" {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -1171,6 +1256,9 @@ func (e *callExpr) eval(app *app, args []string) {
|
|||||||
app.nav.searchBack = true
|
app.nav.searchBack = true
|
||||||
app.ui.loadFileInfo(app.nav)
|
app.ui.loadFileInfo(app.nav)
|
||||||
case "search-next":
|
case "search-next":
|
||||||
|
if (!app.nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
for i := 0; i < e.count; i++ {
|
for i := 0; i < e.count; i++ {
|
||||||
if app.nav.searchBack {
|
if app.nav.searchBack {
|
||||||
if moved, err := app.nav.searchPrev(); err != nil {
|
if moved, err := app.nav.searchPrev(); err != nil {
|
||||||
@ -1189,6 +1277,9 @@ func (e *callExpr) eval(app *app, args []string) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
case "search-prev":
|
case "search-prev":
|
||||||
|
if (!app.nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
for i := 0; i < e.count; i++ {
|
for i := 0; i < e.count; i++ {
|
||||||
if app.nav.searchBack {
|
if app.nav.searchBack {
|
||||||
if moved, err := app.nav.searchNext(); err != nil {
|
if moved, err := app.nav.searchNext(); err != nil {
|
||||||
@ -1207,6 +1298,9 @@ func (e *callExpr) eval(app *app, args []string) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
case "filter":
|
case "filter":
|
||||||
|
if (!app.nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
if app.ui.cmdPrefix == ">" {
|
if app.ui.cmdPrefix == ">" {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -1221,6 +1315,9 @@ func (e *callExpr) eval(app *app, args []string) {
|
|||||||
}
|
}
|
||||||
app.ui.loadFileInfo(app.nav)
|
app.ui.loadFileInfo(app.nav)
|
||||||
case "setfilter":
|
case "setfilter":
|
||||||
|
if (!app.nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
log.Printf("filter: %s", e.args)
|
log.Printf("filter: %s", e.args)
|
||||||
if err := app.nav.setFilter(e.args); err != nil {
|
if err := app.nav.setFilter(e.args); err != nil {
|
||||||
app.ui.echoerrf("filter: %s", err)
|
app.ui.echoerrf("filter: %s", err)
|
||||||
@ -1248,6 +1345,9 @@ func (e *callExpr) eval(app *app, args []string) {
|
|||||||
app.ui.menuBuf = listMarks(app.nav.marks)
|
app.ui.menuBuf = listMarks(app.nav.marks)
|
||||||
app.ui.cmdPrefix = "mark-remove: "
|
app.ui.cmdPrefix = "mark-remove: "
|
||||||
case "rename":
|
case "rename":
|
||||||
|
if (!app.nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
if cmd, ok := gOpts.cmds["rename"]; ok {
|
if cmd, ok := gOpts.cmds["rename"]; ok {
|
||||||
cmd.eval(app, e.args)
|
cmd.eval(app, e.args)
|
||||||
if gSingleMode {
|
if gSingleMode {
|
||||||
@ -1321,6 +1421,10 @@ func (e *callExpr) eval(app *app, args []string) {
|
|||||||
onChdir(app)
|
onChdir(app)
|
||||||
}
|
}
|
||||||
case "select":
|
case "select":
|
||||||
|
if (!app.nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
if len(e.args) != 1 {
|
if len(e.args) != 1 {
|
||||||
app.ui.echoerr("select: requires an argument")
|
app.ui.echoerr("select: requires an argument")
|
||||||
return
|
return
|
||||||
@ -1357,6 +1461,9 @@ func (e *callExpr) eval(app *app, args []string) {
|
|||||||
onChdir(app)
|
onChdir(app)
|
||||||
}
|
}
|
||||||
case "glob-select":
|
case "glob-select":
|
||||||
|
if (!app.nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
if len(e.args) != 1 {
|
if len(e.args) != 1 {
|
||||||
app.ui.echoerr("glob-select: requires a pattern to match")
|
app.ui.echoerr("glob-select: requires a pattern to match")
|
||||||
return
|
return
|
||||||
@ -1366,6 +1473,9 @@ func (e *callExpr) eval(app *app, args []string) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
case "glob-unselect":
|
case "glob-unselect":
|
||||||
|
if (!app.nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
if len(e.args) != 1 {
|
if len(e.args) != 1 {
|
||||||
app.ui.echoerr("glob-unselect: requires a pattern to match")
|
app.ui.echoerr("glob-unselect: requires a pattern to match")
|
||||||
return
|
return
|
||||||
|
15
nav.go
15
nav.go
@ -328,6 +328,7 @@ func (dir *dir) sel(name string, height int) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type nav struct {
|
type nav struct {
|
||||||
|
init bool
|
||||||
dirs []*dir
|
dirs []*dir
|
||||||
copyBytes int64
|
copyBytes int64
|
||||||
copyTotal int64
|
copyTotal int64
|
||||||
@ -460,11 +461,6 @@ func (nav *nav) getDirs(wd string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func newNav(height int) *nav {
|
func newNav(height int) *nav {
|
||||||
wd, err := os.Getwd()
|
|
||||||
if err != nil {
|
|
||||||
log.Printf("getting current directory: %s", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
nav := &nav{
|
nav := &nav{
|
||||||
copyBytesChan: make(chan int64, 1024),
|
copyBytesChan: make(chan int64, 1024),
|
||||||
copyTotalChan: make(chan int64, 1024),
|
copyTotalChan: make(chan int64, 1024),
|
||||||
@ -486,9 +482,6 @@ func newNav(height int) *nav {
|
|||||||
jumpListInd: -1,
|
jumpListInd: -1,
|
||||||
}
|
}
|
||||||
|
|
||||||
nav.getDirs(wd)
|
|
||||||
nav.addJumpList()
|
|
||||||
|
|
||||||
return nav
|
return nav
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -558,6 +551,10 @@ func (nav *nav) reload() error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (nav *nav) position() {
|
func (nav *nav) position() {
|
||||||
|
if (!nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
path := nav.currDir().path
|
path := nav.currDir().path
|
||||||
for i := len(nav.dirs) - 2; i >= 0; i-- {
|
for i := len(nav.dirs) - 2; i >= 0; i-- {
|
||||||
nav.dirs[i].sel(filepath.Base(path), nav.height)
|
nav.dirs[i].sel(filepath.Base(path), nav.height)
|
||||||
@ -1593,7 +1590,7 @@ func (nav *nav) currFileOrSelections() (list []string, err error) {
|
|||||||
return nav.currSelections(), nil
|
return nav.currSelections(), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (nav *nav) getDirSize() error {
|
func (nav *nav) calcDirSize() error {
|
||||||
|
|
||||||
calc := func(f *file) error {
|
calc := func(f *file) error {
|
||||||
if f.IsDir() {
|
if f.IsDir() {
|
||||||
|
8
ui.go
8
ui.go
@ -641,6 +641,10 @@ type reg struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (ui *ui) loadFile(nav *nav, volatile bool) {
|
func (ui *ui) loadFile(nav *nav, volatile bool) {
|
||||||
|
if (!nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
curr, err := nav.currFile()
|
curr, err := nav.currFile()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
@ -662,6 +666,10 @@ func (ui *ui) loadFile(nav *nav, volatile bool) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (ui *ui) loadFileInfo(nav *nav) {
|
func (ui *ui) loadFileInfo(nav *nav) {
|
||||||
|
if (!nav.init) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
curr, err := nav.currFile()
|
curr, err := nav.currFile()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
|
Loading…
Reference in New Issue
Block a user