Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

pretty-error

Ladne, kolorowe wyswietlanie bledow HackerScript, w stylu rustc/Elm - dla ekosystemu bibliotek https://vira.io.

get <vira:pretty-error> import <pretty_error::pe_with_hint::print_pretty_error>

fun main() [
    match wczytaj_config("config.hk") [
        Ok(cfg) -> [
            log("config wczytany")
        ]
        Err(e) -> [
            let err = pretty_error("nie mozna wczytac configu", e)
            let err2 = pe_with_hint(err, "sprawdz czy plik config.hk istnieje i ma poprawna skladnie")
            print_pretty_error(err2)
            exit(1)
        ]
    ]
]

daje na wyjsciu (kolory pominiete w tym przykladzie):

blad: nie mozna wczytac configu
  nie znaleziono pliku config.hk
  pomoc: sprawdz czy plik config.hk istnieje i ma poprawna skladnie

Instalacja

virus install vira pretty-error

API

pretty_error(tytul, wiadomosc)

Nowy PrettyError o severity = "error".

pretty_warning(tytul, wiadomosc)

Jak wyzej, severity = "warning".

pretty_note(tytul, wiadomosc)

Jak wyzej, severity = "note".

pe_with_location(e, plik, linia, kolumna)

Dokleja -→ plik:linia:kolumna.

pe_with_source(e, linia_zrodla, dlugosc_zakresu)

Dokleja podkreslony fragment zrodla (styl rustc).

pe_with_hint(e, podpowiedz)

Dokleja linie pomoc: …​.

render_pretty_error(e)

Zwraca gotowy, kolorowy Str (bez wypisywania).

print_pretty_error(e)

Renderuje i wypisuje (elog dla error/warning, log dla note).

report_error(tytul, wiadomosc)

Skrot: buduje + wypisuje error, zwraca 1 (do exit(report_error(…​))).

report_warning(tytul, wiadomosc)

Jak wyzej, warning, bez zwracanej wartosci.

render_many_pretty(lista)

Renderuje wiele bledow naraz + linie podsumowania.

Kazdy pe_with_* zwraca NOWA wartosc (nie mutuje w miejscu) - lancuchuj je: pe_with_hint(pe_with_location(e, "a.hk", 3, 1), "…​").

Kolory wylaczaja sie automatycznie gdy ustawiona jest zmienna srodowiskowa NO_COLOR (https://no-color.org) - dziedziczone z std:term.

Licencja

MIT

About

A library for Hacker Script to show errors nicely.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors