You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
oh-my-fish/docs/nl-NL/Packages.md

5.8 KiB

Pakketten

Oh My Fish-documentatie • Ook beschikbaar in het 🇺🇸 🇪🇸 🇧🇷 🇷🇺 🇺🇦 🇨🇳


Maken

Om pakketten te leren maken, gaat u een nieuw pakket volgens een sjabloon maken. Dit pakket bevat een hello_world-opdracht voor uw shell. Pakketnamen mogen alleen kleine letters en streepjes bevatten.

Oh My Fish kan een pakketstructuur voor u samenstellen. Gebruik hiervoor omf new:

$ omf new plugin hello_world

Voer omf new theme my_theme_name uit om thema's te maken.

Er wordt overgeschakeld van de huidige map naar die van het pakket:

$ ls -l
  README.md
  init.fish
  functions/hello_world.fish
  completions/hello_world.fish

Omschrijf altijd in README.md hoe uw pakket werkt.

Lees meer over automatisch aanvullen en gebruik het zorgvuldig.

functions/hello_world.fish omvat een enkele functie:

function hello_world -d "Toont hallo wereld"
  echo "Hallo wereld!"
end

Elke functie in uw pakket dient te worden verklaard in een bestand in elke functions-map. Fish vereist dit voor het automatisch laden, welke functies op afroep laadt, zodat ongebruikte functies niet worden geladen.

Let op: Fish bevat geen private scope, dus als u uw pakket moet splitsen in functies, voorkom dan dubbele namen door een aanduiding te gebruiken, zoals uw pakketnaam (bijv. hello_world_print_help). Om de opdrachtnamespace niet te bezaaien met onnodige functies, kunt u privéfuncties aanduiden met twee onderliggende streepjes (bijv. __function_name_print_help).

Hooks

Oh My Fish bevat een 'hooks'-systeem waarmee u scripts kunt maken voor uw pakket die worden uitgevoerd als andere gebeurtenissen plaatsvinden. Pakketten kunnen deze hooks gebruiken om geavanceerde installatie te bieden, aangepaste bronnen, etc. Hooks zijn eigenlijk Fish-scripts die genoemd zijn naar de gebeurtenis die ze aanroepen. De meeste hooks staan in een hooks-map in de projectmap van het pakket.

Hooks die worden aangeroepen tijdens het opstarten (init.fish en key_bindings.fish) kunnen het starten van de shell vertragen. Voorkom dus langzame code tijdens het starten! Als uw pakket geen hook nodig heeft, verwijder dan het bestand.

De werkmap in een hook is altijd ingesteld op de hoofdmap van het pakket. De momenteel door Oh My Fish ondersteunde hooks staan hieronder:

init

De init-hook wordt uitgevoerd tijdens het starten van de shell. Scripts die deze hook aanroepen dienen te worden geplaatst in init.fish in de hoofdmap van het pakket.

Binnen deze hook heeft u toegang tot drie gerelateerde variabelen:

  • $package: pakketnaam
  • $path: pakketinstallatiepad
  • $dependencies: pakketafhankelijkheden

Voorbeeld: met een init.fish-script die de code

echo "hello_world initialized"

bevat, ziet u de regel hello_world is geïnitialiseerd bovenaan het terminalvenster als de shell net is gestart.

Gebruik deze hook om de omgeving aan te passen, bronnen te laden, functies automatisch te laden, etc. Als uw pakket geen functie aanroept, kunt u hiermee functionaliteit toevoegen aan uw pakket of dynamische functies samenstellen.

key_bindings

Als uw pakket of thema sneltoetsen gebruikt, stel deze dan in in de key_bindings-hook. Sneltoetsscripts dienen geplaatst te worden in key_bindings.fish in de hoofdmap van het pakket. Binnen deze hook kunt u de bind-opdracht vrij gebruiken om aangepaste sneltoetsen in te stellen.

Thema's kunnen ook sneltoetsen bevatten! Oh My Fish herlaadt de sneltoetsen als u overschakelt naar een ander thema.

install

De install-hook wordt aangeroepen als een pakket voor het eerst wordt geïnstalleerd. Scripts die deze hook gebruiken dienen te worden geplaatst in hooks/install.fish.

Binnen deze hook heeft u toegang tot twee gerelateerde variabelen:

  • $package: pakketnaam
  • $path: pakketinstallatiepad

Deze hook is handig voor het downloaden van aanvullende bronnen, instellen van Git-submodules of het installeren van externe afhankelijkheden, zoals Bash-scripts.

update

Zoals de naam doet vermoeden wordt de update-hook aangeroepen nadat een pakket is bijgewerkt. Scripts die deze hook gebruiken dienen te worden geplaatst in hooks/update.fish.

Binnen deze hook heeft u toegang tot twee gerelateerde variabelen:

  • $package: pakketnaam
  • $path: pakketinstallatiepad

Deze hook is handig voor het bijwerken van Git-submodules of controleren op nieuwe versies van externe afhankelijkheden.

uninstall

De uninstall-hook wordt aangeroepen vlak voordat een pakket wordt verwijderd middels omf remove <pkg>. Scripts die deze hook gebruiken dienen te worden geplaatst in hooks/uninstall.fish.

Binnen deze hook heeft u toegang tot twee gerelateerde variabelen:

  • $package: pakketnaam
  • $path: pakketinstallatiepad

Pakketten kunnen deze hook gebruiken om aangepaste bronnen te wissen of anderzijds op te schonen.

Let op: omwille van achterwaartse compatibiliteit worden uninstall-hooks ook aangeroepen door uninstall.fish in de hoofdmap van het pakket.

Delen

Het officiële register met openbare pakketten wordt beheerd in de oh-my-fish/packages-main-pakketbron. Neem de README van die pakketbron door om te zien hoe u uw pakket kunt toevoegen.