mirror of
https://github.com/webinstall/webi-installers.git
synced 2026-02-14 17:49:53 +00:00
ref!(vim-commentary): use git source releases
This commit is contained in:
@@ -120,6 +120,9 @@ async function getAllReleases(gitUrl) {
|
||||
}
|
||||
all.releases = releases;
|
||||
|
||||
// TODO, if no tags are found, use v0.0.0-{date}
|
||||
// (and allow them to be downloaded as such)
|
||||
|
||||
return all;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,17 +1,102 @@
|
||||
#!/usr/bin/env pwsh
|
||||
|
||||
$my_name = "commentary"
|
||||
$my_pkg_name = "vim-commentary"
|
||||
$my_repo = "https://github.com/tpope/vim-commentary"
|
||||
|
||||
IF (!(Test-Path -Path "$Env:USERPROFILE\.vim\pack\plugins\start")) {
|
||||
New-Item -Path "$Env:USERPROFILE\.vim\pack\plugins\start" -ItemType Directory -Force | Out-Null
|
||||
IF ($null -eq $Env:WEBI_HOST -or "" -eq $Env:WEBI_HOST) {
|
||||
$Env:WEBI_HOST = "https://webinstall.dev"
|
||||
}
|
||||
|
||||
Remove-Item -Path "$Env:USERPROFILE\.vim\pack\plugins\start\${my_name}" -Recurse -ErrorAction Ignore
|
||||
& git clone --depth=1 "$my_repo" "$Env:USERPROFILE\.vim\pack\plugins\start\$my_name.vim"
|
||||
##########################
|
||||
# Install vim-commentary #
|
||||
##########################
|
||||
|
||||
IF (!(Test-Path -Path "$Env:USERPROFILE\.vim\plugin\$my_name.vim")) {
|
||||
IF ($null -eq $Env:WEBI_HOST -or $Env:WEBI_HOST -eq "") { $Env:WEBI_HOST = "https://webinstall.dev" }
|
||||
curl.exe -sS -o "$Env:USERPROFILE\.vim\plugin\$my_name.vim" "$Env:WEBI_HOST/packages/${my_pkg_name}/${my_name}.vim"
|
||||
# Every package should define these variables
|
||||
$pkg_cmd_name = "vim-commentary"
|
||||
$pkg_src = "$HOME\Downloads\webi\$Env:WEBI_PKG_PATHNAME"
|
||||
$pkg_dst = "$HOME\.vim\pack\plugins\start\$Env:PKG_NAME"
|
||||
|
||||
$my_vim_filename = "commentary.vim"
|
||||
|
||||
function fn_vim_init {
|
||||
if (-Not (Test-Path "$HOME\.vimrc")) {
|
||||
New-Item -ItemType File -Path "$HOME\.vimrc"
|
||||
}
|
||||
New-Item -ItemType Directory -Force `
|
||||
-Path "$HOME\.vim\pack\plugins\start" | Out-Null
|
||||
New-Item -ItemType Directory -Force `
|
||||
-Path "$HOME\.vim\plugins" | Out-Null
|
||||
}
|
||||
|
||||
function fn_git_shallow_clone {
|
||||
# IF (Test-Path -Path "$pkg_src") {
|
||||
# Write-Host "Found $pkg_src"
|
||||
# Return
|
||||
# }
|
||||
|
||||
Write-Output "Checking for Git..."
|
||||
IF (-Not (Get-Command -Name "git" -ErrorAction Silent)) {
|
||||
& "$HOME\.local\bin\webi-pwsh.ps1" git
|
||||
$Env:Path = "$HOME\.local\opt\git\cmd;$Env:Path"
|
||||
[System.Environment]::SetEnvironmentVariable(
|
||||
"Path",
|
||||
$env:Path,
|
||||
[System.EnvironmentVariableTarget]::User)
|
||||
}
|
||||
|
||||
Write-Output "Cloning $Env:PKG_NAME from $Env:WEBI_PKG_URL to $pkg_src"
|
||||
|
||||
$my_rnd = (Get-Random -Maximum 4294967295 -Minimum 65535).toString("X")
|
||||
$my_tmp = "$pkg_src.$my_rnd.part"
|
||||
& git clone --config advice.detachedHead=false --quiet `
|
||||
--depth=1 --single-branch --branch "$Env:WEBI_GIT_TAG" `
|
||||
"$Env:WEBI_PKG_URL" `
|
||||
"$my_tmp"
|
||||
Move-Item "$my_tmp" "$pkg_src"
|
||||
}
|
||||
|
||||
function fn_remove_existing {
|
||||
Remove-Item -Recurse -Force `
|
||||
-Path "$pkg_dst" | Out-Null
|
||||
}
|
||||
|
||||
function fn_install {
|
||||
Copy-Item -Path "$pkg_src" -Destination "$pkg_dst" -Recurse
|
||||
}
|
||||
|
||||
function fn_vim_config_download {
|
||||
$my_vim_filepath = "$HOME\.vim\plugins\$my_vim_filename"
|
||||
IF (Test-Path -Path "$my_vim_filepath") {
|
||||
Write-Host "Found $my_vim_filepath"
|
||||
Return
|
||||
}
|
||||
|
||||
& curl.exe -sS -o "$my_vim_filepath" `
|
||||
"$Env:WEBI_HOST/packages/${Env:PKG_NAME}/${my_vim_filename}"
|
||||
}
|
||||
|
||||
function fn_vim_config_update {
|
||||
$my_vim_filepath = "$HOME\.vim\plugin\$my_vim_filename"
|
||||
|
||||
|
||||
Write-Host ''
|
||||
Write-Host 'MANUAL SETUP REQUIRED' `
|
||||
-ForegroundColor yellow -BackgroundColor black
|
||||
Write-Host ''
|
||||
Write-Host "Add the following to ~/.vimrc:" `
|
||||
-ForegroundColor magenta -BackgroundColor white
|
||||
Write-Host " source $my_vim_filepath" `
|
||||
-ForegroundColor magenta -BackgroundColor white
|
||||
Write-Host ''
|
||||
|
||||
# TODO manually add
|
||||
#$my_note="$Env:PKG_NAME: installed via webinstall.dev/$Env:PKG_NAME"
|
||||
}
|
||||
|
||||
function main {
|
||||
fn_vim_init
|
||||
fn_git_shallow_clone
|
||||
fn_remove_existing
|
||||
fn_install
|
||||
fn_vim_config_download
|
||||
fn_vim_config_update
|
||||
}
|
||||
|
||||
main
|
||||
|
||||
@@ -1,43 +1,59 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
set -u
|
||||
|
||||
__install_vim_plugin() { (
|
||||
set -e
|
||||
set -u
|
||||
|
||||
my_name="commentary"
|
||||
my_pkg_name="vim-commentary"
|
||||
my_repo="https://github.com/tpope/vim-commentary.git"
|
||||
my_note="vim-commentary: installed via webinstall.dev/vim-commentary"
|
||||
my_installed_msg="${my_pkg_name} installed with example config"
|
||||
|
||||
mkdir -p ~/.vim/pack/plugins/start
|
||||
rm -rf ~/.vim/pack/plugins/start/"${my_pkg_name}"
|
||||
git clone --depth=1 "${my_repo}" ~/.vim/pack/plugins/start/"${my_pkg_name}"
|
||||
|
||||
if [ ! -f ~/.vimrc ]; then
|
||||
fn_vim_init() { (
|
||||
if ! test -f ~/.vimrc; then
|
||||
touch ~/.vimrc
|
||||
fi
|
||||
|
||||
mkdir -p ~/.vim/plugins
|
||||
if ! [ -f ~/.vim/plugins/"${my_name}.vim" ]; then
|
||||
WEBI_HOST=${WEBI_HOST:-"https://webinstall.dev"}
|
||||
curl -fsSL -o ~/.vim/plugins/"${my_name}.vim" "$WEBI_HOST/packages/${my_pkg_name}/${my_name}.vim"
|
||||
fi
|
||||
|
||||
if ! grep "source.*plugins.${my_name}.vim" -r ~/.vimrc > /dev/null 2> /dev/null; then
|
||||
set +e
|
||||
mkdir -p ~/.vim/plugins
|
||||
printf '\n" %s\n' "${my_note}" >> ~/.vimrc
|
||||
printf 'source ~/.vim/plugins/%s.vim\n' "${my_name}" >> ~/.vimrc
|
||||
set -e
|
||||
echo ""
|
||||
echo "add ~/.vim/plugins/${my_name}.vim"
|
||||
echo "updated ~/.vimrc with 'source ~/.vim/plugins/${my_name}.vim'"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "${my_installed_msg}"
|
||||
|
||||
mkdir -p ~/.vim/pack/plugins/start/
|
||||
mkdir -p ~/.vim/plugins/
|
||||
); }
|
||||
|
||||
__install_vim_plugin() {
|
||||
|
||||
# Non-executable packages should define these variables
|
||||
pkg_cmd_name="vim-commentary"
|
||||
pkg_no_exec=true
|
||||
pkg_dst="${HOME}/.vim/pack/plugins/start/vim-commentary"
|
||||
|
||||
my_name="commentary"
|
||||
my_pkg_name="vim-commentary"
|
||||
my_note="${my_pkg_name}: installed via webinstall.dev/${my_pkg_name}"
|
||||
|
||||
pkg_install() { (
|
||||
fn_vim_init
|
||||
|
||||
rm -rf ~/.vim/pack/plugins/start/"${my_pkg_name}"/
|
||||
mv ./vim-commentary-*/ ~/.vim/pack/plugins/start/"${my_pkg_name}"
|
||||
); }
|
||||
|
||||
pkg_link() { (
|
||||
return 0
|
||||
); }
|
||||
|
||||
pkg_post_install() { (
|
||||
mkdir -p ~/.vim/plugins
|
||||
if [ -f ~/.vim/plugins/"${my_name}.vim" ]; then
|
||||
echo "Found ~/.vim/plugins/${my_name}.vim"
|
||||
else
|
||||
webi_download \
|
||||
"${WEBI_HOST}/packages/${my_pkg_name}/${my_name}.vim" \
|
||||
~/.vim/plugins/"${my_name}.vim" \
|
||||
"${my_name}.vim"
|
||||
fi
|
||||
|
||||
if ! grep "source.*plugins.${my_name}.vim" -r ~/.vimrc > /dev/null 2> /dev/null; then
|
||||
set +e
|
||||
printf '\n" %s\n' "${my_note}" >> ~/.vimrc
|
||||
printf 'source ~/.vim/plugins/%s.vim\n' "${my_name}" >> ~/.vimrc
|
||||
set -e
|
||||
echo "Updated ~/.vimrc to 'source ~/.vim/plugins/${my_name}.vim'"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
); }
|
||||
}
|
||||
|
||||
__install_vim_plugin
|
||||
|
||||
19
vim-commentary/releases.js
Normal file
19
vim-commentary/releases.js
Normal file
@@ -0,0 +1,19 @@
|
||||
'use strict';
|
||||
|
||||
var git = require('../_common/git-tag.js');
|
||||
var gitUrl = 'https://github.com/tpope/vim-commentary.git';
|
||||
|
||||
module.exports = async function (request) {
|
||||
let all = await git(gitUrl);
|
||||
|
||||
return all;
|
||||
};
|
||||
|
||||
if (module === require.main) {
|
||||
module.exports(require('@root/request')).then(function (all) {
|
||||
all = require('../_webi/normalize.js')(all);
|
||||
|
||||
let samples = JSON.stringify(all, null, 2);
|
||||
console.info(samples);
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user