Merge pull request #119679 from AndersonTorres/quick-modifications

with-shell: 2016-08-20 -> 2018-03-20
This commit is contained in:
Anderson Torres 2021-04-17 00:05:10 -03:00 committed by GitHub
commit 7919518f02
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,20 +1,76 @@
{ lib, stdenv, fetchFromGitHub }:
stdenv.mkDerivation {
name = "with-2016-08-20";
{ lib
, stdenv
, fetchFromGitHub
, installShellFiles
}:
stdenv.mkDerivation rec {
pname = "with";
version = "unstable-2018-03-20";
src = fetchFromGitHub {
owner = "mchav";
repo = "With";
rev = "cc2828bddd92297147d4365765f4ef36385f050a";
sha256 = "10m2xv6icrdp6lfprw3a9hsrzb3bip19ipkbmscap0niddqgcl9b";
rev = "28eb40bbc08d171daabf0210f420477ad75e16d6";
hash = "sha256-mKHsLHs9/I+NUdb1t9wZWkPxXcsBlVWSj8fgZckXFXk=";
};
nativeBuildInputs = [ installShellFiles ];
installPhase = ''
mkdir -p $out/bin
cp with $out/bin/with
runHook preInstall
install -D with $out/bin/with
installShellCompletion --bash --name with.bash with.bash-completion
runHook postInstall
'';
meta = {
meta = with lib; {
homepage = "https://github.com/mchav/With";
description = "Command prefixing for continuous workflow using a single tool";
license = lib.licenses.asl20;
platforms = lib.platforms.unix;
longDescription = ''
with is a Bash script that starts an interactive shell with where every
command is prefixed using <program>.
For example:
$ with git
git> add .
git> commit -a -m "Commited"
git> push
Can also be used for compound commands.
$ with java Primes
java Primes> 1
2
java Primes> 4
7
And to repeat commands:
$ with gcc -o output input.c
gcc -o -output input.c>
<enter>
Compiling...
gcc -o -output input.c>
To execute a shell command proper prefix line with :.
git> :ls
You can also drop, add, and replace different commands.
git> +add
git add> <some file>
git add> !commit
git commit> <arguments and message>
git commit> -
git>
To exit use either :q or :exit.
'';
license = licenses.asl20;
maintainers = with maintainers; [ AndersonTorres ];
platforms = platforms.unix;
};
}