Skip to content
Snippets Groups Projects
  • Derek Stavis's avatar
    init: rewrite init process · 7e08d4ac
    Derek Stavis authored
    Now use pure globbing to generate 100% valid function and
    completion paths, effectively splitting the init process in two
    steps, one which paths are added, and other when initialization
    is done (sourcing init).
    
    Package initialization code is done in a new function called
    `initialize`, which takes care of the dependencies, ensuring
    proper `init.fish` call order and handling compatibility.
    
    This initialization code introduces a new interface for
    `init.fish` hook, which deprecates the previously used event
    model. The new interface injects three variables into `init.fish`:
    path, package and bundle. This variables can be used by the
    package to autoload paths, use bundled files, etc.
    
    Also supports key bindings by sourcing
    $OMF_CONFIG/key_bindings.fish and also key_bindings.fish in
    packages (plugins and themes) root directories. This is done
    when fish_user_key_bindings is called.
    7e08d4ac