From 7da2aa65bc61c9cfa0db0222ba04c587f0b5404f Mon Sep 17 00:00:00 2001 From: Steven van den Broek Date: Sat, 25 Jul 2020 22:15:53 +0200 Subject: [PATCH] Reordering: add error message and update README --- README.md | 15 +++- recordings/gapped-question.yml | 70 +----------------- recordings/multiple-answer.yml | 94 +----------------------- recordings/multiple-choice.yml | 58 +-------------- recordings/reordering.gif | Bin 0 -> 106816 bytes recordings/reordering.yml | 127 +++++++++++++++++++++++++++++++++ src/Parser.hs | 6 +- 7 files changed, 149 insertions(+), 221 deletions(-) create mode 100644 recordings/reordering.gif create mode 100644 recordings/reordering.yml diff --git a/README.md b/README.md index c29f49d..8dda531 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ Simply run `hascard` to open the main application. Menu navigation can be done w The CLI provides some options for running hascard; to see them all run `hascard -h`. As an example, say you have a file `deck.txt` with lots of cards in it and you want to review 5 random ones, you can use `hascard deck -s -a 5`. Here `-s` shuffles the deck and `-a 5` specifies we only want to look at 5 of them. ## Cards -Decks of cards are written in `.txt` files. Cards are seperated with a line containing three dashes `---`. For examples, see the [`/cards`](https://github.com/Yvee1/hascard/tree/master/cards) directory. In this section the 4 different cards are listed, with the syntax and how it is represented in the application. +Decks of cards are written in `.txt` files. Cards are seperated with a line containing three dashes `---`. For examples, see the [`/cards`](https://github.com/Yvee1/hascard/tree/master/cards) directory. In this section the 5 different types of cards are listed, with the syntax and how it is represented in the application. ### Definition This is the simplest card, it simply has a title and can be flipped to show the contents. For example the following card @@ -94,5 +94,18 @@ The symbol € is for the currency named _Euro_, and is used in the _EU|European behaves like this ![](./recordings/gapped-question.gif) +### Reorder question +This is a question where you have to put the elements in the correct order. Each element is preceded by a number indicating their correct place. The elements are rendered in the same order as they are written. For example the card + +``` +# Order the letters in alphabetical order +4. u +1. l +2. p +3. s +``` +will look like +![](./recordings/reordering.gif) + ## Miscellaneous info Written in Haskell, UI built with [brick](https://github.com/jtdaugherty/brick) and parsing of cards done with [parsec](https://github.com/haskell/parsec). Recordings of the terminal were made using [terminalizer](https://github.com/faressoft/terminalizer). The filebrowser widget was mostly copied from the brick [filebrowser demo program](https://github.com/jtdaugherty/brick/blob/master/programs/FileBrowserDemo.hs). Homebrew and Travis configurations were made much easier by [the tutorial from Chris Penner](https://chrispenner.ca/posts/homebrew-haskell). diff --git a/recordings/gapped-question.yml b/recordings/gapped-question.yml index 29afb39..952f0b7 100644 --- a/recordings/gapped-question.yml +++ b/recordings/gapped-question.yml @@ -111,62 +111,6 @@ config: # Records, feel free to edit them records: - # - delay: 870 - # content: "\e[1m\e[7m%\e[27m\e[1m\e[0m \r \r\e]2;..skell/hascard\a" - # - delay: 36 - # content: "\r\e[0m\e[27m\e[24m\e[J\e[01;32m➜ \e[36mhascard\e[00m \e[01;34mgit:(\e[31mmaster\e[34m) \e[33m✗\e[00m \e[K\e[?1h\e=\e[?2004h" - # - delay: 401 - # content: "h\e[90mascard\e[39m\b\b\b\b\b\b" - # - delay: 106 - # content: "\bh\e[39ma" - # - delay: 54 - # content: "\e[39ms" - # - delay: 71 - # content: "\e[39mk\e[39m \e[39m \e[39m \b\b\b" - # - delay: 86 - # content: e - # - delay: 78 - # content: l - # - delay: 326 - # content: "\b \b" - # - delay: 122 - # content: "\b \b" - # - delay: 126 - # content: "\b\e[90mc\e[90mard\e[39m\b\b\b\b" - # - delay: 148 - # content: "\e[39mc" - # - delay: 195 - # content: "\e[39ma" - # - delay: 40 - # content: "\e[39mr" - # - delay: 78 - # content: "\e[39md" - # - delay: 106 - # content: "\e[?1l\e>\e[?2004l\r\r\n\e]2;hascard\a" - # - delay: 15 - # content: "\e[5 q\e[?1049h\e[22;0;0t\e[H\e[2J" - # - delay: 13 - # content: "\e[?25l\e[1;1H\e(B\e[m \e[2;1H\e(B\e[m \e[3;1H\e(B\e[m \e[4;1H\e(B\e[m \e[5;1H\e(B\e[m \e[6;1H\e(B\e[m \e[7;1H\e(B\e[m ╭────────────────────────────────────────╮ \e[8;1H\e(B\e[m │ \e[33m┬ ┬┌─┐┌─┐┌─┐┌─┐┬─┐┌┬┐\e(B\e[m │ \e[9;1H\e(B\e[m │ \e[33m├─┤├─┤└─┐│ ├─┤├┬┘ ││\e(B\e[m │ \e[10;1H\e(B\e[m │ \e[33m┴ ┴┴ ┴└─┘└─┘┴ ┴┴└──┴┘\e(B\e[m │ \e[11;1H\e(B\e[m ├────────────────────────────────────────┤ \e[12;1H\e(B\e[m │ \e[4m\e[37mSelect\e(B\e[m │ \e[13;1H\e(B\e[m │ Info │ \e[14;1H\e(B\e[m │ Settings │ \e[15;1H\e(B\e[m │ Quit │ \e[16;1H\e(B\e[m ╰────────────────────────────────────────╯ \e[17;1H\e(B\e[m \e[18;1H\e(B\e[m \e[19;1H\e(B\e[m \e[20;1H\e(B\e[m \e[21;1H\e(B\e[m \e[22;1H\e(B\e[m " - # - delay: 565 - # content: "\e[?1049l\e[23;0;0t\e[?12l\e[?25h\e(B\e[m\e[?12l\e[?25h\e[?1049h\e[22;0;0t\e[H\e[2J" - # - delay: 19 - # content: "\e[?25l\e[1;1H\e(B\e[m \e[2;1H\e(B\e[m \e[3;1H\e(B\e[m \e[4;1H\e(B\e[m \e[5;1H\e(B\e[m \e[6;1H\e(B\e[m \e[7;1H\e(B\e[m ╭───────────────────────────────────────────────╮ \e[8;1H\e(B\e[m │\e[33m Select a deck of flashcards \e(B\e[m│ \e[9;1H\e(B\e[m ├───────────────────────────────────────────────┤ \e[10;1H\e(B\e[m │ \e[4m\e[37mexample\e(B\e[m │ \e[11;1H\e(B\e[m │ test │ \e[12;1H\e(B\e[m │ analysis3 │ \e[13;1H\e(B\e[m │ syntax │ \e[14;1H\e(B\e[m │ \e[34mSelect file from system\e(B\e[m │ \e[15;1H\e(B\e[m │ │ \e[16;1H\e(B\e[m ╰───────────────────────────────────────────────╯ \e[17;1H\e(B\e[m \e[18;1H\e(B\e[m \e[19;1H\e(B\e[m \e[20;1H\e(B\e[m \e[21;1H\e(B\e[m \e[22;1H\e(B\e[m " - # - delay: 302 - # content: "\e[?25l\e[10;1H\e(B\e[m │ example │ \e[11;1H\e(B\e[m │ \e[4m\e[37mtest\e(B\e[m │ " - # - delay: 163 - # content: "\e[?25l\e[11;1H\e(B\e[m │ test │ \e[12;1H\e(B\e[m │ \e[4m\e[37manalysis3\e(B\e[m │ " - # - delay: 158 - # content: "\e[?25l\e[12;1H\e(B\e[m │ analysis3 │ \e[13;1H\e(B\e[m │ \e[4m\e[37msyntax\e(B\e[m │ " - # - delay: 1584 - # content: "\e[?1049l\e[23;0;0t\e[?12l\e[?25h\e(B\e[m\e[?12l\e[?25h" - # - delay: 8 - # content: "\e[?1049h\e[22;0;0t\e[H\e[2J" - # - delay: 5 - # content: "\e[?25l\e[1;1H\e(B\e[m \e[2;1H\e(B\e[m \e[3;1H\e(B\e[m \e[4;1H\e(B\e[m \e[5;1H\e(B\e[m \e[6;1H\e(B\e[m \e[7;1H\e(B\e[m \e[8;1H\e(B\e[m ╭───────────────────────────────────────────────╮ \e[9;1H\e(B\e[m │\e[33m Word or question \e(B\e[m│ \e[10;1H\e(B\e[m ├───────────────────────────────────────────────┤ \e[11;1H\e(B\e[m │ │ \e[12;1H\e(B\e[m │ │ \e[13;1H\e(B\e[m │ │ \e[14;1H\e(B\e[m │ 1/4 │ \e[15;1H\e(B\e[m ╰───────────────────────────────────────────────╯ \e[16;1H\e(B\e[m \e[17;1H\e(B\e[m \e[18;1H\e(B\e[m \e[19;1H\e(B\e[m \e[20;1H\e(B\e[m \e[21;1H\e(B\e[m \e[22;1H\e(B\e[m " - # - delay: 1181 - # content: "\e[?25l\e[6;1H\e(B\e[m ╭───────────────────────────────────────────────╮ \e[7;1H\e(B\e[m │\e[33m Multiple choice question, (only one answer is \e(B\e[m│ \e[8;1H\e(B\e[m │\e[33m right) \e(B\e[m│ \e[9;1H\e(B\e[m ├───────────────────────────────────────────────┤ \e[10;1H\e(B\e[m │ \e[33m* \e(B\e[mChoice 1 │ \e[11;1H\e(B\e[m │ Choice 2 (this is the correct answer) │ \e[12;1H\e(B\e[m │ Choice 3 │ \e[13;1H\e(B\e[m │ Choice 4 │ \e[14;1H\e(B\e[m │ │ \e[15;1H\e(B\e[m │ 2/4 │ \e[16;1H\e(B\e[m ╰───────────────────────────────────────────────╯ " - # - delay: 547 - # content: "\e[?25l\e[6;1H\e(B\e[m \e[7;1H\e(B\e[m ╭───────────────────────────────────────────────╮ \e[8;1H\e(B\e[m │\e[33m Multiple answer question \e(B\e[m│ \e[10;1H\e(B\e[m │[\e[33m*\e(B\e[m] Option 1 (this is a correct answer) │ \e[11;1H\e(B\e[m │[ ] Option 2 │ \e[12;1H\e(B\e[m │[ ] Option 3 (this is a correct answer) │ \e[13;1H\e(B\e[m │[ ] Option 4 │ \e[14;1H\e(B\e[m │ │ \e[15;1H\e(B\e[m │ 3/4 │ " - delay: 1250 content: "\e[?25l\e[7;1H\e(B\e[m \e[8;1H\e(B\e[m ╭───────────────────────────────────────────────╮ \e[9;1H\e(B\e[m │\e[33m Fill in the gaps \e(B\e[m│ \e[10;1H\e(B\e[m ├───────────────────────────────────────────────┤ \e[11;1H\e(B\e[m │ The symbol € is for the currency named , and │ \e[12;1H\e(B\e[m │ is used in the . │ \e[13;1H\e(B\e[m │ │ \e[14;1H\e(B\e[m │ 4/4 │ \e[15;1H\e(B\e[m ╰───────────────────────────────────────────────╯ \e[16;1H\e(B\e[m \e[?12l\e[?25h\e[11;57H" - delay: 7312 @@ -194,16 +138,4 @@ records: - delay: 278 content: "\e[?25l\e[12;1H\e(B\e[m │ and is used in the \e[4m\e[31mEU\e(B\e[m. │ \e[?12l\e[?25h\e[12;39H" - delay: 575 - content: "\e[?25l\e[12;1H\e(B\e[m │ and is used in the \e[4m\e[32mEU\e(B\e[m. │ \e[?12l\e[?25h\e[12;39H" - # - delay: 1217 - # content: "\e[?1049l\e[23;0;0t\e[?12l\e[?25h\e(B\e[m\e[?12l\e[?25h\e[?1049h\e[22;0;0t\e[H\e[2J" - # - delay: 16 - # content: "\e[?25l\e[1;1H\e(B\e[m \e[2;1H\e(B\e[m \e[3;1H\e(B\e[m \e[4;1H\e(B\e[m \e[5;1H\e(B\e[m \e[6;1H\e(B\e[m \e[7;1H\e(B\e[m ╭───────────────────────────────────────────────╮ \e[8;1H\e(B\e[m │\e[33m Select a deck of flashcards \e(B\e[m│ \e[9;1H\e(B\e[m ├───────────────────────────────────────────────┤ \e[10;1H\e(B\e[m │ example │ \e[11;1H\e(B\e[m │ test │ \e[12;1H\e(B\e[m │ analysis3 │ \e[13;1H\e(B\e[m │ \e[4m\e[37msyntax\e(B\e[m │ \e[14;1H\e(B\e[m │ \e[34mSelect file from system\e(B\e[m │ \e[15;1H\e(B\e[m │ │ \e[16;1H\e(B\e[m ╰───────────────────────────────────────────────╯ \e[17;1H\e(B\e[m \e[18;1H\e(B\e[m \e[19;1H\e(B\e[m \e[20;1H\e(B\e[m \e[21;1H\e(B\e[m \e[22;1H\e(B\e[m " - # - delay: 811 - # content: "\e[?1049l\e[23;0;0t\e[?12l\e[?25h\e(B\e[m\e[?12l\e[?25h\e[?1049h\e[22;0;0t\e[H\e[2J" - # - delay: 178 - # content: "[1] 42421 segmentation fault (core dumped) hascard\r\n\e[1m\e[7m%\e[27m\e[1m\e[0m \r \r\e]2;..skell/hascard\a" - # - delay: 31 - # content: "\r\e[0m\e[27m\e[24m\e[J\e[01;31m➜ \e[36mhascard\e[00m \e[01;34mgit:(\e[31mmaster\e[34m) \e[33m✗\e[00m \e[K\e[?1h\e=\e[?2004h" - # - delay: 2216 - # content: "\e[?2004l\r\r\n" + content: "\e[?25l\e[12;1H\e(B\e[m │ and is used in the \e[4m\e[32mEU\e(B\e[m. │ \e[?12l\e[?25h\e[12;39H" \ No newline at end of file diff --git a/recordings/multiple-answer.yml b/recordings/multiple-answer.yml index 70d6f43..ef8ce41 100644 --- a/recordings/multiple-answer.yml +++ b/recordings/multiple-answer.yml @@ -111,80 +111,6 @@ config: # Records, feel free to edit them records: - # - delay: 891 - # content: "\e[1m\e[7m%\e[27m\e[1m\e[0m \r \r\e]2;..skell/hascard\a" - # - delay: 35 - # content: "\r\e[0m\e[27m\e[24m\e[J\e[01;32m➜ \e[36mhascard\e[00m \e[01;34mgit:(\e[31mmaster\e[34m) \e[33m✗\e[00m \e[K\e[?1h\e=\e[?2004h" - # - delay: 311 - # content: "h\e[90mascard\e[39m\b\b\b\b\b\b" - # - delay: 84 - # content: "\bh\e[39ma" - # - delay: 46 - # content: "\e[39ms" - # - delay: 189 - # content: "\e[39mc" - # - delay: 122 - # content: "\e[39ma" - # - delay: 103 - # content: "\e[39mr" - # - delay: 73 - # content: "\e[39md" - # - delay: 147 - # content: "\e[?1l\e>\e[?2004l\r\r\n\e]2;hascard\a" - # - delay: 9 - # content: "\e[5 q\e[?1049h\e[22;0;0t\e[H\e[2J" - # - delay: 16 - # content: "\e[?25l\e[1;1H\e(B\e[m \e[2;1H\e(B\e[m \e[3;1H\e(B\e[m \e[4;1H\e(B\e[m \e[5;1H\e(B\e[m \e[6;1H\e(B\e[m \e[7;1H\e(B\e[m ╭────────────────────────────────────────╮ \e[8;1H\e(B\e[m │ \e[33m┬ ┬┌─┐┌─┐┌─┐┌─┐┬─┐┌┬┐\e(B\e[m │ \e[9;1H\e(B\e[m │ \e[33m├─┤├─┤└─┐│ ├─┤├┬┘ ││\e(B\e[m │ \e[10;1H\e(B\e[m │ \e[33m┴ ┴┴ ┴└─┘└─┘┴ ┴┴└──┴┘\e(B\e[m │ \e[11;1H\e(B\e[m ├────────────────────────────────────────┤ \e[12;1H\e(B\e[m │ \e[4m\e[37mSelect\e(B\e[m │ \e[13;1H\e(B\e[m │ Info │ \e[14;1H\e(B\e[m │ Settings │ \e[15;1H\e(B\e[m │ Quit │ \e[16;1H\e(B\e[m ╰────────────────────────────────────────╯ \e[17;1H\e(B\e[m \e[18;1H\e(B\e[m \e[19;1H\e(B\e[m \e[20;1H\e(B\e[m \e[21;1H\e(B\e[m \e[22;1H\e(B\e[m " - # - delay: 397 - # content: "\e[?1049l\e[23;0;0t\e[?12l\e[?25h\e(B\e[m\e[?12l\e[?25h\e[?1049h\e[22;0;0t\e[H\e[2J" - # - delay: 12 - # content: "\e[?25l\e[1;1H\e(B\e[m \e[2;1H\e(B\e[m \e[3;1H\e(B\e[m \e[4;1H\e(B\e[m \e[5;1H\e(B\e[m \e[6;1H\e(B\e[m \e[7;1H\e(B\e[m ╭───────────────────────────────────────────────╮ \e[8;1H\e(B\e[m │\e[33m Select a deck of flashcards \e(B\e[m│ \e[9;1H\e(B\e[m ├───────────────────────────────────────────────┤ \e[10;1H\e(B\e[m │ \e[4m\e[37mexample\e(B\e[m │ \e[11;1H\e(B\e[m │ test │ \e[12;1H\e(B\e[m │ analysis3 │ \e[13;1H\e(B\e[m │ syntax │ \e[14;1H\e(B\e[m │ \e[34mSelect file from system\e(B\e[m │ \e[15;1H\e(B\e[m │ │ \e[16;1H\e(B\e[m ╰───────────────────────────────────────────────╯ \e[17;1H\e(B\e[m \e[18;1H\e(B\e[m \e[19;1H\e(B\e[m \e[20;1H\e(B\e[m \e[21;1H\e(B\e[m \e[22;1H\e(B\e[m " - # - delay: 319 - # content: "\e[?25l\e[10;1H\e(B\e[m │ example │ \e[11;1H\e(B\e[m │ \e[4m\e[37mtest\e(B\e[m │ " - # - delay: 155 - # content: "\e[?25l\e[11;1H\e(B\e[m │ test │ \e[12;1H\e(B\e[m │ \e[4m\e[37manalysis3\e(B\e[m │ " - # - delay: 167 - # content: "\e[?25l\e[12;1H\e(B\e[m │ analysis3 │ \e[13;1H\e(B\e[m │ \e[4m\e[37msyntax\e(B\e[m │ " - # - delay: 159 - # content: "\e[?1049l\e[23;0;0t\e[?12l\e[?25h\e(B\e[m\e[?12l\e[?25h\e[?1049h\e[22;0;0t\e[H\e[2J" - # - delay: 14 - # content: "\e[?25l\e[1;1H\e(B\e[m \e[2;1H\e(B\e[m \e[3;1H\e(B\e[m \e[4;1H\e(B\e[m \e[5;1H\e(B\e[m \e[6;1H\e(B\e[m \e[7;1H\e(B\e[m \e[8;1H\e(B\e[m ╭───────────────────────────────────────────────╮ \e[9;1H\e(B\e[m │\e[33m Word or question \e(B\e[m│ \e[10;1H\e(B\e[m ├───────────────────────────────────────────────┤ \e[11;1H\e(B\e[m │ │ \e[12;1H\e(B\e[m │ │ \e[13;1H\e(B\e[m │ │ \e[14;1H\e(B\e[m │ 1/4 │ \e[15;1H\e(B\e[m ╰───────────────────────────────────────────────╯ \e[16;1H\e(B\e[m \e[17;1H\e(B\e[m \e[18;1H\e(B\e[m \e[19;1H\e(B\e[m \e[20;1H\e(B\e[m \e[21;1H\e(B\e[m \e[22;1H\e(B\e[m " - # - delay: 355 - # content: "\e[?25l\e[11;1H\e(B\e[m │ Explanation or definition of this word, or │ \e[12;1H\e(B\e[m │ the answer to the question. │ \e[13;1H\e(B\e[m │ │ " - # - delay: 226 - # content: "\e[?25l\e[6;1H\e(B\e[m ╭───────────────────────────────────────────────╮ \e[7;1H\e(B\e[m │\e[33m Multiple choice question, (only one answer is \e(B\e[m│ \e[8;1H\e(B\e[m │\e[33m right) \e(B\e[m│ \e[9;1H\e(B\e[m ├───────────────────────────────────────────────┤ \e[10;1H\e(B\e[m │ \e[33m* \e(B\e[mChoice 1 │ \e[11;1H\e(B\e[m │ Choice 2 (this is the correct answer) │ \e[12;1H\e(B\e[m │ Choice 3 │ \e[13;1H\e(B\e[m │ Choice 4 │ \e[14;1H\e(B\e[m │ │ \e[15;1H\e(B\e[m │ 2/4 │ \e[16;1H\e(B\e[m ╰───────────────────────────────────────────────╯ " - # - delay: 647 - # content: "\e[?25l\e[10;1H\e(B\e[m │ Choice 1 │ \e[11;1H\e(B\e[m │ \e[33m* \e(B\e[mChoice 2 (this is the correct answer) │ " - # - delay: 158 - # content: "\e[?25l\e[11;1H\e(B\e[m │ \e[33m* \e[32mChoice 2 (this is the correct answer) \e(B\e[m │ " - # - delay: 364 - # content: "\e[?25l\e[6;1H\e(B\e[m \e[7;1H\e(B\e[m ╭───────────────────────────────────────────────╮ \e[8;1H\e(B\e[m │\e[33m Multiple answer question \e(B\e[m│ \e[10;1H\e(B\e[m │[\e[33m*\e(B\e[m] Option 1 (this is a correct answer) │ \e[11;1H\e(B\e[m │[ ] Option 2 │ \e[12;1H\e(B\e[m │[ ] Option 3 (this is a correct answer) │ \e[13;1H\e(B\e[m │[ ] Option 4 │ \e[14;1H\e(B\e[m │ │ \e[15;1H\e(B\e[m │ 3/4 │ " - # - delay: 4723 - # content: "\e[?25l\e[10;1H\e(B\e[m │\e[34m[\e[33m*\e[34m] \e(B\e[mOption 1 (this is a correct answer) │ " - # - delay: 256 - # content: "\e[?25l\e[10;1H\e(B\e[m │\e[34m[*] \e(B\e[mOption 1 (this is a correct answer) │ \e[11;1H\e(B\e[m │[\e[33m*\e(B\e[m] Option 2 │ " - # - delay: 267 - # content: "\e[?25l\e[11;1H\e(B\e[m │[ ] Option 2 │ \e[12;1H\e(B\e[m │[\e[33m*\e(B\e[m] Option 3 (this is a correct answer) │ " - # - delay: 678 - # content: "\e[?25l\e[12;1H\e(B\e[m │\e[34m[\e[33m*\e[34m] \e(B\e[mOption 3 (this is a correct answer) │ " - # - delay: 1223 - # content: "\e[?25l\e[12;1H\e(B\e[m │[\e[33m*\e(B\e[m] Option 3 (this is a correct answer) │ " - # - delay: 3776 - # content: "\e[?25l\e[6;1H\e(B\e[m ╭───────────────────────────────────────────────╮ \e[7;1H\e(B\e[m │\e[33m Multiple choice question, (only one answer is \e(B\e[m│ \e[8;1H\e(B\e[m │\e[33m right) \e(B\e[m│ \e[10;1H\e(B\e[m │ \e[33m* \e(B\e[mChoice 1 │ \e[11;1H\e(B\e[m │ Choice 2 (this is the correct answer) │ \e[12;1H\e(B\e[m │ Choice 3 │ \e[13;1H\e(B\e[m │ Choice 4 │ \e[14;1H\e(B\e[m │ │ \e[15;1H\e(B\e[m │ 2/4 │ " - # - delay: 1604 - # content: "\e[?25l" - # - delay: 242 - # content: "\e[?25l\e[10;1H\e(B\e[m │ Choice 1 │ \e[11;1H\e(B\e[m │ \e[33m* \e(B\e[mChoice 2 (this is the correct answer) │ " - # - delay: 190 - # content: "\e[?25l\e[11;1H\e(B\e[m │ Choice 2 (this is the correct answer) │ \e[12;1H\e(B\e[m │ \e[33m* \e(B\e[mChoice 3 │ " - # - delay: 191 - # content: "\e[?25l\e[12;1H\e(B\e[m │ \e[33m* \e[31mChoice 3 \e(B\e[m │ " - # - delay: 209 - # content: "\e[?25l" - # - delay: 535 - # content: "\e[?25l\e[11;1H\e(B\e[m │ \e[33m* \e(B\e[mChoice 2 (this is the correct answer) │ \e[12;1H\e(B\e[m │ \e[31mChoice 3 \e(B\e[m │ " - # - delay: 136 - # content: "\e[?25l\e[11;1H\e(B\e[m │ \e[33m* \e[32mChoice 2 (this is the correct answer) \e(B\e[m │ " - delay: 2000 content: "\e[?25l\e[6;1H\e(B\e[m \e[7;1H\e(B\e[m ╭───────────────────────────────────────────────╮ \e[8;1H\e(B\e[m │\e[33m Multiple answer question \e(B\e[m│ \e[9;1H\e(B\e[m ├───────────────────────────────────────────────┤ \e[10;1H\e(B\e[m │[\e[33m*\e(B\e[m] Option 1 (this is a correct answer) │ \e[11;1H\e(B\e[m │[ ] Option 2 │ \e[12;1H\e(B\e[m │[ ] Option 3 (this is a correct answer) │ \e[13;1H\e(B\e[m │[ ] Option 4 │ \e[14;1H\e(B\e[m │ │ \e[15;1H\e(B\e[m │ 3/4 │ \e[16;1H\e(B\e[m ╰───────────────────────────────────────────────╯ " - delay: 1500 @@ -196,22 +122,4 @@ records: - delay: 559 content: "\e[?25l\e[12;1H\e(B\e[m │\e[34m[\e[33m*\e[34m] \e(B\e[mOption 3 (this is a correct answer) │ " - delay: 725 - content: "\e[?25l\e[10;1H\e(B\e[m │\e[32m[*] \e(B\e[mOption 1 (this is a correct answer) │ \e[11;1H\e(B\e[m │\e[32m[ ] \e(B\e[mOption 2 │ \e[12;1H\e(B\e[m │\e[32m[*] \e(B\e[mOption 3 (this is a correct answer) │ \e[13;1H\e(B\e[m │\e[32m[ ] \e(B\e[mOption 4 │ " - # - delay: 2843 - # content: "\e[?25l\e[7;1H\e(B\e[m \e[8;1H\e(B\e[m ╭───────────────────────────────────────────────╮ \e[9;1H\e(B\e[m │\e[33m Fill in the gaps \e(B\e[m│ \e[10;1H\e(B\e[m ├───────────────────────────────────────────────┤ \e[11;1H\e(B\e[m │ The symbol € is for the currency named , and │ \e[12;1H\e(B\e[m │ is used in the . │ \e[13;1H\e(B\e[m │ │ \e[14;1H\e(B\e[m │ 4/4 │ \e[15;1H\e(B\e[m ╰───────────────────────────────────────────────╯ \e[16;1H\e(B\e[m \e[?12l\e[?25h\e[11;57H" - # - delay: 2806 - # content: "\e[?1049l\e[23;0;0t\e[?12l\e[?25h\e(B\e[m\e[?12l\e[?25h\e[?1049h\e[22;0;0t\e[H\e[2J" - # - delay: 14 - # content: "\e[?25l\e[1;1H\e(B\e[m \e[2;1H\e(B\e[m \e[3;1H\e(B\e[m \e[4;1H\e(B\e[m \e[5;1H\e(B\e[m \e[6;1H\e(B\e[m \e[7;1H\e(B\e[m ╭───────────────────────────────────────────────╮ \e[8;1H\e(B\e[m │\e[33m Select a deck of flashcards \e(B\e[m│ \e[9;1H\e(B\e[m ├───────────────────────────────────────────────┤ \e[10;1H\e(B\e[m │ example │ \e[11;1H\e(B\e[m │ test │ \e[12;1H\e(B\e[m │ analysis3 │ \e[13;1H\e(B\e[m │ \e[4m\e[37msyntax\e(B\e[m │ \e[14;1H\e(B\e[m │ \e[34mSelect file from system\e(B\e[m │ \e[15;1H\e(B\e[m │ │ \e[16;1H\e(B\e[m ╰───────────────────────────────────────────────╯ \e[17;1H\e(B\e[m \e[18;1H\e(B\e[m \e[19;1H\e(B\e[m \e[20;1H\e(B\e[m \e[21;1H\e(B\e[m \e[22;1H\e(B\e[m " - # - delay: 190 - # content: "\e[?1049l\e[23;0;0t\e[?12l\e[?25h\e(B\e[m\e[?12l\e[?25h\e[?1049h\e[22;0;0t\e[H\e[2J" - # - delay: 5 - # content: "\e[?25l\e[1;1H\e(B\e[m \e[2;1H\e(B\e[m \e[3;1H\e(B\e[m \e[4;1H\e(B\e[m \e[5;1H\e(B\e[m \e[6;1H\e(B\e[m \e[7;1H\e(B\e[m ╭────────────────────────────────────────╮ \e[8;1H\e(B\e[m │ \e[33m┬ ┬┌─┐┌─┐┌─┐┌─┐┬─┐┌┬┐\e(B\e[m │ \e[9;1H\e(B\e[m │ \e[33m├─┤├─┤└─┐│ ├─┤├┬┘ ││\e(B\e[m │ \e[10;1H\e(B\e[m │ \e[33m┴ ┴┴ ┴└─┘└─┘┴ ┴┴└──┴┘\e(B\e[m │ \e[11;1H\e(B\e[m ├────────────────────────────────────────┤ \e[12;1H\e(B\e[m │ \e[4m\e[37mSelect\e(B\e[m │ \e[13;1H\e(B\e[m │ Info │ \e[14;1H\e(B\e[m │ Settings │ \e[15;1H\e(B\e[m │ Quit │ \e[16;1H\e(B\e[m ╰────────────────────────────────────────╯ \e[17;1H\e(B\e[m \e[18;1H\e(B\e[m \e[19;1H\e(B\e[m \e[20;1H\e(B\e[m \e[21;1H\e(B\e[m \e[22;1H\e(B\e[m " - # - delay: 337 - # content: "\e[?1049l\e[23;0;0t\e[?12l\e[?25h\e(B\e[m\e[?12l\e[?25h" - # - delay: 6 - # content: "\e[1m\e[7m%\e[27m\e[1m\e[0m \r \r\e]2;..skell/hascard\a" - # - delay: 58 - # content: "\r\e[0m\e[27m\e[24m\e[J\e[01;32m➜ \e[36mhascard\e[00m \e[01;34mgit:(\e[31mmaster\e[34m) \e[33m✗\e[00m \e[K\e[?1h\e=\e[?2004h" - # - delay: 677 - # content: "\e[?2004l\r\r\n" + content: "\e[?25l\e[10;1H\e(B\e[m │\e[32m[*] \e(B\e[mOption 1 (this is a correct answer) │ \e[11;1H\e(B\e[m │\e[32m[ ] \e(B\e[mOption 2 │ \e[12;1H\e(B\e[m │\e[32m[*] \e(B\e[mOption 3 (this is a correct answer) │ \e[13;1H\e(B\e[m │\e[32m[ ] \e(B\e[mOption 4 │ " \ No newline at end of file diff --git a/recordings/multiple-choice.yml b/recordings/multiple-choice.yml index 8ba9943..2a8e29f 100644 --- a/recordings/multiple-choice.yml +++ b/recordings/multiple-choice.yml @@ -111,44 +111,6 @@ config: # Records, feel free to edit them records: - # - delay: 828 - # content: "\e[1m\e[7m%\e[27m\e[1m\e[0m \r \r\e]2;..skell/hascard\a" - # - delay: 35 - # content: "\r\e[0m\e[27m\e[24m\e[J\e[01;32m➜ \e[36mhascard\e[00m \e[01;34mgit:(\e[31mmaster\e[34m) \e[33m✗\e[00m \e[K\e[?1h\e=\e[?2004h" - # - delay: 581 - # content: "h\e[90mascard\e[39m\b\b\b\b\b\b" - # - delay: 107 - # content: "\bh\e[39ma" - # - delay: 64 - # content: "\e[39ms" - # - delay: 187 - # content: "\e[39mc" - # - delay: 110 - # content: "\e[39ma" - # - delay: 109 - # content: "\e[39mr" - # - delay: 82 - # content: "\e[39md" - # - delay: 141 - # content: "\e[?1l\e>\e[?2004l\r\r\n\e]2;hascard\a" - # - delay: 12 - # content: "\e[5 q\e[?1049h\e[22;0;0t\e[H\e[2J" - # - delay: 13 - # content: "\e[?25l\e[1;1H\e(B\e[m \e[2;1H\e(B\e[m \e[3;1H\e(B\e[m \e[4;1H\e(B\e[m \e[5;1H\e(B\e[m \e[6;1H\e(B\e[m \e[7;1H\e(B\e[m ╭────────────────────────────────────────╮ \e[8;1H\e(B\e[m │ \e[33m┬ ┬┌─┐┌─┐┌─┐┌─┐┬─┐┌┬┐\e(B\e[m │ \e[9;1H\e(B\e[m │ \e[33m├─┤├─┤└─┐│ ├─┤├┬┘ ││\e(B\e[m │ \e[10;1H\e(B\e[m │ \e[33m┴ ┴┴ ┴└─┘└─┘┴ ┴┴└──┴┘\e(B\e[m │ \e[11;1H\e(B\e[m ├────────────────────────────────────────┤ \e[12;1H\e(B\e[m │ \e[4m\e[37mSelect\e(B\e[m │ \e[13;1H\e(B\e[m │ Info │ \e[14;1H\e(B\e[m │ Settings │ \e[15;1H\e(B\e[m │ Quit │ \e[16;1H\e(B\e[m ╰────────────────────────────────────────╯ \e[17;1H\e(B\e[m \e[18;1H\e(B\e[m \e[19;1H\e(B\e[m \e[20;1H\e(B\e[m \e[21;1H\e(B\e[m \e[22;1H\e(B\e[m " - # - delay: 797 - # content: "\e[?1049l\e[23;0;0t\e[?12l\e[?25h\e(B\e[m\e[?12l\e[?25h\e[?1049h\e[22;0;0t\e[H\e[2J" - # - delay: 14 - # content: "\e[?25l\e[1;1H\e(B\e[m \e[2;1H\e(B\e[m \e[3;1H\e(B\e[m \e[4;1H\e(B\e[m \e[5;1H\e(B\e[m \e[6;1H\e(B\e[m \e[7;1H\e(B\e[m ╭───────────────────────────────────────────────╮ \e[8;1H\e(B\e[m │\e[33m Select a deck of flashcards \e(B\e[m│ \e[9;1H\e(B\e[m ├───────────────────────────────────────────────┤ \e[10;1H\e(B\e[m │ \e[4m\e[37mexample\e(B\e[m │ \e[11;1H\e(B\e[m │ test │ \e[12;1H\e(B\e[m │ analysis3 │ \e[13;1H\e(B\e[m │ syntax │ \e[14;1H\e(B\e[m │ \e[34mSelect file from system\e(B\e[m │ \e[15;1H\e(B\e[m │ │ \e[16;1H\e(B\e[m ╰───────────────────────────────────────────────╯ \e[17;1H\e(B\e[m \e[18;1H\e(B\e[m \e[19;1H\e(B\e[m \e[20;1H\e(B\e[m \e[21;1H\e(B\e[m \e[22;1H\e(B\e[m " - # - delay: 1242 - # content: "\e[?25l\e[10;1H\e(B\e[m │ example │ \e[11;1H\e(B\e[m │ \e[4m\e[37mtest\e(B\e[m │ " - # - delay: 162 - # content: "\e[?25l\e[11;1H\e(B\e[m │ test │ \e[12;1H\e(B\e[m │ \e[4m\e[37manalysis3\e(B\e[m │ " - # - delay: 157 - # content: "\e[?25l\e[12;1H\e(B\e[m │ analysis3 │ \e[13;1H\e(B\e[m │ \e[4m\e[37msyntax\e(B\e[m │ " - # - delay: 200 - # content: "\e[?1049l\e[23;0;0t\e[?12l\e[?25h\e(B\e[m\e[?12l\e[?25h\e[?1049h\e[22;0;0t\e[H\e[2J\e[?25l\e[1;1H\e(B\e[m \e[2;1H\e(B\e[m \e[3;1H\e(B\e[m \e[4;1H\e(B\e[m \e[5;1H\e(B\e[m \e[6;1H\e(B\e[m \e[7;1H\e(B\e[m \e[8;1H\e(B\e[m ╭───────────────────────────────────────────────╮ \e[9;1H\e(B\e[m │\e[33m Word or question \e(B\e[m│ \e[10;1H\e(B\e[m ├───────────────────────────────────────────────┤ \e[11;1H\e(B\e[m │ │ \e[12;1H\e(B\e[m │ │ \e[13;1H\e(B\e[m │ │ \e[14;1H\e(B\e[m │ 1/4 │ \e[15;1H\e(B\e[m ╰───────────────────────────────────────────────╯ \e[16;1H\e(B\e[m \e[17;1H\e(B\e[m \e[18;1H\e(B\e[m \e[19;1H\e(B\e[m \e[20;1H\e(B\e[m \e[21;1H\e(B\e[m \e[22;1H\e(B\e[m " - # - delay: 1706 - # content: "\e[?25l\e[11;1H\e(B\e[m │ Explanation or definition of this word, or │ \e[12;1H\e(B\e[m │ the answer to the question. │ \e[13;1H\e(B\e[m │ │ " - delay: 606 content: "\e[?25l\e[6;1H\e(B\e[m ╭───────────────────────────────────────────────╮ \e[7;1H\e(B\e[m │\e[33m Multiple choice question, (only one answer is \e(B\e[m│ \e[8;1H\e(B\e[m │\e[33m right) \e(B\e[m│ \e[9;1H\e(B\e[m ├───────────────────────────────────────────────┤ \e[10;1H\e(B\e[m │ \e[33m* \e(B\e[mChoice 1 │ \e[11;1H\e(B\e[m │ Choice 2 (this is the correct answer) │ \e[12;1H\e(B\e[m │ Choice 3 │ \e[13;1H\e(B\e[m │ Choice 4 │ \e[14;1H\e(B\e[m │ │ \e[15;1H\e(B\e[m │ 2/4 │ \e[16;1H\e(B\e[m ╰───────────────────────────────────────────────╯ " - delay: 996 @@ -160,22 +122,4 @@ records: - delay: 990 content: "\e[?25l\e[11;1H\e(B\e[m │ \e[33m* \e(B\e[mChoice 2 (this is the correct answer) │ \e[12;1H\e(B\e[m │ \e[31mChoice 3 \e(B\e[m │ " - delay: 944 - content: "\e[?25l\e[11;1H\e(B\e[m │ \e[33m* \e[32mChoice 2 (this is the correct answer) \e(B\e[m │ " - # - delay: 1308 - # content: "\e[?25l\e[6;1H\e(B\e[m \e[7;1H\e(B\e[m ╭───────────────────────────────────────────────╮ \e[8;1H\e(B\e[m │\e[33m Multiple answer question \e(B\e[m│ \e[10;1H\e(B\e[m │[\e[33m*\e(B\e[m] Choice 1 (this is a correct answer) │ \e[11;1H\e(B\e[m │[ ] Choice 2 │ \e[12;1H\e(B\e[m │[ ] Choice 3 (this is a correct answer) │ \e[13;1H\e(B\e[m │[ ] Choice 4 │ \e[14;1H\e(B\e[m │ │ \e[15;1H\e(B\e[m │ 3/4 │ " - # - delay: 1942 - # content: "\e[?1049l\e[23;0;0t\e[?12l\e[?25h\e(B\e[m\e[?12l\e[?25h\e[?1049h\e[22;0;0t\e[H\e[2J" - # - delay: 5 - # content: "\e[?25l\e[1;1H\e(B\e[m \e[2;1H\e(B\e[m \e[3;1H\e(B\e[m \e[4;1H\e(B\e[m \e[5;1H\e(B\e[m \e[6;1H\e(B\e[m \e[7;1H\e(B\e[m ╭───────────────────────────────────────────────╮ \e[8;1H\e(B\e[m │\e[33m Select a deck of flashcards \e(B\e[m│ \e[9;1H\e(B\e[m ├───────────────────────────────────────────────┤ \e[10;1H\e(B\e[m │ example │ \e[11;1H\e(B\e[m │ test │ \e[12;1H\e(B\e[m │ analysis3 │ \e[13;1H\e(B\e[m │ \e[4m\e[37msyntax\e(B\e[m │ \e[14;1H\e(B\e[m │ \e[34mSelect file from system\e(B\e[m │ \e[15;1H\e(B\e[m │ │ \e[16;1H\e(B\e[m ╰───────────────────────────────────────────────╯ \e[17;1H\e(B\e[m \e[18;1H\e(B\e[m \e[19;1H\e(B\e[m \e[20;1H\e(B\e[m \e[21;1H\e(B\e[m \e[22;1H\e(B\e[m " - # - delay: 320 - # content: "\e[?1049l\e[23;0;0t\e[?12l\e[?25h\e(B\e[m\e[?12l\e[?25h\e[?1049h\e[22;0;0t\e[H\e[2J" - # - delay: 11 - # content: "\e[?25l\e[1;1H\e(B\e[m \e[2;1H\e(B\e[m \e[3;1H\e(B\e[m \e[4;1H\e(B\e[m \e[5;1H\e(B\e[m \e[6;1H\e(B\e[m \e[7;1H\e(B\e[m ╭────────────────────────────────────────╮ \e[8;1H\e(B\e[m │ \e[33m┬ ┬┌─┐┌─┐┌─┐┌─┐┬─┐┌┬┐\e(B\e[m │ \e[9;1H\e(B\e[m │ \e[33m├─┤├─┤└─┐│ ├─┤├┬┘ ││\e(B\e[m │ \e[10;1H\e(B\e[m │ \e[33m┴ ┴┴ ┴└─┘└─┘┴ ┴┴└──┴┘\e(B\e[m │ \e[11;1H\e(B\e[m ├────────────────────────────────────────┤ \e[12;1H\e(B\e[m │ \e[4m\e[37mSelect\e(B\e[m │ \e[13;1H\e(B\e[m │ Info │ \e[14;1H\e(B\e[m │ Settings │ \e[15;1H\e(B\e[m │ Quit │ \e[16;1H\e(B\e[m ╰────────────────────────────────────────╯ \e[17;1H\e(B\e[m \e[18;1H\e(B\e[m \e[19;1H\e(B\e[m \e[20;1H\e(B\e[m \e[21;1H\e(B\e[m \e[22;1H\e(B\e[m " - # - delay: 512 - # content: "\e[?1049l\e[23;0;0t\e[?12l\e[?25h\e(B\e[m\e[?12l\e[?25h" - # - delay: 11 - # content: "\e[1m\e[7m%\e[27m\e[1m\e[0m \r \r\e]2;..skell/hascard\a" - # - delay: 59 - # content: "\r\e[0m\e[27m\e[24m\e[J\e[01;32m➜ \e[36mhascard\e[00m \e[01;34mgit:(\e[31mmaster\e[34m) \e[33m✗\e[00m \e[K\e[?1h\e=\e[?2004h" - # - delay: 317 - # content: "\e[?2004l\r\r\n" \ No newline at end of file + content: "\e[?25l\e[11;1H\e(B\e[m │ \e[33m* \e[32mChoice 2 (this is the correct answer) \e(B\e[m │ " \ No newline at end of file diff --git a/recordings/reordering.gif b/recordings/reordering.gif new file mode 100644 index 0000000000000000000000000000000000000000..8aac7e5e6f154461ee481ca0da0877258b936810 GIT binary patch literal 106816 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
tFdydel*E^qavb@7Ga+ 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 ZEqn#<*?vEtTg2Wfnbd-ikph9l{tuU=qcH#g literal 0 HcmV?d00001 diff --git a/recordings/reordering.yml b/recordings/reordering.yml new file mode 100644 index 0000000..381d972 --- /dev/null +++ b/recordings/reordering.yml @@ -0,0 +1,127 @@ +# The configurations that used for the recording, feel free to edit them +config: + + # Specify a command to be executed + # like `/bin/bash -l`, `ls`, or any other commands + # the default is bash for Linux + # or powershell.exe for Windows + command: zsh + + # Specify the current working directory path + # the default is the current working directory path + cwd: /media/steven/shared/Documents/Coding/Haskell/hascard + + # Export additional ENV variables + env: + recording: true + + # Explicitly set the number of columns + # or use `auto` to take the current + # number of columns of your shell + cols: 80 + + # Explicitly set the number of rows + # or use `auto` to take the current + # number of rows of your shell + rows: 22 + + # Amount of times to repeat GIF + # If value is -1, play once + # If value is 0, loop indefinitely + # If value is a positive number, loop n times + repeat: 0 + + # Quality + # 1 - 100 + quality: 100 + + # Delay between frames in ms + # If the value is `auto` use the actual recording delays + frameDelay: auto + + # Maximum delay between frames in ms + # Ignored if the `frameDelay` isn't set to `auto` + # Set to `auto` to prevent limiting the max idle time + maxIdleTime: 2000 + + # The surrounding frame box + # The `type` can be null, window, floating, or solid` + # To hide the title use the value null + # Don't forget to add a backgroundColor style with a null as type + frameBox: + type: solid + title: null + style: + border: 0px black solid + # boxShadow: none + # margin: 0px + + # Add a watermark image to the rendered gif + # You need to specify an absolute path for + # the image on your machine or a URL, and you can also + # add your own CSS styles + watermark: + imagePath: null + style: + position: absolute + right: 15px + bottom: 15px + width: 100px + opacity: 0.9 + + # Cursor style can be one of + # `block`, `underline`, or `bar` + cursorStyle: bar + + # Font family + # You can use any font that is installed on your machine + # in CSS-like syntax + fontFamily: "Iosevka" + + # The size of the font + fontSize: 24 + + # The height of lines + lineHeight: 0.92 + + # The spacing between letters + letterSpacing: 0 + + # Theme + theme: + background: "transparent" + foreground: "#afafaf" + cursor: "#c7c7c7" + black: "#232628" + red: "#fc4384" + green: "#b3e33b" + yellow: "#ffa727" + blue: "#75dff2" + magenta: "#ae89fe" + cyan: "#708387" + white: "#d5d5d0" + brightBlack: "#626566" + brightRed: "#ff7fac" + brightGreen: "#c8ed71" + brightYellow: "#ebdf86" + brightBlue: "#75dff2" + brightMagenta: "#ae89fe" + brightCyan: "#b1c6ca" + brightWhite: "#f9f9f4" + +# Records, feel free to edit them +records: + - delay: 1500 + content: "\e[?25l\e[7;1H\e(B\e[m ╭───────────────────────────────────────────────╮ \e[8;1H\e(B\e[m │\e[33m Order the letters in alphabetical order \e(B\e[m│ \e[9;1H\e(B\e[m ├───────────────────────────────────────────────┤ \e[10;1H\e(B\e[m │ 1. \e[33mu \e(B\e[m │ \e[11;1H\e(B\e[m │ 2. l │ \e[12;1H\e(B\e[m │ 3. p │ \e[13;1H\e(B\e[m │ 4. s │ \e[14;1H\e(B\e[m │ │ \e[15;1H\e(B\e[m │ 5/5 │ \e[16;1H\e(B\e[m ╰───────────────────────────────────────────────╯ " + - delay: 703 + content: "\e[?25l\e[10;1H\e(B\e[m │ 1. \e[34mu \e(B\e[m │ " + - delay: 352 + content: "\e[?25l\e[10;1H\e(B\e[m │ 1. l │ \e[11;1H\e(B\e[m │ 2. \e[34mu \e(B\e[m │ " + - delay: 231 + content: "\e[?25l\e[11;1H\e(B\e[m │ 2. p │ \e[12;1H\e(B\e[m │ 3. \e[34mu \e(B\e[m │ " + - delay: 244 + content: "\e[?25l\e[12;1H\e(B\e[m │ 3. s │ \e[13;1H\e(B\e[m │ 4. \e[34mu \e(B\e[m │ " + - delay: 289 + content: "\e[?25l\e[13;1H\e(B\e[m │ 4. \e[33mu \e(B\e[m │ " + - delay: 563 + content: "\e[?25l\e[10;1H\e(B\e[m │ \e[32m1. \e(B\e[ml │ \e[11;1H\e(B\e[m │ \e[32m2. \e(B\e[mp │ \e[12;1H\e(B\e[m │ \e[32m3. \e(B\e[ms │ \e[13;1H\e(B\e[m │ \e[32m4. \e[33mu \e(B\e[m │ " \ No newline at end of file diff --git a/src/Parser.hs b/src/Parser.hs index 478e660..fc05167 100644 --- a/src/Parser.hs +++ b/src/Parser.hs @@ -56,7 +56,11 @@ pReorder = do header <- pHeader many eol elements <- pReorderElement `sepBy1` lookAhead (try pReorderPrefix) - return (header, NE.fromList elements) + let numbers = map fst elements + if all (`elem` numbers) [1..length numbers] + then return (header, NE.fromList elements) + else error $ "A reordering question should have numbers starting from 1 and increase from there without skipping any numbers, but this is not the case:\n" + <> unlines (map show numbers) pReorderElement = do int <- pReorderPrefix