packagemainimport("bytes""encoding/hex""fmt""os""reflect""regexp""sort""strconv""strings""unicode/utf8"log"github.com/Sirupsen/logrus"slice"github.com/bradfitz/slice")const(cfDefaultConfigHomeDir="/.config"cfGrvConfigDir="/grv"cfGrvrcFile="/grvrc"cfTabWidthMinValue=1cfTabWidthDefaultValue=8cfClassicThemeName="classic"cfSolarizedThemeName="solarized"cfMouseDefaultValue=falsecfMouseScrollRowsDefaultValue=3cfCommitGraphDefaultValue=falsecfConfirmCheckoutDefaultValue=truecfPromptHistorySizeDefaultValue=1000cfGitBinaryFilePathDefaultValue=""cfCommitLimitDefaultValue="100000"cfDefaultViewDefaultValue=""cfDiffDisplayDefaultValue="fancy"cfInputPromptAfterCommandDefaultValue=truecfAllView="All"cfMainView="MainView"cfContainerView="ContainerView"cfWindowContainerView="WindowContainerView"cfHistoryView="HistoryView"cfStatusView="StatusView"cfSummaryView="SummaryView"cfGRVStatusView="GRVStatusView"cfRefView="RefView"cfCommitView="CommitView"cfDiffView="DiffView"cfStatusBarView="StatusBarView"cfHelpBarView="HelpBarView"cfErrorView="ErrorView"cfGitStatusView="GitStatusView"cfContextMenuView="ContextMenuView"cfCommandOutputView="CommandOutputView"cfMessageBoxView="MessageBoxView"cfHelpView="HelpView"cfGRVVariableView="GRVVariableView"cfRemoteView="RemoteView"cfGitSummaryView="GitSummaryView")// ConfigVariable stores a config variable nametypeConfigVariablestringconst(// CfTabWidth stores the tab width variable nameCfTabWidthConfigVariable="tabwidth"// CfTheme stores the theme variable nameCfThemeConfigVariable="theme"// CfMouse stores whether mouse support is enabledCfMouseConfigVariable="mouse"// CfMouseScrollRows stores the number of rows a view will scroll when a scroll mouse event is receivedCfMouseScrollRowsConfigVariable="mouse-scroll-rows"// CfCommitGraph stores whether the commit graph is visible or notCfCommitGraphConfigVariable="commit-graph"// CfConfirmCheckout stores whether checkouts should be confirmedCfConfirmCheckoutConfigVariable="confirm-checkout"// CfPromptHistorySize stores the maximum number of prompt entries retainedCfPromptHistorySizeConfigVariable="prompt-history-size"// CfGitBinaryFilePath stores the file path to the git binaryCfGitBinaryFilePathConfigVariable="git-binary-file-path"// CfCommitLimit stores the limit on the number of commits to loadCfCommitLimitConfigVariable="commit-limit"// CfDefaultView stores the command to generate the default viewCfDefaultViewConfigVariable="default-view"// CfDiffDisplay stores the way diffs are displayedCfDiffDisplayConfigVariable