Closed teodorlu closed 9 months ago
Jeg fikk aldri tid til å fikse en tilbakemelding dersom brukeren har konfigurert en editor som ikke finnes (eks. konfigurere code
uten å ha installert CLIet for det).
Her blir det fortsatt ganske omfattende feilmeldinger:
----- Error --------------------------------------------------------------------
Type: java.io.IOException
Message: Cannot run program "cude" (in directory "/Users/olavhm/dev/iterate/mikrobloggeriet"): error=2, No such file or directory
Location: /Users/olavhm/dev/iterate/mikrobloggeriet/src/mikrobloggeriet/cli.clj:205:14
----- Context ------------------------------------------------------------------
201: (case cmd
202: :create-dirs (apply fs/create-dirs args)
203: :println (apply println args)
204: :prn (apply prn args)
205: :shell (apply shell args)
^--- Cannot run program "cude" (in directory "/Users/olavhm/dev/iterate/mikrobloggeriet"): error=2, No such file or directory
206: :spit (apply spit args))))
207:
208: (comment
209: (def sample-opts
210: {:dir "."
----- Stack trace --------------------------------------------------------------
babashka.process/process* - <built-in>
babashka.process/shell - <built-in>
clojure.core/apply - <built-in>
babashka.impl.process/shell - <built-in>
clojure.core/apply - <built-in>
... (run with --debug to see elided elements)
mikrobloggeriet.cli/execute! - /Users/olavhm/dev/iterate/mikrobloggeriet/src/mikrobloggeriet/cli.clj:197:1
mikrobloggeriet.cli - /Users/olavhm/dev/iterate/mikrobloggeriet/src/mikrobloggeriet/cli.clj:279:5
mikrobloggeriet.cli - /Users/olavhm/dev/iterate/mikrobloggeriet/src/mikrobloggeriet/cli.clj:313:3
clojure.core/apply - <built-in>
user - <expr>:1:44
Kan se på validering av editor i en egen issue. Det holder vel med noe ala where EDITOR
?
Jaaa, godt poeng. Tror vi kan bruke babashka.fs/which
. Nice catch!
Nå håndterer vi "brukeren har konfigurert en editor som ikke funker" sånn:
$ mblog config editor loleditor
$ mblog create --no-git
Error: editor not found.
loleditor
was not found on your system.
To learn how to configure your editor, run `mblog config -h`.
$ mblog config editor nvim
$ mblog create --no-git
$ # skriver og greier
$ # alt gikk fint!
La til litt mer hjelpetekst for å forklare brukeren hva en gyldig editor er:
$ mblog create --dry-run
Error: editor not found.
loleditor
was not found on your system. You must be able to use your configured editor to
edit files from a terminal. For example:
$ loleditor yourfile.txt
If that command crashes, loleditor can't be used as an editor.
To learn how to configure your editor, run `mblog config -h`.
💯
Da ruller jeg ut i prod. Tenker at vi er klare for å ta imot JALS og OLORM over på mblog
nå!
I stedet for å kaste en feil når det mangler config, prøver vi å fortelle brukeren hva som har gått galt, og hvordan brukeren kan fikse problemet.