fixed bug where failOut() fails on ^+C
This commit is contained in:
@@ -1,15 +1,13 @@
|
|||||||
// =============================================================================
|
// =============================================================================
|
||||||
// Auth: Alex Celani
|
// Auth: Alex Celani
|
||||||
// File: tdm.go
|
// File: tdm.go
|
||||||
// Revn: 04-14-2022 5.1
|
// Revn: 04-20-2022 5.2
|
||||||
//
|
//
|
||||||
// Func: display and manage progress of a litany of items to be done,
|
// Func: display and manage progress of a litany of items to be done,
|
||||||
// with an organization scheme similar to Trello. It's CLI
|
// with an organization scheme similar to Trello. It's CLI
|
||||||
// Trello
|
// Trello
|
||||||
//
|
//
|
||||||
// TODO: rewrite help
|
// TODO: add second object to hold command information
|
||||||
//
|
|
||||||
// add second object to hold command information
|
|
||||||
// make subsubtasks for greater depth
|
// make subsubtasks for greater depth
|
||||||
// M or rooms to contain boards
|
// M or rooms to contain boards
|
||||||
// M remember last args
|
// M remember last args
|
||||||
@@ -117,6 +115,10 @@
|
|||||||
// changed arguments for fileIn() and fileOut()
|
// changed arguments for fileIn() and fileOut()
|
||||||
// added quick little subcommands in show() and parse()
|
// added quick little subcommands in show() and parse()
|
||||||
// /show/ to print boards or tasks
|
// /show/ to print boards or tasks
|
||||||
|
// 04-15-2022: added new function, Help() for when functions fail
|
||||||
|
// added /about/ section to help()
|
||||||
|
// 04-20-2022: fixed bug where keyboard interrupts would fail to write
|
||||||
|
// data out to file
|
||||||
//
|
//
|
||||||
// =============================================================================
|
// =============================================================================
|
||||||
|
|
||||||
@@ -165,16 +167,13 @@ func calc( t task ) string {
|
|||||||
for _, sub := range t.subt {
|
for _, sub := range t.subt {
|
||||||
// convert to int for addition
|
// convert to int for addition
|
||||||
fill, err := atoi( sub.fill )
|
fill, err := atoi( sub.fill )
|
||||||
|
|
||||||
if err != nil { // if conversion returns and error...
|
if err != nil { // if conversion returns and error...
|
||||||
fill = 0 // just default to 0
|
fill = 0 // just default to 0
|
||||||
} // sux, just enter a valid fill, idiot
|
} // sux, just enter a valid fill, idiot
|
||||||
|
|
||||||
count = count + fill // continue counting up
|
count = count + fill // continue counting up
|
||||||
}
|
}
|
||||||
count = count / tlen // actually make it an average
|
count = count / tlen // actually make it an average
|
||||||
}
|
}
|
||||||
|
|
||||||
return itoa( count ) // return conversion to string
|
return itoa( count ) // return conversion to string
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -197,7 +196,7 @@ func catch() {
|
|||||||
<-c // immediately halts in blocking read for signal
|
<-c // immediately halts in blocking read for signal
|
||||||
|
|
||||||
if changed { // if there was a change to the map...
|
if changed { // if there was a change to the map...
|
||||||
fileOut( home ) // rewrite data file
|
fileOut() // rewrite data file
|
||||||
}
|
}
|
||||||
|
|
||||||
print( "\r" ) // this helps with the missing newline
|
print( "\r" ) // this helps with the missing newline
|
||||||
@@ -238,7 +237,7 @@ func join( subcommands []string ) string {
|
|||||||
|
|
||||||
// FILEOUT
|
// FILEOUT
|
||||||
// wrapper function to contain all the file writing
|
// wrapper function to contain all the file writing
|
||||||
func fileOut( home string ) {
|
func fileOut() {
|
||||||
|
|
||||||
// initialize data to be written as empty string
|
// initialize data to be written as empty string
|
||||||
var data string = ""
|
var data string = ""
|
||||||
@@ -310,11 +309,24 @@ func fileOut( home string ) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// get home directory from user
|
||||||
|
home, err := dir()
|
||||||
|
|
||||||
|
if err != nil { // check if home dir failed
|
||||||
|
panic( err ) // panic if so
|
||||||
|
}
|
||||||
|
|
||||||
|
// XXX
|
||||||
|
if flag { // if debug set, print home directory
|
||||||
|
print( "home (fO): ", home )
|
||||||
|
}
|
||||||
|
|
||||||
// cast writestring to byte array, write to file named "data"
|
// cast writestring to byte array, write to file named "data"
|
||||||
// if a file doesn't exist, make with 0x644 permissions
|
// if a file doesn't exist, make with 0x644 permissions
|
||||||
// take error as err, if fails
|
// take error as err, if fails
|
||||||
err := write( home + "/data", []byte( data ), 0644 )
|
err = write( home + "/data", []byte( data ), 0644 )
|
||||||
|
|
||||||
|
// XXX
|
||||||
if flag { // if debug set, print data written
|
if flag { // if debug set, print data written
|
||||||
print( data )
|
print( data )
|
||||||
}
|
}
|
||||||
@@ -329,7 +341,7 @@ func fileOut( home string ) {
|
|||||||
|
|
||||||
// FILEIN
|
// FILEIN
|
||||||
// warpper function to contain all the file reading
|
// warpper function to contain all the file reading
|
||||||
func fileIn( home string ) {
|
func fileIn() {
|
||||||
|
|
||||||
// test string to use in lieu of a file
|
// test string to use in lieu of a file
|
||||||
// file :=
|
// file :=
|
||||||
@@ -352,6 +364,18 @@ func fileIn( home string ) {
|
|||||||
// >30 >30 ~ subtask fill
|
// >30 >30 ~ subtask fill
|
||||||
// > > ~ subtask fill delim
|
// > > ~ subtask fill delim
|
||||||
|
|
||||||
|
// get home directory from user
|
||||||
|
home, err := dir()
|
||||||
|
|
||||||
|
if err != nil { // check if home dir failed
|
||||||
|
panic( err ) // panic if so
|
||||||
|
}
|
||||||
|
|
||||||
|
// XXX
|
||||||
|
if flag { // if debug set, print home directory
|
||||||
|
print( "home (fI): ", home )
|
||||||
|
}
|
||||||
|
|
||||||
file, err := read( home + "/data" ) // open file, failure set err
|
file, err := read( home + "/data" ) // open file, failure set err
|
||||||
|
|
||||||
// declare board, because if statement gets mad if I don't
|
// declare board, because if statement gets mad if I don't
|
||||||
@@ -470,7 +494,7 @@ func fileIn( home string ) {
|
|||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
// HELP( commands []string )
|
// HELP( commands []string )
|
||||||
//
|
//
|
||||||
// Revn: 03-10-2022
|
// Revn: 04-14-2022
|
||||||
// Args: commands - array of strings
|
// Args: commands - array of strings
|
||||||
// list of commands, should begin with "help" here
|
// list of commands, should begin with "help" here
|
||||||
// any subcommands would specify with which
|
// any subcommands would specify with which
|
||||||
@@ -494,6 +518,7 @@ func fileIn( home string ) {
|
|||||||
// 03-10-2022: rewrote /delete/ to reflect new scope
|
// 03-10-2022: rewrote /delete/ to reflect new scope
|
||||||
// removed /move/ and /choose/ portions, because those
|
// removed /move/ and /choose/ portions, because those
|
||||||
// commands were removed
|
// commands were removed
|
||||||
|
// 04-15-2022: added /about/ section
|
||||||
//
|
//
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
func help( commands []string ) {
|
func help( commands []string ) {
|
||||||
@@ -564,12 +589,143 @@ func help( commands []string ) {
|
|||||||
print( " quit" )
|
print( " quit" )
|
||||||
print( " \\-- exit program" )
|
print( " \\-- exit program" )
|
||||||
}
|
}
|
||||||
|
if helpFlag || c == "save" {
|
||||||
|
print( " save" )
|
||||||
|
print( " \\-- save changes to file without exiting" )
|
||||||
|
}
|
||||||
|
if c == "about" {
|
||||||
|
print( " about" )
|
||||||
|
print( " \\-- kanban board in the terminal" )
|
||||||
|
}
|
||||||
print() // print extra line to avoid cluttered look
|
print() // print extra line to avoid cluttered look
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------------------
|
||||||
|
// HELP( command string )
|
||||||
|
//
|
||||||
|
// Revn: 04-15-2022
|
||||||
|
// Args: commands - string
|
||||||
|
// Func: more in depth help messages than the normal function, to be
|
||||||
|
// called from a different function
|
||||||
|
// TODO: rewrite?
|
||||||
|
// -----------------------------------------------------------------------------
|
||||||
|
// CHANGE LOG
|
||||||
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
// 04-15-2022: init
|
||||||
|
//
|
||||||
|
// -----------------------------------------------------------------------------
|
||||||
|
func Help( command string ) {
|
||||||
|
switch command {
|
||||||
|
case "delete":
|
||||||
|
print( " usage - /delete/" )
|
||||||
|
print( " \\-- permanently remove an object" )
|
||||||
|
print( " |" )
|
||||||
|
print( " \\-> delete [board] <b>")
|
||||||
|
print( " |" )
|
||||||
|
print( " \\-- deletes a board named /b/" )
|
||||||
|
print( " \\ if the flag /board/ is not present, it will be assumed" )
|
||||||
|
print( " \\ if /b/ doesn't exist, /delete/ will alert user" )
|
||||||
|
print( " |" )
|
||||||
|
print( " \\-> delete task <t>" )
|
||||||
|
print( " |" )
|
||||||
|
print( " \\-- deletes a task named /t/" )
|
||||||
|
print( " \\ will fail without /task/ flag" )
|
||||||
|
print( " \\ if /t/ doesn't exist, /delete/ will alert user" )
|
||||||
|
print( " |" )
|
||||||
|
print( " \\-> delete subtask <s>" )
|
||||||
|
print( " |" )
|
||||||
|
print( " \\-- deletes a subtask named /s/" )
|
||||||
|
print( " \\ will fail without /subtask/ flag" )
|
||||||
|
print( " \\ if /s/ doesn't exist, /delete/ will alert user" )
|
||||||
|
print()
|
||||||
|
case "make":
|
||||||
|
print( " usage - /make/" )
|
||||||
|
print( " \\-- create a new object" )
|
||||||
|
print( " |" )
|
||||||
|
print( " \\-> make [board] <b>" )
|
||||||
|
print( " |" )
|
||||||
|
print( " \\-- creates a new board named /b/" )
|
||||||
|
print( " \\ if the flag /board/ is not present, it will be assumed" )
|
||||||
|
print( " \\ board names cannot contain the word \"task\"" )
|
||||||
|
print( " |" )
|
||||||
|
print( " \\-> make [board] <b> task <t>" )
|
||||||
|
print( " |" )
|
||||||
|
print( " \\-- creates a new task named <t> under board <b>" )
|
||||||
|
print( " \\ will fail without /task/ flag" )
|
||||||
|
print( " \\ if the flag /board/ is not present, it will be assumed" )
|
||||||
|
print( " \\ neither board nor task names may contain the word \"task\"" )
|
||||||
|
print( " |" )
|
||||||
|
print( " \\-> make task <t> subtask <s>" )
|
||||||
|
print( " |" )
|
||||||
|
print( " \\-- creates a new subtask named <s> under task <t>" )
|
||||||
|
print( " \\ will fail without /task/ and /subtask/ flags" )
|
||||||
|
print( " \\ neither task nor subtask names may contain the words" )
|
||||||
|
print( " \\ \"task\" or \"subtask\"" )
|
||||||
|
print()
|
||||||
|
case "mark":
|
||||||
|
print( " usage - /mark/" )
|
||||||
|
print( " \\-- set a fill of a task or subtask" )
|
||||||
|
print( " |" )
|
||||||
|
print( " \\-> mark task <t> <fill>" )
|
||||||
|
print( " |" )
|
||||||
|
print( " \\-- set the status of task /t/ to /fill/" )
|
||||||
|
print( " \\ /fill/" )
|
||||||
|
print( " \\-- must be an integer" )
|
||||||
|
print( " \\-- negative numbers are allowed (and lowkey encouraged)" )
|
||||||
|
print( " \\-- numbers above 100 are truncated" )
|
||||||
|
print( " \\ will fail without /task/ flag" )
|
||||||
|
print( " \\ task names cannot contain the word \"task\"" )
|
||||||
|
print( " |" )
|
||||||
|
print( " \\-> mark subtask <s> <fill>" )
|
||||||
|
print( " |" )
|
||||||
|
print( " \\-- set the status of subtask /t/ to /fill/" )
|
||||||
|
print( " \\ /fill/" )
|
||||||
|
print( " \\-- must be an integer" )
|
||||||
|
print( " \\-- negative numbers are allowed (and lowkey encouraged)" )
|
||||||
|
print( " \\-- numbers above 100 are truncated" )
|
||||||
|
print( " \\ will fail without /subtask/ flag" )
|
||||||
|
print( " \\ subtask names cannot contain the words" )
|
||||||
|
print( " \\ \"task\" or \"subtask\"" )
|
||||||
|
print()
|
||||||
|
case "show":
|
||||||
|
print( " usage - /show/" )
|
||||||
|
print( " \\-- print user-requested objects" )
|
||||||
|
print( " |" )
|
||||||
|
print( " \\-> show boards" )
|
||||||
|
print( " |" )
|
||||||
|
print( " \\-- print a quick list of all boards" )
|
||||||
|
print( " |" )
|
||||||
|
print( " \\-> show tasks" )
|
||||||
|
print( " |" )
|
||||||
|
print( " \\-- print a quick list of all tasks (under their respective boards)" )
|
||||||
|
print( " |" )
|
||||||
|
print( " \\-> show [all]" )
|
||||||
|
print( " |" )
|
||||||
|
print( " \\-- print everything" )
|
||||||
|
print( " |" )
|
||||||
|
print( " \\-> show [board] <b>" )
|
||||||
|
print( " |" )
|
||||||
|
print( " \\-- print everything inside board /b/" )
|
||||||
|
print( " \\ if the flag /board/ is not present, it will be assumed" )
|
||||||
|
print( " |" )
|
||||||
|
print( " \\-> show task <t>" )
|
||||||
|
print( " |" )
|
||||||
|
print( " \\-- print parent board of task /t/, task /t/, and its contents" )
|
||||||
|
print( " \\ will fail without /task/ flag" )
|
||||||
|
print( " |" )
|
||||||
|
print( " \\-> show subtask <s>" )
|
||||||
|
print( " |" )
|
||||||
|
print( " \\-- show the parent board and task of subtask /s/" )
|
||||||
|
print( " \\ will fail without /subtask/ flag" )
|
||||||
|
print()
|
||||||
|
default:
|
||||||
|
print( "what? how?" )
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
// DELETE( search query )
|
// DELETE( search query )
|
||||||
//
|
//
|
||||||
@@ -604,6 +760,7 @@ func del( search query ) {
|
|||||||
|
|
||||||
// if fail is set, quit
|
// if fail is set, quit
|
||||||
if search.command == "fail" {
|
if search.command == "fail" {
|
||||||
|
Help( "delete" )
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -787,6 +944,7 @@ func сделай( search query ) {
|
|||||||
|
|
||||||
// if fail is set, quit
|
// if fail is set, quit
|
||||||
if search.command == "fail" {
|
if search.command == "fail" {
|
||||||
|
Help( "make" )
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -802,8 +960,7 @@ func сделай( search query ) {
|
|||||||
// print error, call help about it
|
// print error, call help about it
|
||||||
print( "Error in make()" )
|
print( "Error in make()" )
|
||||||
print( "No object specified" )
|
print( "No object specified" )
|
||||||
makeFailure := []string{ "help", "make" }
|
Help( "make" )
|
||||||
help( makeFailure )
|
|
||||||
return
|
return
|
||||||
} else { // yes board
|
} else { // yes board
|
||||||
exists = true // signal that parent did exist
|
exists = true // signal that parent did exist
|
||||||
@@ -821,8 +978,7 @@ func сделай( search query ) {
|
|||||||
// print error, call help about it
|
// print error, call help about it
|
||||||
print( "Error in make()" )
|
print( "Error in make()" )
|
||||||
print( "Cannot make task without specifying board" )
|
print( "Cannot make task without specifying board" )
|
||||||
makeFailure := []string{ "help", "make" }
|
Help( "make" )
|
||||||
help( makeFailure )
|
|
||||||
return
|
return
|
||||||
} else { // board is specified
|
} else { // board is specified
|
||||||
exists = true // signal parent did exist
|
exists = true // signal parent did exist
|
||||||
@@ -854,8 +1010,7 @@ func сделай( search query ) {
|
|||||||
// print error, call help about it
|
// print error, call help about it
|
||||||
print( "Error in make()" )
|
print( "Error in make()" )
|
||||||
print( "Cannot make subtask with specifying task" )
|
print( "Cannot make subtask with specifying task" )
|
||||||
makeFailure := []string{ "help", "make" }
|
Help( "make" )
|
||||||
help( makeFailure )
|
|
||||||
return
|
return
|
||||||
} else { // yes task
|
} else { // yes task
|
||||||
// iterate over boards to look for requested task
|
// iterate over boards to look for requested task
|
||||||
@@ -901,8 +1056,7 @@ func сделай( search query ) {
|
|||||||
p( " object " )
|
p( " object " )
|
||||||
}
|
}
|
||||||
print( "does not exist" )
|
print( "does not exist" )
|
||||||
makeFailure := []string{ "help", "make" }
|
Help( "make" )
|
||||||
help( makeFailure )
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -944,6 +1098,7 @@ func mark( search query ) {
|
|||||||
// if parse() failed, simply return
|
// if parse() failed, simply return
|
||||||
// probably print failure too?
|
// probably print failure too?
|
||||||
if search.command == "fail" {
|
if search.command == "fail" {
|
||||||
|
Help( "mark" )
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -960,14 +1115,13 @@ func mark( search query ) {
|
|||||||
// on error, print failure, call help about it, return
|
// on error, print failure, call help about it, return
|
||||||
if err != nil {
|
if err != nil {
|
||||||
print( "Fill value /" + search.subB + "/ is not a number" )
|
print( "Fill value /" + search.subB + "/ is not a number" )
|
||||||
markFailure := []string{ "help", "mark" }
|
Help( "mark" )
|
||||||
help( markFailure )
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// round fill down to 100 max, specifically allow negative fill
|
// round fill down to 100 max, specifically allow negative fill
|
||||||
if markFill > 100 {
|
if markFill > 100 {
|
||||||
markFill = 100
|
search.subB = "100"
|
||||||
}
|
}
|
||||||
|
|
||||||
if x != "" { // should be true, board is given
|
if x != "" { // should be true, board is given
|
||||||
@@ -1027,8 +1181,7 @@ func mark( search query ) {
|
|||||||
// switch over first command
|
// switch over first command
|
||||||
// switch over length of subcommand
|
// switch over length of subcommand
|
||||||
// switch over contents of subcommand
|
// switch over contents of subcommand
|
||||||
// TODO: contemplate help case
|
// TODO: move to external file?
|
||||||
// move to external file?
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
// CHANGE LOG
|
// CHANGE LOG
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
@@ -1070,7 +1223,7 @@ func parse( commands []string ) query {
|
|||||||
// big switch statement over command
|
// big switch statement over command
|
||||||
switch comm {
|
switch comm {
|
||||||
// these don't really need processing, break out immediately
|
// these don't really need processing, break out immediately
|
||||||
case "save", "set", "quit", "exit":
|
case "save", "set", "quit", "exit", "help", "":
|
||||||
return search
|
return search
|
||||||
case "delete":
|
case "delete":
|
||||||
// there are only so many types of commands that work here
|
// there are only so many types of commands that work here
|
||||||
@@ -1268,6 +1421,7 @@ func parse( commands []string ) query {
|
|||||||
// show
|
// show
|
||||||
// set subcommand to all
|
// set subcommand to all
|
||||||
search.subA = "all"
|
search.subA = "all"
|
||||||
|
return search
|
||||||
} else {
|
} else {
|
||||||
switch subcommands[0] {
|
switch subcommands[0] {
|
||||||
case "boards", "tasks":
|
case "boards", "tasks":
|
||||||
@@ -1317,7 +1471,6 @@ func parse( commands []string ) query {
|
|||||||
}
|
}
|
||||||
default: // command not recognized
|
default: // command not recognized
|
||||||
// print error, call help about it
|
// print error, call help about it
|
||||||
//print( "Command /", comm, "/ not recognized" )
|
|
||||||
print( "Command /", comm, "/ not recognized" )
|
print( "Command /", comm, "/ not recognized" )
|
||||||
commFailure := []string{ "help" }
|
commFailure := []string{ "help" }
|
||||||
help( commFailure )
|
help( commFailure )
|
||||||
@@ -1451,8 +1604,7 @@ func show( search query ) {
|
|||||||
} else { // if board DNE
|
} else { // if board DNE
|
||||||
// print error, call help about it
|
// print error, call help about it
|
||||||
print( "Board /" + sbd + "/ does not exist" )
|
print( "Board /" + sbd + "/ does not exist" )
|
||||||
showFailure := []string{ "help", "show" }
|
Help( "show" )
|
||||||
help( showFailure )
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
case "boards":
|
case "boards":
|
||||||
@@ -1504,8 +1656,7 @@ func show( search query ) {
|
|||||||
// print error
|
// print error
|
||||||
// call help about it
|
// call help about it
|
||||||
print( "Task /" + stk + "/ does not exist" )
|
print( "Task /" + stk + "/ does not exist" )
|
||||||
showFailure := []string{ "help", "show" }
|
Help( "show" )
|
||||||
help( showFailure )
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
case "tasks":
|
case "tasks":
|
||||||
@@ -1549,16 +1700,14 @@ func show( search query ) {
|
|||||||
// print error
|
// print error
|
||||||
// call help about it
|
// call help about it
|
||||||
print( "Subtask /" + sstk + "/ does not exist" )
|
print( "Subtask /" + sstk + "/ does not exist" )
|
||||||
showFailure := []string{ "help", "show" }
|
Help( "show" )
|
||||||
help( showFailure )
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
default: // unrecognized subcommand
|
default: // unrecognized subcommand
|
||||||
// print error, call help about it
|
// print error, call help about it
|
||||||
print( "Error in show()" )
|
print( "Error in show()" )
|
||||||
print( "Subcommand /" + subcom + "/ does not exist" )
|
print( "Subcommand /" + subcom + "/ does not exist" )
|
||||||
showFailure := []string{ "help", "show" }
|
Help( "show" )
|
||||||
help( showFailure )
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1615,16 +1764,9 @@ var home string // declare string to keep track of home dir
|
|||||||
// MAIN
|
// MAIN
|
||||||
func main() {
|
func main() {
|
||||||
|
|
||||||
// get home directory from user
|
|
||||||
home, err := dir()
|
|
||||||
|
|
||||||
if err != nil { // check if home dir failed
|
|
||||||
panic( err ) // panic if so
|
|
||||||
}
|
|
||||||
|
|
||||||
catch() // call function to catch keyboard interrupts
|
catch() // call function to catch keyboard interrupts
|
||||||
|
|
||||||
fileIn( home ) // open data file, process into structure
|
fileIn() // open data file, process into structure
|
||||||
|
|
||||||
for { // infinite loop, where everything happens
|
for { // infinite loop, where everything happens
|
||||||
|
|
||||||
@@ -1671,7 +1813,7 @@ func main() {
|
|||||||
case "mark":
|
case "mark":
|
||||||
mark( search )
|
mark( search )
|
||||||
case "save":
|
case "save":
|
||||||
fileOut( home )
|
fileOut()
|
||||||
changed = false
|
changed = false
|
||||||
print( "Updates saved" )
|
print( "Updates saved" )
|
||||||
case "show":
|
case "show":
|
||||||
@@ -1685,7 +1827,7 @@ func main() {
|
|||||||
|
|
||||||
// if file was changed, rewrite to file
|
// if file was changed, rewrite to file
|
||||||
if changed {
|
if changed {
|
||||||
fileOut( home )
|
fileOut()
|
||||||
}
|
}
|
||||||
|
|
||||||
exit( 0 ) // exeunt
|
exit( 0 ) // exeunt
|
||||||
@@ -1704,7 +1846,7 @@ func main() {
|
|||||||
if cmd {
|
if cmd {
|
||||||
// if file was changed, rewrite to file
|
// if file was changed, rewrite to file
|
||||||
if changed {
|
if changed {
|
||||||
fileOut( home )
|
fileOut()
|
||||||
}
|
}
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user