oh-my-fish/docs/nl-NL/Packages.md

131 lines
5.8 KiB
Markdown
Raw Normal View History

2020-08-23 19:57:53 +08:00
<img src="https://cdn.rawgit.com/oh-my-fish/oh-my-fish/e4f1c2e0219a17e2c748b824004c8d0b38055c16/docs/logo.svg" align="left" width="128px" height="128px"/>
<img align="left" width="0" height="128px"/>
2020-08-29 19:54:21 +08:00
# Pakketten
2020-08-23 19:57:53 +08:00
2020-08-29 19:54:21 +08:00
> Oh My Fish-documentatie&nbsp;&bull;&nbsp;Ook beschikbaar in het
> <a href="../en-US/Packages.md">🇺🇸</a>
> <a href="../es-ES/Packages.md">🇪🇸</a>
> <a href="../pt-BR/Packages.md">🇧🇷</a>
2020-08-23 19:57:53 +08:00
> <a href="../ru-RU/Packages.md">🇷🇺</a>
> <a href="../uk-UA/Packages.md">🇺🇦</a>
> <a href="../zh-CN/Packages.md">🇨🇳</a>
2020-08-23 19:57:53 +08:00
<br>
2020-08-29 19:54:21 +08:00
# Maken
2020-08-23 19:57:53 +08:00
2020-08-29 19:54:21 +08:00
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.
2020-08-23 19:57:53 +08:00
2020-08-29 19:54:21 +08:00
Oh My Fish kan een pakketstructuur voor u samenstellen. Gebruik hiervoor `omf new`:
2020-08-23 19:57:53 +08:00
```fish
$ omf new plugin hello_world
```
2020-08-29 19:54:21 +08:00
> Voer `omf new theme my_theme_name` uit om thema's te maken.
2020-08-23 19:57:53 +08:00
2020-08-29 19:54:21 +08:00
Er wordt overgeschakeld van de huidige map naar die van het pakket:
2020-08-23 19:57:53 +08:00
```
$ ls -l
README.md
init.fish
functions/hello_world.fish
completions/hello_world.fish
```
2020-08-29 19:54:21 +08:00
>Omschrijf altijd in `README.md` hoe uw pakket werkt.
2020-08-23 19:57:53 +08:00
2020-08-29 19:54:21 +08:00
>Lees meer over [automatisch aanvullen](http://fishshell.com/docs/current/commands.html#complete) en gebruik het zorgvuldig.
2020-08-23 19:57:53 +08:00
2020-08-29 19:54:21 +08:00
`functions/hello_world.fish` omvat een enkele functie:
2020-08-23 19:57:53 +08:00
```fish
2020-08-29 19:54:21 +08:00
function hello_world -d "Toont hallo wereld"
echo "Hallo wereld!"
2020-08-23 19:57:53 +08:00
end
```
2020-08-29 19:54:21 +08:00
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.
2020-08-23 19:57:53 +08:00
2020-08-29 19:54:21 +08:00
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`).
2020-08-23 19:57:53 +08:00
# Hooks
2020-08-29 19:54:21 +08:00
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.
2020-08-23 19:57:53 +08:00
2020-08-29 19:54:21 +08:00
>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.
2020-08-23 19:57:53 +08:00
2020-08-29 19:54:21 +08:00
De werkmap in een hook is altijd ingesteld op de hoofdmap van het pakket. De momenteel door Oh My Fish ondersteunde hooks staan hieronder:
2020-08-23 19:57:53 +08:00
## `init`
2020-08-29 19:54:21 +08:00
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.
2020-08-23 19:57:53 +08:00
2020-08-29 19:54:21 +08:00
Binnen deze hook heeft u toegang tot drie gerelateerde variabelen:
2020-08-23 19:57:53 +08:00
2020-08-29 19:54:21 +08:00
* `$package`: pakketnaam
* `$path`: pakketinstallatiepad
* `$dependencies`: pakketafhankelijkheden
2020-08-23 19:57:53 +08:00
2020-08-29 19:54:21 +08:00
Voorbeeld: met een `init.fish`-script die de code
2020-08-23 19:57:53 +08:00
```fish
echo "hello_world initialized"
```
2020-08-29 19:54:21 +08:00
bevat, ziet u de regel `hello_world is geïnitialiseerd` bovenaan het terminalvenster als de shell net is gestart.
2020-08-23 19:57:53 +08:00
2020-08-29 19:54:21 +08:00
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.
2020-08-23 19:57:53 +08:00
## `key_bindings`
2020-08-29 19:54:21 +08:00
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`][fish-bind]-opdracht vrij gebruiken om aangepaste sneltoetsen in te stellen.
2020-08-23 19:57:53 +08:00
2020-08-29 19:54:21 +08:00
>Thema's kunnen ook sneltoetsen bevatten! Oh My Fish herlaadt de sneltoetsen als u overschakelt naar een ander thema.
2020-08-23 19:57:53 +08:00
## `install`
2020-08-29 19:54:21 +08:00
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`.
2020-08-23 19:57:53 +08:00
2020-08-29 19:54:21 +08:00
Binnen deze hook heeft u toegang tot twee gerelateerde variabelen:
2020-08-23 19:57:53 +08:00
2020-08-29 19:54:21 +08:00
* `$package`: pakketnaam
* `$path`: pakketinstallatiepad
2020-08-23 19:57:53 +08:00
2020-08-29 19:54:21 +08:00
Deze hook is handig voor het downloaden van aanvullende bronnen, instellen van Git-submodules of het installeren van externe afhankelijkheden, zoals Bash-scripts.
2020-08-23 19:57:53 +08:00
## `update`
2020-08-29 19:54:21 +08:00
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`.
2020-08-23 19:57:53 +08:00
2020-08-29 19:54:21 +08:00
Binnen deze hook heeft u toegang tot twee gerelateerde variabelen:
2020-08-23 19:57:53 +08:00
2020-08-29 19:54:21 +08:00
* `$package`: pakketnaam
* `$path`: pakketinstallatiepad
2020-08-23 19:57:53 +08:00
2020-08-29 19:54:21 +08:00
Deze hook is handig voor het bijwerken van Git-submodules of controleren op nieuwe versies van externe afhankelijkheden.
2020-08-23 19:57:53 +08:00
## `uninstall`
2020-08-29 19:54:21 +08:00
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`.
2020-08-23 19:57:53 +08:00
2020-08-29 19:54:21 +08:00
Binnen deze hook heeft u toegang tot twee gerelateerde variabelen:
2020-08-23 19:57:53 +08:00
2020-08-29 19:54:21 +08:00
* `$package`: pakketnaam
* `$path`: pakketinstallatiepad
2020-08-23 19:57:53 +08:00
2020-08-29 19:54:21 +08:00
Pakketten kunnen deze hook gebruiken om aangepaste bronnen te wissen of anderzijds op te schonen.
2020-08-23 19:57:53 +08:00
2020-08-29 19:54:21 +08:00
> Let op: omwille van achterwaartse compatibiliteit worden uninstall-hooks ook aangeroepen door `uninstall.fish` in de hoofdmap van het pakket.
2020-08-23 19:57:53 +08:00
2020-08-29 19:54:21 +08:00
# Delen
2020-08-23 19:57:53 +08:00
2020-08-29 19:54:21 +08:00
Het officiële register met openbare pakketten wordt beheerd in de [oh-my-fish/packages-main](https://github.com/oh-my-fish/packages-main)-pakketbron. Neem de README van die pakketbron door om te zien hoe u uw pakket kunt toevoegen.
2020-08-23 19:57:53 +08:00
[fish-bind]: http://fishshell.com/docs/current/commands.html#bind
[omf-pulls-link]: https://github.com/oh-my-fish/oh-my-fish/pulls