miguelvieiraramos / cmdrepo

0 stars 0 forks source link

create insert command #1

Open miguelvieiraramos opened 6 months ago

miguelvieiraramos commented 6 months ago

O Command Repository será uma ferramenta CLI que permitirá a persistência, busca e fácil cópia de comandos.

O primeiro comando a ser desenvolvido é o insert. Vamos persistir, usando o SQLite, as seguintes colunas:

  1. id (int sequencial automático)
  2. name (texto obrigatório e não deve permitir espaços)
  3. description (texto opcional)
  4. command (texto obrigatório)

A usabilidade do comando deve ser semelhante a:

cmdrepo insert --name="git-undo-last-commit" --description="Git command that undo last commit" --command="git reset HEAD~"

cmdrepo insert --name "git-undo-last-commit" --description "Git command that undo last commit" --command "git reset HEAD~"

cmdrepo insert -n "git-undo-last-commit" -d "Git command that undo last commit" -c "git reset HEAD~"

Quando o usuário digitar cmdrepo o comando que deve aparecer é o help:

cmdrepo - Command Repository

USAGE
  $ cmdrepo [COMMAND]

COMMANDS
  insert       insert a command

Run 'cmdrepo COMMAND --help' for more information on a command.

Quando o usuário digitar cmdrepo insert ou cmdrepo insert --help deve aparecer o seguinte:

insert a command

USAGE
  $ cmdrepo insert -n <value> -c <value>

FLAGS
  -n, --name=<value>                  (required) the name of the command
  -d, --description=<value>           (optional) the description of the command
  -c, --command=<value>               (required) the command itself
miguelvieiraramos commented 6 months ago

Investi um tempo para entender como parsear os argumentos e como a opção do help é feita. A minha conclusão é que por enquanto não vou me preocupar com a opção de help. Vou utilizar a padrão do ArgumentParser do python. Portanto, a ideia é ter uma versão funcional do programa e depois eu invisto tempo em customizar a opção help.