Skip to content

Fast `scoop search`, (WIP) full scoop replacement and tab completion

License

Notifications You must be signed in to change notification settings

Bios-Marcel/spoon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spoon

A wrapper around scoop, aiming to be a full drop-in replacement, but still relying on the existing community work in form of buckets.

Highlighted Features

  • More thorough scoop search
  • Better performance (Varies from command to command)
  • Additional features
    • Tab completion for commands, flags and packages
    • Common command aliases

      For example no need to gues whether it's uninstall, rm or remove.

    • New commands
      • spoon shell, it's kinda like nix-shell
      • spoon versions to list all available manifests for an app (non autogenerated ones).

For a more detailed list of changes in comparison to scoop, check the table below.

Breaking Changes

  • The --global flag hasn't beren implemented anywhere and I am not planning to do so as of now. If there's demand in the future, I will consider.

Manual Installation

  1. Add required buckets
scoop bucket add extras
scoop bucket add biosmarcel "https://github.com/Bios-Marcel/scoopbucket.git"
  1. Install spoon
scoop install spoon

If you want to test out the latest "in progress" stuff, try the spoon_pre package instead. It contains potentially unstable or half-finished features. Worst case it will install a package in an unfunctinal state, but won't cause any harm to your OS or other packages.

Updates

Note that self-updating is NOT YET possible. To update, please use scoop update spoon for now.

CLI Progress

Progress overview for scoop command implementations. This does NOT include spoon native commands. It shows the current implementation status in terms of scoop compatibility and highlights the differences.

There are basically three levels of implementations (and the states inbetween):

  • Native

    Fully reimplemented in spoon, no usage of scoop code

  • Partially Native

    Some functionallity is spoon native, but scoop code is still used

  • Wrapper

    Only provides autocompletion and documentation, but scoop code does 100% of the execution work.

Command Implementation Type Changes
help Native
search Native * Performance improvements
* JSON output
* Search configuration
install Wrapper
uninstall Wrapper * Terminate running processes
update Partially Native * Now invokes status after updating buckets
bucket Partially Native * bucket rm now supports multiple buckets to delete at once
cat Native * Alias manifest
* Allow getting specific manifest versions
status Native * --local has been deleted (It's always local now)
* Shows outdated / installed things scoop didn't (due to bugs)
info Wrapper
depends Native (WIP) * Adds --reverse/-r flag
* Prints an ASCII tree by default
list
hold
unhold
reset
cleanup
create
shim
which
config
download
cache
prefix
home
export
import
checkup
virustotal
alias

Search

The search here does nothing fancy, it simply does an offline search of buckets, just like what scoop does, but faster. Online search is not supported as I deem it unnecessary. If you want to search the latest, simply run scoop update; spoon search <app>.

The search command allows plain output and JSON output. This allows use with tools such as jq or direct use in powershell via Powershells builtin ConvertFrom-Json.