Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
O
oh-my-fish
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nanahira
oh-my-fish
Commits
00729347
Commit
00729347
authored
Aug 12, 2015
by
Marius Melzer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
change cli and create omf.remote from get_all_repos
parent
6d9bb3c2
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
71 additions
and
48 deletions
+71
-48
plugins/omf/omf.fish
plugins/omf/omf.fish
+9
-9
plugins/omf/omf.helper.fish
plugins/omf/omf.helper.fish
+1
-4
plugins/omf/omf.packages.fish
plugins/omf/omf.packages.fish
+22
-35
plugins/omf/omf.remote.fish
plugins/omf/omf.remote.fish
+39
-0
No files found.
plugins/omf/omf.fish
View file @
00729347
...
...
@@ -8,7 +8,11 @@ function omf -d "Oh My Fish helper"
if test (count $argv) -gt 0
switch $argv[1]
case 'install'
omf.packages --install
if test (count $argv) -gt 2
omf.packages --install $argv[2] $argv[3]
else
omf.packages --install
end
case 'update'
omf.packages --update
case 'list' 'ls'
...
...
@@ -19,14 +23,10 @@ function omf -d "Oh My Fish helper"
if [ $status -eq 0 ]
omf.log 'green' 'Oh My Fish has been successfully updated.'
end
case 'available-plugins'
omf.packages --available-plugins
case 'available-themes'
omf.packages --available-themes
case 'download-plugin'
omf.packages --download-plugin $argv[2]
case 'download-theme'
omf.packages --download-theme $argv[2]
case 'plugins'
omf.packages --plugins
case 'themes'
omf.packages --themes
case '*'
omf.helper
end
...
...
plugins/omf/omf.helper.fish
View file @
00729347
...
...
@@ -10,12 +10,9 @@ function omf.helper -d 'Prints all functions supported by Oh My Fish helper'
omf.log normal ''
omf.log normal ' Examples:'
omf.log normal ' omf install'
omf.log normal ' omf install --plugin|--theme NAME'
omf.log normal ' omf update'
omf.log normal ' omf list'
omf.log normal ' omf self-update'
omf.log normal ' omf available-plugins'
omf.log normal ' omf available-themes'
omf.log normal ' omf download-plugin'
omf.log normal ' omf download-theme'
end
plugins/omf/omf.packages.fish
View file @
00729347
...
...
@@ -7,36 +7,41 @@
# OPTIONS
# --install
# Install all packages
# --install --plugin|--theme NAME
# Install one theme/plugin
# --update
# Update all packages
# --list
# List all active packages
# --
available-
plugins
# --plugins
# List all plugins available from the oh-my-fish Github repository
# --
available-
themes
# --themes
# List all themes available from the oh-my-fish Github repository
# --download-plugin [PLUGIN]
# Download and install PLUGIN
# --download-theme [THEME]
# Download and install THEME
#
# DESCRIPTION
# Manage all plugins and themes specified on the $fish_plugins
# and $fish_theme variables
#
function omf.packages --argument-names options arg -d 'Manage all plugins and themes'
function omf.packages --argument-names options arg
1 arg2
-d 'Manage all plugins and themes'
set -g __omf_packages_modified 0
switch $options
case '--install'
for plugin in $fish_plugins
omf.packages.install --plugin $plugin
end
switch "$arg1"
case '--plugin'
omf.packages.install --plugin $arg2
case '--theme'
omf.packages.install --theme $arg2
case ""
for plugin in $fish_plugins
omf.packages.install --plugin $plugin
end
omf.packages.install --theme $fish_theme
omf.packages.install --theme $fish_theme
if [ $__omf_packages_modified -eq 0 ]
omf.log green 'All packages were already installed.'
if [ $__omf_packages_modified -eq 0 ]
omf.log green 'All packages were already installed.'
end
end
case '--update'
for plugin in $fish_plugins
...
...
@@ -59,33 +64,15 @@ function omf.packages --argument-names options arg -d 'Manage all plugins and th
if test -n "$fish_theme"
omf.log normal $fish_theme
end
case '--available-plugins'
get_all_repos | grep "plugin-" | cut -d "-" -f 2- | sort | paste -sd ' ' -
case '--available-themes'
get_all_repos | grep "theme-" | cut -d "-" -f 2- | sort | paste -sd ' ' -
case '--download-plugin'
omf.packages.install --plugin $arg
case '--download-theme'
omf.packages.install --theme $arg
case '--plugins'
omf.remote --plugins | paste -sd ' ' -
case '--themes'
omf.remote --themes | paste -sd ' ' -
case '*'
omf.log red 'Unknown option'
end
end
function get_all_repos
set url "https://api.github.com/orgs/oh-my-fish/repos"
set page_count (curl -sI "$url?page=1&per_page=100" | sed -nr 's/^Link:.*page=([0-9]+)&per_page=100>; rel="last".*/\1/p')
if echo $page_count | grep -vE '^[0-9]+$'
echo "Could not access Github API" >&2
exit 1
end
for i in (seq $page_count)
curl -s "$url?page=$i&per_page=100" | grep \"name\" | tr \": " " | awk '{print $2}'
end
end
function omf.packages.report.installing -e omf_package_installing
omf.log -n white "Installing $argv... "
end
...
...
plugins/omf/omf.remote.fish
0 → 100644
View file @
00729347
# NAME
# omf.remote - List remote plugins and themes
#
# SYNOPSIS
# omf.remote [OPTIONS]
#
# OPTIONS
# --plugins
# List all available plugins
# --themes
# List all available themes
#
# DESCRIPTION
# List remote plugins and themes from the oh-my-fish Github repository
#
function omf.remote --argument-names options -d 'List remote plugins and themes'
set url "https://api.github.com/orgs/oh-my-fish/repos"
set page_count (curl -sI "$url?page=1&per_page=100" | sed -nr 's/^Link:.*page=([0-9]+)&per_page=100>; rel="last".*/\1/p')
if echo $page_count | grep -vE '^[0-9]+$'
echo "Could not access Github API" >&2
exit 1
end
set repos ""
for i in (seq $page_count)
set answer (curl -s "$url?page=$i&per_page=100" | grep \"name\" | tr \": " " | awk '{print $2}')
set repos "$answer $repos"
end
switch $options
case '--plugins'
echo $repos | tr ' ' "\\n" | grep "plugin-" | cut -d "-" -f 2- | sort | paste -sd " " -
case '--themes'
echo $repos | tr ' ' "\\n" | grep "theme-" | cut -d "-" -f 2- | sort | paste -sd " " -
case '*'
omf.log red 'Unknown option'
end
end
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment