mirror of
https://github.com/zyedidia/micro.git
synced 2025-06-18 06:45:40 -04:00
Skip save on open or term command if buffer is shared
This commit is contained in:
parent
79fe4ae3e3
commit
0d5b2b73e3
@ -1909,14 +1909,7 @@ func (h *BufPane) ForceQuit() bool {
|
||||
|
||||
// Quit this will close the current tab or view that is open
|
||||
func (h *BufPane) Quit() bool {
|
||||
if h.Buf.Modified() {
|
||||
for _, b := range buffer.OpenBuffers {
|
||||
if b != h.Buf && b.SharedBuffer == h.Buf.SharedBuffer {
|
||||
h.ForceQuit()
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
if h.Buf.Modified() && !h.Buf.Shared() {
|
||||
if config.GlobalSettings["autosave"].(float64) > 0 && h.Buf.Path != "" {
|
||||
// autosave on means we automatically save when quitting
|
||||
h.SaveCB("Quit", func() {
|
||||
|
@ -308,7 +308,7 @@ func (h *BufPane) OpenCmd(args []string) {
|
||||
}
|
||||
h.OpenBuffer(b)
|
||||
}
|
||||
if h.Buf.Modified() {
|
||||
if h.Buf.Modified() && !h.Buf.Shared() {
|
||||
InfoBar.YNPrompt("Save changes to "+h.Buf.GetName()+" before closing? (y,n,esc)", func(yes, canceled bool) {
|
||||
if !canceled && !yes {
|
||||
open()
|
||||
@ -1121,7 +1121,7 @@ func (h *BufPane) TermCmd(args []string) {
|
||||
|
||||
for i, p := range ps {
|
||||
if p.ID() == h.ID() {
|
||||
if h.Buf.Modified() {
|
||||
if h.Buf.Modified() && !h.Buf.Shared() {
|
||||
InfoBar.YNPrompt("Save changes to "+h.Buf.GetName()+" before closing? (y,n,esc)", func(yes, canceled bool) {
|
||||
if !canceled && !yes {
|
||||
term(i, false)
|
||||
|
@ -620,6 +620,16 @@ func (b *Buffer) WordAt(loc Loc) []byte {
|
||||
return b.Substr(start, end)
|
||||
}
|
||||
|
||||
// Shared returns if there are other buffers with the same file as this buffer
|
||||
func (b *Buffer) Shared() bool {
|
||||
for _, buf := range OpenBuffers {
|
||||
if buf != b && buf.SharedBuffer == b.SharedBuffer {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
// Modified returns if this buffer has been modified since
|
||||
// being opened
|
||||
func (b *Buffer) Modified() bool {
|
||||
|
Loading…
Reference in New Issue
Block a user