Open at line syntax with filename:line:col

Ref #1010
Ref #887
Ref #836
This commit is contained in:
Zachary Yedidia
2018-02-02 13:57:02 -05:00
parent 35a9245c5d
commit 4790c39dfc
7 changed files with 91 additions and 97 deletions

View 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)
}