]> git.armaanb.net Git - lightcards.git/blobdiff - lightcards/runner.py
Add preliminary config file support
[lightcards.git] / lightcards / runner.py
index 7c730776bb3a436ea4084a8e8413acf863e40bdf..6cb87d40d3f36c4db647e955cd3a70455b208044 100644 (file)
@@ -18,6 +18,12 @@ def parse_args():
     parser = argparse.ArgumentParser(
         description="Terminal flashcards from Markdown"
     )
+    parser.add_argument(
+        "-c",
+        "--config",
+        type=str,
+        help="specify custom config file",
+    )
     parser.add_argument(
         "-V",
         "--view",
@@ -55,7 +61,7 @@ def parse_args():
     return parser.parse_args()
 
 
-def show(args, stack, headers):
+def show(args, stack, headers, input_file):
     """
     Get objects from cache, manipulate deck according to passed arguments, and
     send it to the display functions
@@ -79,20 +85,13 @@ def show(args, stack, headers):
         stack.reverse()
 
     # Send to display
-    win = Display(stack, headers, idx, args.view)
+    win = Display(stack, headers, idx, args.view, input_file)
     try:
         curses.wrapper(win.run)
     except curses.error as e:
         raise CursesError() from e
 
 
-def reparse():
-    """Parse arguments and input file again"""
-    args = parse_args()
-    os.system(f"$EDITOR {args.inp[0]}"),
-    return parse.parse_html(parse.md2html(args.inp[0]))
-
-
 def get_orig():
     """Return original header and stack"""
     return (headers, stack)
@@ -103,7 +102,7 @@ def main(args=sys.argv):
     args = parse_args()
     global headers, stack
     (headers, stack) = parse.parse_html(parse.md2html(args.inp[0]))
-    show(args, stack, headers)
+    show(args, stack, headers, args)
 
 
 if __name__ == "__main__":