diff --git a/internal/buffer/buffer.go b/internal/buffer/buffer.go index 36b8a11e..dba08fe7 100644 --- a/internal/buffer/buffer.go +++ b/internal/buffer/buffer.go @@ -216,17 +216,18 @@ func NewBufferFromFileAtLoc(path string, btype BufType, cursorLoc Loc) (*Buffer, readonly := os.IsPermission(err) f.Close() - file, err := os.Open(filename) fileInfo, serr := os.Stat(filename) if serr != nil && !os.IsNotExist(serr) { return nil, serr } - - if err == nil && fileInfo.IsDir() { + if serr == nil && fileInfo.IsDir() { return nil, errors.New("Error: " + filename + " is a directory and cannot be opened") } - defer file.Close() + file, err := os.Open(filename) + if err == nil { + defer file.Close() + } var buf *Buffer if os.IsNotExist(err) { @@ -238,7 +239,9 @@ func NewBufferFromFileAtLoc(path string, btype BufType, cursorLoc Loc) (*Buffer, buf = NewBuffer(file, util.FSize(file), filename, cursorLoc, btype) } - buf.SetOptionNative("readonly", readonly) + if readonly { + buf.SetOptionNative("readonly", true) + } return buf, nil } diff --git a/internal/config/runtime.go b/internal/config/runtime.go index 34119f8c..0adc2f1f 100644 --- a/internal/config/runtime.go +++ b/internal/config/runtime.go @@ -7,7 +7,7 @@ // runtime/colorschemes/cmc-tc.micro // runtime/colorschemes/darcula.micro // runtime/colorschemes/default.micro -// runtime/colorschemes/dracula.micro +// runtime/colorschemes/dracula-tc.micro // runtime/colorschemes/dukedark-tc.micro // runtime/colorschemes/dukelight-tc.micro // runtime/colorschemes/dukeubuntu-tc.micro @@ -528,22 +528,22 @@ func runtimeColorschemesDefaultMicro() (*asset, error) { return a, nil } -var _runtimeColorschemesDraculaMicro = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x94\x51\x93\x9b\x20\x14\x85\xdf\xf3\x2b\x18\x7c\x5d\x33\x5d\x37\x46\xf3\xa8\x49\xf8\x1f\x08\xd7\x2d\x13\x04\xe7\x02\xdd\xe6\xdf\x77\x50\x9b\x6a\x43\xf6\x8d\x99\xf3\x79\xcf\x99\xcb\x41\x61\xb5\xc5\x5c\x2b\x73\x23\x12\x7a\x1e\xb4\x27\x34\x63\x35\xab\x59\xf1\x96\x15\x75\xd1\x7c\x1c\xe9\x6e\x05\x09\x3b\x0c\x60\x22\x74\x2c\xaa\xa2\x39\xd0\xdd\x5a\x55\x12\x8c\x57\xbd\x02\x24\x34\x2b\x7f\xb0\xa6\x6a\x69\x5a\xdf\x0b\xcd\x9d\x23\x34\xab\xdb\xeb\x89\x5d\x5e\x51\xbf\x38\x3e\xf2\x6c\xad\x84\x35\xce\xf3\x29\x49\x7b\x39\x7d\xb0\x13\x4d\xa9\x7b\x13\x86\x0e\xd6\x33\x52\x90\xf3\xa8\xcc\x67\x84\xde\x59\x53\x9f\xb7\x46\xee\x3e\x74\x56\x47\x91\x55\xa7\xf3\x76\x1b\xb3\xb6\xef\x90\x8b\x1b\x78\x97\xb6\x59\x20\xcf\xa3\x43\x73\xad\xdf\x19\xdb\x3a\xf8\xfb\x08\x84\x2a\xcf\xb5\x12\x24\xb5\x90\x08\xec\x6f\x70\xff\xb2\x28\x57\x41\x36\x26\x23\x08\xc5\x5f\xc5\xf4\xdc\xc3\x72\x6d\x09\x79\x44\x18\xd1\x8a\x17\x93\x83\x91\x80\x5a\x19\x90\xe9\xaf\x01\xd1\x22\xa1\x9d\xd5\x92\x64\x8c\x95\x65\x59\x6e\xc3\x5b\x69\xff\xc9\xcf\xf3\xa5\xea\xfb\x9c\x4b\x39\xcd\x4f\x74\x66\xd2\x07\x2b\x63\x21\xe6\x08\x6d\x7d\x3c\x3f\x23\x12\x34\xf8\x85\x98\x43\xac\x91\xcf\xe0\x3d\x60\xbe\x84\x4d\xe5\x5c\x88\x2f\x8e\x66\x2e\xc3\xf5\x78\x69\xab\xff\x0a\x1e\x37\x19\x5c\xdc\x06\xa1\xcb\xf3\x78\x4b\xdd\xb9\xe7\x5d\x37\x55\xf7\x1b\x46\x99\xd8\xf3\x5c\xfc\x9c\xc0\xbf\xcf\x69\x05\x44\x9b\xfc\x51\xe0\x04\x20\x02\x62\x1c\xb1\x05\x93\xaf\x25\xa0\x9b\xcf\x31\xf8\xe1\x70\xa8\xca\x26\x19\x6a\x3e\x0a\xab\xc3\x60\x1e\xe4\x73\x19\xe1\xb7\x07\x33\x5d\xd9\xf2\xd7\xa0\xbb\xdd\x9f\x00\x00\x00\xff\xff\x77\x3e\x9c\x1b\x4b\x04\x00\x00" +var _runtimeColorschemesDraculaTcMicro = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x94\x51\x93\x9b\x20\x14\x85\xdf\xf3\x2b\x18\x7c\x5d\x33\x5d\x37\x46\xf3\xa8\x49\xf8\x1f\x08\xd7\x2d\x13\x04\xe7\x02\xdd\xe6\xdf\x77\x50\x9b\x6a\x43\xf6\x8d\x99\xf3\x79\xcf\x99\xcb\x41\x61\xb5\xc5\x5c\x2b\x73\x23\x12\x7a\x1e\xb4\x27\x34\x63\x35\xab\x59\xf1\x96\x15\x75\xd1\x7c\x1c\xe9\x6e\x05\x09\x3b\x0c\x60\x22\x74\x2c\xaa\xa2\x39\xd0\xdd\x5a\x55\x12\x8c\x57\xbd\x02\x24\x34\x2b\x7f\xb0\xa6\x6a\x69\x5a\xdf\x0b\xcd\x9d\x23\x34\xab\xdb\xeb\x89\x5d\x5e\x51\xbf\x38\x3e\xf2\x6c\xad\x84\x35\xce\xf3\x29\x49\x7b\x39\x7d\xb0\x13\x4d\xa9\x7b\x13\x86\x0e\xd6\x33\x52\x90\xf3\xa8\xcc\x67\x84\xde\x59\x53\x9f\xb7\x46\xee\x3e\x74\x56\x47\x91\x55\xa7\xf3\x76\x1b\xb3\xb6\xef\x90\x8b\x1b\x78\x97\xb6\x59\x20\xcf\xa3\x43\x73\xad\xdf\x19\xdb\x3a\xf8\xfb\x08\x84\x2a\xcf\xb5\x12\x24\xb5\x90\x08\xec\x6f\x70\xff\xb2\x28\x57\x41\x36\x26\x23\x08\xc5\x5f\xc5\xf4\xdc\xc3\x72\x6d\x09\x79\x44\x18\xd1\x8a\x17\x93\x83\x91\x80\x5a\x19\x90\xe9\xaf\x01\xd1\x22\xa1\x9d\xd5\x92\x64\x8c\x95\x65\x59\x6e\xc3\x5b\x69\xff\xc9\xcf\xf3\xa5\xea\xfb\x9c\x4b\x39\xcd\x4f\x74\x66\xd2\x07\x2b\x63\x21\xe6\x08\x6d\x7d\x3c\x3f\x23\x12\x34\xf8\x85\x98\x43\xac\x91\xcf\xe0\x3d\x60\xbe\x84\x4d\xe5\x5c\x88\x2f\x8e\x66\x2e\xc3\xf5\x78\x69\xab\xff\x0a\x1e\x37\x19\x5c\xdc\x06\xa1\xcb\xf3\x78\x4b\xdd\xb9\xe7\x5d\x37\x55\xf7\x1b\x46\x99\xd8\xf3\x5c\xfc\x9c\xc0\xbf\xcf\x69\x05\x44\x9b\xfc\x51\xe0\x04\x20\x02\x62\x1c\xb1\x05\x93\xaf\x25\xa0\x9b\xcf\x31\xf8\xe1\x70\xa8\xca\x26\x19\x6a\x3e\x0a\xab\xc3\x60\x1e\xe4\x73\x19\xe1\xb7\x07\x33\x5d\xd9\xf2\xd7\xa0\xbb\xdd\x9f\x00\x00\x00\xff\xff\x77\x3e\x9c\x1b\x4b\x04\x00\x00" -func runtimeColorschemesDraculaMicroBytes() ([]byte, error) { +func runtimeColorschemesDraculaTcMicroBytes() ([]byte, error) { return bindataRead( - _runtimeColorschemesDraculaMicro, - "runtime/colorschemes/dracula.micro", + _runtimeColorschemesDraculaTcMicro, + "runtime/colorschemes/dracula-tc.micro", ) } -func runtimeColorschemesDraculaMicro() (*asset, error) { - bytes, err := runtimeColorschemesDraculaMicroBytes() +func runtimeColorschemesDraculaTcMicro() (*asset, error) { + bytes, err := runtimeColorschemesDraculaTcMicroBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "runtime/colorschemes/dracula.micro", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} + info := bindataFileInfo{name: "runtime/colorschemes/dracula-tc.micro", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6867,7 +6867,7 @@ var _bindata = map[string]func() (*asset, error){ "runtime/colorschemes/cmc-tc.micro": runtimeColorschemesCmcTcMicro, "runtime/colorschemes/darcula.micro": runtimeColorschemesDarculaMicro, "runtime/colorschemes/default.micro": runtimeColorschemesDefaultMicro, - "runtime/colorschemes/dracula.micro": runtimeColorschemesDraculaMicro, + "runtime/colorschemes/dracula-tc.micro": runtimeColorschemesDraculaTcMicro, "runtime/colorschemes/dukedark-tc.micro": runtimeColorschemesDukedarkTcMicro, "runtime/colorschemes/dukelight-tc.micro": runtimeColorschemesDukelightTcMicro, "runtime/colorschemes/dukeubuntu-tc.micro": runtimeColorschemesDukeubuntuTcMicro, @@ -7233,7 +7233,7 @@ var _bintree = &bintree{nil, map[string]*bintree{ "cmc-tc.micro": &bintree{runtimeColorschemesCmcTcMicro, map[string]*bintree{}}, "darcula.micro": &bintree{runtimeColorschemesDarculaMicro, map[string]*bintree{}}, "default.micro": &bintree{runtimeColorschemesDefaultMicro, map[string]*bintree{}}, - "dracula.micro": &bintree{runtimeColorschemesDraculaMicro, map[string]*bintree{}}, + "dracula-tc.micro": &bintree{runtimeColorschemesDraculaTcMicro, map[string]*bintree{}}, "dukedark-tc.micro": &bintree{runtimeColorschemesDukedarkTcMicro, map[string]*bintree{}}, "dukelight-tc.micro": &bintree{runtimeColorschemesDukelightTcMicro, map[string]*bintree{}}, "dukeubuntu-tc.micro": &bintree{runtimeColorschemesDukeubuntuTcMicro, map[string]*bintree{}}, diff --git a/runtime/plugins/linter/linter.lua b/runtime/plugins/linter/linter.lua index 5597657b..b47e023f 100644 --- a/runtime/plugins/linter/linter.lua +++ b/runtime/plugins/linter/linter.lua @@ -71,7 +71,7 @@ function preinit() makeLinter("eslint", "javascript", "eslint", {"-f","compact","%f"}, "%f: line %l, col %c, %m") makeLinter("gobuild", "go", "go", {"build", "-o", devnull, "%d"}, "%f:%l:%c:? %m") -- makeLinter("golint", "go", "golint", {"%f"}, "%f:%l:%c: %m") - makeLinter("hlint", "haskell", "hlint", {"%f"}, "%f:%l:%c.-: %m") + makeLinter("hlint", "haskell", "hlint", {"%f"}, "%f:%(?%l[,:]%c%)?.-: %m") makeLinter("javac", "java", "javac", {"-d", "%d", "%f"}, "%f:%l: error: %m") makeLinter("jshint", "javascript", "jshint", {"%f"}, "%f: line %l,.+, %m") makeLinter("literate", "literate", "lit", {"-c", "%f"}, "%f:%l:%m", {}, false, true)