Skip to content

Latest commit

 

History

History
99 lines (85 loc) · 3.49 KB

TODO.md

File metadata and controls

99 lines (85 loc) · 3.49 KB

TODO:

basics

  • initialization from file <- std::fs
  • basic matching every term <- vector of either Cards or Verbs
  • spaced repetition <- iterating over vector, pushing back not guessed ones, they get questioned later, shuffled
  • end-user dealing with typos <- :typo
  • hints <- :hint
  • colored output <- colored from crates.io

further development

  • make exit work just like that <- done using exit()
  • print number of cards to learn <- kinda implemented using v.len()
  • add keyword skip <- done: continue;
  • rustyline for editable input <- done, followed docs
  • clap <- done, usage seen from tplay, flcard
  • output the right amount of '_'-s even for special (more byte) characers <- done: s.chars().count()
  • have organized, formatted output <- done: using nice charecters, colors
  • save progress <- done using dirs crate, fs::read,write
  • flashcards
  • levelled knowledge

maybe needed

  • delete unnecessary verbs module and therefore every freakin' 2. line
  • find duplicates and deal with 'em somehow
  • if hint typed more than once, show more help: verbs
  • starring words that need learning, high level
  • filtering what to learn, like unusual verbforms
  • other question types like i dunno

nice-to-haves

  • tui

  • autocompletion of commands: :<command>

  • taking cli arguments: clap

    • file name
    • delimiter
    • mode
    • swapping term and definition fully or partially
    • help
    • shuffling
    • verbosity: clap-verbosity-flag
    • other great stuff
  • fetching definitions from

  • write docs, man

  • being able to determine every property itself <- kinda?

  • everything actually useful knowt or quizlet has

  • being able to learn verbs with their forms from tables

  • fuzzy matching words

  • tests: like in school

  • very nice statistics, plots

development

  • clean main.rs

  • don't write almost the same functions twice, use generics and all <- init(), quest() now uses traits, generics

  • basic tests: being cross-platform, lib tests

  • tests: e.g.: assert_cmd

  • non-spagethi code with

    • mods
    • enums
    • generics
    • traits
    • Results
    • all kinds of crazy stuff
  • github repo, or some github alternative

  • crates

  • website: crablit.com or crablit.io or crab.lit or crablit.rs

  • being able to share decks

  • being able to create decks in app

  • clean API

  • template files for creating great flashcards with

    • delimiter
    • mode
    • title
    • author
    • languages
    • other great stuff
  • community

  • gui interface: dioxus?

    • webapp for learning
    • desktop apps
    • mobile