aboutsummaryrefslogtreecommitdiff
path: root/ui
diff options
context:
space:
mode:
authorPetter Rodhelind <petter.rodhelind@gmail.com>2021-03-03 16:24:03 +0100
committerPetter Rodhelind <petter.rodhelind@gmail.com>2021-03-03 16:24:03 +0100
commiteddb1c60371d2b2e10bd1952d68a6dec00545e39 (patch)
tree68810f2a87ef4b7da4a892d0cd1796d5e2c57e46 /ui
parent38d7be1d7ea7cf9025f6facc1404e3e65c56a9cc (diff)
downloadpoe-eddb1c60371d2b2e10bd1952d68a6dec00545e39.tar.gz
poe-eddb1c60371d2b2e10bd1952d68a6dec00545e39.tar.bz2
poe-eddb1c60371d2b2e10bd1952d68a6dec00545e39.zip
Manage initial loading of buffers in UI.
Diffstat (limited to 'ui')
-rw-r--r--ui/cli.go16
-rw-r--r--ui/tcell/tcell.go5
2 files changed, 18 insertions, 3 deletions
diff --git a/ui/cli.go b/ui/cli.go
index a28bd03..a358e58 100644
--- a/ui/cli.go
+++ b/ui/cli.go
@@ -17,6 +17,11 @@ type Cli struct {
func (c *Cli) Init(e editor.Editor) error {
c.ed = e
+
+ if c.ed.Len() == 0 {
+ c.ed.NewBuffer()
+ }
+
return nil
}
@@ -33,17 +38,22 @@ outer:
switch input[0][0] { // first rune in input
case 'q': // quit
break outer
- case 'f':
+ case 'f': // list files
ids, bs := c.ed.Buffers()
fmt.Printf("%v\n%v\n", ids, bs)
- case 'b':
+ case 'e': // edit/load file name
+ if len(input) <= 1 {
+ c.ed.NewBuffer()
+ }
+ c.ed.LoadBuffers(input[1:])
+ case 'b': // select active buffer
if len(input) > 1 {
id, _ := strconv.ParseInt(input[1], 10, 64)
c.ed.Buffer(id)
break
}
c.ed.NewBuffer()
- case 'a':
+ case 'a': // append
if len(input) < 2 {
break
}
diff --git a/ui/tcell/tcell.go b/ui/tcell/tcell.go
index c905704..bdd3b0e 100644
--- a/ui/tcell/tcell.go
+++ b/ui/tcell/tcell.go
@@ -33,6 +33,11 @@ type Tcell struct{}
func (t *Tcell) Init(e editor.Editor) error {
ed = e
+
+ if ed.Len() == 0 {
+ ed.LoadBuffers([]string{"."})
+ }
+
if err := initScreen(); err != nil {
return err
}