]> git.lizzy.rs Git - micro.git/blobdiff - cmd/micro/view.go
Open at line syntax with filename:line:col
[micro.git] / cmd / micro / view.go
index 36dca76ae1065455d52a2ef681e1ee833e3a0d56..724d2bac2d549f35b9ecbfbe492e07ca623e3046 100644 (file)
@@ -2,7 +2,6 @@ package main
 
 import (
        "fmt"
-       "os"
        "reflect"
        "strconv"
        "strings"
@@ -283,25 +282,11 @@ func (v *View) OpenBuffer(buf *Buffer) {
 }
 
 // Open opens the given file in the view
-func (v *View) Open(filename string) {
-       filename = ReplaceHome(filename)
-       file, err := os.Open(filename)
-       fileInfo, _ := os.Stat(filename)
-
-       if err == nil && fileInfo.IsDir() {
-               messenger.Error(filename, " is a directory")
-               return
-       }
-
-       defer file.Close()
-
-       var buf *Buffer
+func (v *View) Open(path string) {
+       buf, err := NewBufferFromFile(path)
        if err != nil {
-               messenger.Message(err.Error())
-               // File does not exist -- create an empty buffer with that name
-               buf = NewBufferFromString("", filename)
-       } else {
-               buf = NewBuffer(file, FSize(file), filename)
+               messenger.Error(err)
+               return
        }
        v.OpenBuffer(buf)
 }