Set filetype to 'off' to disable completely

Ref #1427
This commit is contained in:
Zachary Yedidia
2020-01-02 19:00:42 -05:00
parent 2855ae204c
commit ddc8bf455e
4 changed files with 33 additions and 23 deletions

View File

@@ -174,23 +174,6 @@ func main() {
screen.Init() screen.Init()
action.InitBindings()
action.InitCommands()
err = config.InitColorscheme()
if err != nil {
screen.TermMessage(err)
}
err = config.LoadAllPlugins()
if err != nil {
screen.TermMessage(err)
}
err = config.RunPluginFn("init")
if err != nil {
screen.TermMessage(err)
}
// If we have an error, we can exit cleanly and not completely // If we have an error, we can exit cleanly and not completely
// mess up the terminal being worked in // mess up the terminal being worked in
// In other words we need to shut down tcell before the program crashes // In other words we need to shut down tcell before the program crashes
@@ -208,6 +191,23 @@ func main() {
} }
}() }()
action.InitBindings()
action.InitCommands()
err = config.InitColorscheme()
if err != nil {
screen.TermMessage(err)
}
err = config.LoadAllPlugins()
if err != nil {
screen.TermMessage(err)
}
err = config.RunPluginFn("init")
if err != nil {
screen.TermMessage(err)
}
b := LoadInput() b := LoadInput()
if len(b) == 0 { if len(b) == 0 {

View File

@@ -540,6 +540,7 @@ func SetGlobalOptionNative(option string, nativeValue interface{}) error {
} else { } else {
screen.Screen.EnableMouse() screen.Screen.EnableMouse()
} }
// autosave option has been removed
// } else if option == "autosave" { // } else if option == "autosave" {
// if nativeValue.(float64) > 0 { // if nativeValue.(float64) > 0 {
// config.SetAutoTime(int(nativeValue.(float64))) // config.SetAutoTime(int(nativeValue.(float64)))
@@ -554,9 +555,15 @@ func SetGlobalOptionNative(option string, nativeValue interface{}) error {
if option == pl.Name { if option == pl.Name {
if nativeValue.(bool) && !pl.Loaded { if nativeValue.(bool) && !pl.Loaded {
pl.Load() pl.Load()
pl.Call("init") _, err := pl.Call("init")
if err != nil && err != config.ErrNoSuchFunction {
screen.TermMessage(err)
}
} else if !nativeValue.(bool) && pl.Loaded { } else if !nativeValue.(bool) && pl.Loaded {
pl.Call("deinit") _, err := pl.Call("deinit")
if err != nil && err != config.ErrNoSuchFunction {
screen.TermMessage(err)
}
} }
} }
} }

View File

@@ -29,7 +29,7 @@ Options: [r]ecover, [i]gnore: `
// Backup saves the current buffer to ConfigDir/backups // Backup saves the current buffer to ConfigDir/backups
func (b *Buffer) Backup(checkTime bool) error { func (b *Buffer) Backup(checkTime bool) error {
if !b.Settings["backup"].(bool) || b.Path == "" { if !b.Settings["backup"].(bool) || b.Path == "" || b.Type != BTDefault {
return nil return nil
} }
@@ -78,7 +78,7 @@ func (b *Buffer) Backup(checkTime bool) error {
// RemoveBackup removes any backup file associated with this buffer // RemoveBackup removes any backup file associated with this buffer
func (b *Buffer) RemoveBackup() { func (b *Buffer) RemoveBackup() {
if !b.Settings["backup"].(bool) || b.Path == "" { if !b.Settings["backup"].(bool) || b.Path == "" || b.Type != BTDefault {
return return
} }
f := config.ConfigDir + "/backups/" + util.EscapePath(b.AbsPath) f := config.ConfigDir + "/backups/" + util.EscapePath(b.AbsPath)
@@ -88,7 +88,7 @@ func (b *Buffer) RemoveBackup() {
// ApplyBackup applies the corresponding backup file to this buffer (if one exists) // ApplyBackup applies the corresponding backup file to this buffer (if one exists)
// Returns true if a backup was applied // Returns true if a backup was applied
func (b *Buffer) ApplyBackup(fsize int64) bool { func (b *Buffer) ApplyBackup(fsize int64) bool {
if b.Settings["backup"].(bool) && len(b.Path) > 0 { if b.Settings["backup"].(bool) && len(b.Path) > 0 && b.Type == BTDefault {
backupfile := config.ConfigDir + "/backups/" + util.EscapePath(b.AbsPath) backupfile := config.ConfigDir + "/backups/" + util.EscapePath(b.AbsPath)
if info, err := os.Stat(backupfile); err == nil { if info, err := os.Stat(backupfile); err == nil {
backup, err := os.Open(backupfile) backup, err := os.Open(backupfile)

View File

@@ -453,8 +453,11 @@ func (b *Buffer) UpdateRules() {
if !b.Type.Syntax { if !b.Type.Syntax {
return return
} }
syntaxFile := ""
ft := b.Settings["filetype"].(string) ft := b.Settings["filetype"].(string)
if ft == "off" {
return
}
syntaxFile := ""
var header *highlight.Header var header *highlight.Header
for _, f := range config.ListRuntimeFiles(config.RTSyntaxHeader) { for _, f := range config.ListRuntimeFiles(config.RTSyntaxHeader) {
data, err := f.Data() data, err := f.Data()