Skip to content

HackerOS-Linux-System/Hacker-Lang

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hacker Lang

Opis

Hacker Lang to lekki i wygodny język skryptowy stworzony dla HackerOS, zaprojektowany jako bezpośrednia alternatywa dla tradycyjnych skryptów .sh — zamiast skryptów shellowych używasz binarek skompilowanych z kodu .hacker.

Hacker Lang korzysta z systemu pakietów i bibliotek hostowanych w repozytorium bytes.io.

Dlaczego Hacker Lang?

  • Zastępuje złożone skrypty .sh prostymi, czytelnymi plikami .hacker.

  • Umożliwia kompilację do binarek, co przyśpiesza uruchamianie oraz ułatwia dystrybucję.

  • Integruje się z repozytorium bibliotek bytes.io — instalacja i aktualizacja bibliotek odbywa się przez hackerc.

  • Zaprojektowany do użytku wewnętrznego w ekosystemie HackerOS, ale nadaje się też do zastosowań zewnętrznych.

Szybkie rozpoczęcie

Wymagania

  • Dystrybucja HackerOS.

  • hackerc — narzedzie cli do uruchamaia i kompilacji samych plików .hacker (służy do drobnych skryptów, programów, projektów).

  • hli — skrót od hacker lang interface narzędzie ma większe zastosowanie niz hackerc wymaga pliku bytes.yaml (służy do dużych projektów, programów, skryptów).

  • bytes — narzędzie do instalacji bibliotek, pluginów dla hacker lang.

  • hlh — skrót od hacker lang help - narzedzie pokazuje szczegółowe informacje o narzędziach hackerc, bytes, hli.

Komendy hackerc, hli, hlh i bytes

Poniżej lista podstawowych komend dostępnych w narzędziu hackerc:

  • hackerc run {plik.hacker} Uruchamia plik .hacker bez kompilacji.

  • hackerc compile {plik.hacker} Kompiluje plik .hacker do binarki.

  • hackerc check {plik.hacker} Szuka błedów w .hacker.

  • hackerc repl Uruchamia interaktywny REPL Hacker Lang.

  • hackerc version Wyświetla wersję hackerc.

  • hli run Uruchamia bytes.yaml.

  • hli compile Kompiluje kod na podstawie bytes.yaml.

  • hli check Sprawdza poprawność kodu na podstawie bytes.yaml.

  • hli init Tworzy przykładowy projekt z bytes.yaml, .hacker w bieżącym katalogu.

  • hli clean Czyści cache oraz pliki tymczasowe.

  • hli version Wyświetla wersję hli.

  • hlh Wyświetla informacje o wszystkich narzędziach cli od hacker lang.

  • bytes install Instaluje wybrana biblioteke.

  • bytes remove Usuwa wybrana biblioteke wybrana biblioteke.

  • bytes search Szuka wybranej biblioteki.

  • hlh Informacje o narzędziach hli, hackerc, bytes.

Składnia i przykład prostego skryptu .hacker

Poniżej przykład prostego pliku .hacker.

// sudo
// apt
> sudo apt update

Składnia Hacker Lang

Prefiks Znaczenie Przykład

!

Komentarz (cała linia jest ignorowana)

! To jest komentarz

//

Zależność systemowa (pakiet z apt)

// curlsudo apt install curl

#

Biblioteka (lib) – biblioteka z repozytorium bytes.io (zainstaluj ją za pomocą bytes install)

# obsidian

@

Zmienna środowiskowa

@USER=admin

>

Komenda do wykonania

> echo "Hello"

>>

Komenda do wykonania + funkcje

>> echo "Hello"

>>>

Każda komenda jest wykonywana osobno

>>> echo "Hello"

=

Pętla (liczba > komenda)

=3 > echo "Hi" → 3 razy

?

Warunek (warunek > komenda)

? [ -f file ] > echo OK

&

Uruchom w tle

& sleep 10

[

Początek sekcji konfiguracyjnej

[

]

Koniec sekcji konfiguracyjnej

]

\\

Plugin (pluginy przechowywane w ~/.hackeros/hacker-lang/plugins/, mogą być binarkami)

\\ moj-plugin

$

Zmienna lokalna

$TEMP=tmp_value

:

Funkcja/blok (początek definicji funkcji :nazwa, koniec : , wywołanie .nazwa)

:moja_funkcja …​ :

!!

Komentarz blokowy (otwarcie i zamknięcie)

!! …​ !!

^

Tryb superuser (dodaj sudo do komendy)

^ > rm filesudo rm file

Integracja z bytes.io

Hacker Lang używa repozytorium bibliotek bytes.io. Użyj bytes install <nazwa> aby pobrać paczkę; bytes update aby ją zaktualizować. Jeżeli nie masz zainstalowanego narzędzia cli bytes użyj komendy hackerc unpack bytes.

FAQ (krótkie)

  • Jak debugować? Użyj hackerc check oraz hackerc run z dodatkowymi flagami debug (jeśli dostępne). Logi hackerc znajdują się w domyślnym katalogu cache.

  • Czy .hacker może wywoływać polecenia systemowe? Tak — użyj > aby wykonać komendę shellową.

  • Gdzie znaleźć dokumentację? Pełna dokumentacja i wiki: Wiki na GitHubie.

  • Gdzie znajde repozytorium bytes.io ? Repozytorium bytes.io

  • Zgłoś błąd Issues na GitHubie

Licencja

Projekt jest dostępny na licencji MIT. Zobacz plik LICENSE w repozytorium.

Kontakt

Masz pomysł albo błąd? Otwórz issue na GitHubie w repozytorium projektu. Kontakt na email: [email protected]