MCPcopy
hub / github.com/mathaou/termdbms / EditEnter

Function EditEnter

viewer/lineedit.go:65–230  ·  view source on GitHub ↗
(m *TuiModel)

Source from the content-addressed store, hash-verified

63}
64
65func EditEnter(m *TuiModel) {
66 selectedInput := &m.TextInput.Model
67 i := selectedInput.Value()
68
69 d := m.Data()
70 t := m.Table()
71
72 var (
73 original *interface{}
74 input string
75 )
76
77 if i == ":q" { // quit mod mode
78 ExitToDefaultView(m)
79 return
80 }
81 if !m.UI.FormatModeEnabled && !m.UI.SQLEdit && !m.UI.ShowClipboard {
82 input = i
83 raw, _, _ := m.GetSelectedOption()
84 original = raw
85 if input == ":d" && m.QueryData != nil && m.QueryResult != nil {
86 m.DefaultTable.Database.SetDatabaseReference(m.QueryResult.Database.GetFileName())
87 m.QueryData = nil
88 m.QueryResult = nil
89 var c *sql.Rows
90 defer func() {
91 if c != nil {
92 c.Close()
93 }
94 }()
95 err := m.SetModel(c, m.DefaultTable.Database.GetDatabaseReference())
96 if err != nil {
97 m.DisplayMessage(fmt.Sprintf("%v", err))
98 }
99 ExitToDefaultView(m)
100 return
101 }
102 if m.QueryData != nil {
103 m.TextInput.Model.SetValue("")
104 m.WriteMessage("Cannot manipulate database through UI while query results are being displayed.")
105 return
106 }
107 if input == ":h" {
108 m.DisplayMessage(GetHelpText())
109 return
110 } else if input == ":edit" {
111 str := GetStringRepresentationOfInterface(*original)
112 PrepareFormatMode(m)
113 if conv, err := FormatJson(str); err == nil { // if json prettify
114 d.EditTextBuffer = conv
115 } else {
116 d.EditTextBuffer = str
117 }
118 m.FormatInput.Original = original
119 m.Format.Text = GetFormattedTextBuffer(m)
120 m.SetViewSlices()
121 m.FormatInput.Model.SetCursor(0)
122 return

Callers 1

HandleEditInputFunction · 0.85

Calls 15

ExitToDefaultViewFunction · 0.85
GetHelpTextFunction · 0.85
PrepareFormatModeFunction · 0.85
FormatJsonFunction · 0.85
GetFormattedTextBufferFunction · 0.85
CreateEmptyBufferFunction · 0.85
SerializeFunction · 0.85
SerializeOverwriteFunction · 0.85
handleSQLModeFunction · 0.85
populateUndoFunction · 0.85

Tested by

no test coverage detected