Files
sml-projects/shf/fcore/normal-mode/normal-mode-with.sml

204 lines
4.5 KiB
Standard ML
Raw Normal View History

2025-08-31 06:28:05 +01:00
structure NormalModeWith =
struct
open AppType
fun bufferMsgsAndMode (app: app_type, newBuffer, newMsgs, newMode) =
let
val
{ mode = _
, buffer = _
, msgs = _
, bufferModifyTime
, windowWidth
, windowHeight
, searchList
, visualScrollColumn
, startLine
, cursorIdx
, dfa
} = app
in
{ mode = newMode
, buffer = newBuffer
, msgs = newMsgs
, bufferModifyTime = bufferModifyTime
, windowWidth = windowWidth
, windowHeight = windowHeight
, searchList = searchList
, visualScrollColumn = visualScrollColumn
, startLine = startLine
, cursorIdx = cursorIdx
, dfa = dfa
}
end
2025-08-31 06:28:05 +01:00
fun bufferAndSize
( app: app_type
, newBuffer
, newWidth
, newHeight
, newSearchList
, newMsgs
, newBufferModifyTime
, newVisualScrollColumn
2025-08-31 06:28:05 +01:00
) =
let
val
{ mode
, buffer = _
, bufferModifyTime = _
, windowWidth = _
, windowHeight = _
, searchList = _
, visualScrollColumn = _
2025-08-31 06:28:05 +01:00
, msgs = _
, startLine
, cursorIdx
, dfa
2025-08-31 06:28:05 +01:00
} = app
in
{ mode = mode
, buffer = newBuffer
, bufferModifyTime = newBufferModifyTime
, windowWidth = newWidth
, windowHeight = newHeight
, searchList = newSearchList
, visualScrollColumn = newVisualScrollColumn
2025-08-31 06:28:05 +01:00
, msgs = newMsgs
, startLine = startLine
, cursorIdx = cursorIdx
, dfa = dfa
2025-08-31 06:28:05 +01:00
}
end
fun bufferAndCursorIdx
( app: app_type
, newBuffer
, newCursorIdx
, newMode
, newStartLine
, newSearchList
, newMsgs
, newBufferModifyTime
, newVisualScrollColumn
2025-08-31 06:28:05 +01:00
) =
let
val
{ mode = _
, buffer = _
, bufferModifyTime = _
, cursorIdx = _
, startLine = _
, searchList = _
, visualScrollColumn = _
2025-08-31 06:28:05 +01:00
, msgs = _
, windowWidth
, windowHeight
, dfa
2025-08-31 06:28:05 +01:00
} = app
in
{ mode = newMode
, buffer = newBuffer
, bufferModifyTime = newBufferModifyTime
, cursorIdx = newCursorIdx
, startLine = newStartLine
, searchList = newSearchList
, visualScrollColumn = newVisualScrollColumn
2025-08-31 06:28:05 +01:00
, msgs = newMsgs
, windowWidth = windowWidth
, windowHeight = windowHeight
, dfa = dfa
2025-08-31 06:28:05 +01:00
}
end
fun mode (app: app_type, newMode, newMsgs) =
let
val
{ mode = _
, msgs = _
, buffer
, bufferModifyTime
, searchList
, cursorIdx
, windowWidth
, windowHeight
, startLine
, visualScrollColumn
, dfa
2025-08-31 06:28:05 +01:00
} = app
in
{ mode = newMode
, msgs = newMsgs
, buffer = buffer
, bufferModifyTime = bufferModifyTime
, searchList = searchList
, cursorIdx = cursorIdx
, windowWidth = windowWidth
, windowHeight = windowHeight
, startLine = startLine
, visualScrollColumn = visualScrollColumn
, dfa = dfa
2025-08-31 06:28:05 +01:00
}
end
fun modeAndBuffer (app: app_type, newBuffer, newMode, newMsgs) =
let
val
{ mode = _
, msgs = _
, buffer = _
, bufferModifyTime
, searchList
, cursorIdx
, windowWidth
, windowHeight
, startLine
, visualScrollColumn
, dfa
} = app
in
{ mode = newMode
, msgs = newMsgs
, buffer = newBuffer
, bufferModifyTime = bufferModifyTime
, searchList = searchList
, cursorIdx = cursorIdx
, windowWidth = windowWidth
, windowHeight = windowHeight
, startLine = startLine
, visualScrollColumn = visualScrollColumn
, dfa = dfa
}
end
fun searchList (app: app_type, newSearchList, newBuffer, newBufferModifyTime) =
2025-08-31 06:28:05 +01:00
let
val
{ searchList = _
, buffer = _
, bufferModifyTime
, msgs
, mode
, cursorIdx
, windowWidth
, windowHeight
, startLine
, visualScrollColumn
, dfa
2025-08-31 06:28:05 +01:00
} = app
in
{ searchList = newSearchList
, buffer = newBuffer
, bufferModifyTime = newBufferModifyTime
, msgs = msgs
, mode = mode
, cursorIdx = cursorIdx
, windowWidth = windowWidth
, windowHeight = windowHeight
, startLine = startLine
, visualScrollColumn = visualScrollColumn
, dfa = dfa
2025-08-31 06:28:05 +01:00
}
end
end