ampline

amp up your command line — assign variables to output from common commands. a great complement to tab completion

npm install ampline
10 downloads in the last week
19 downloads in the last month

ampline

amp up your command line.

assign variables to output from common commands

a great complement to tab completion

npm -g install ampline

show not tell

A simple example:

$ ls
1 amp
2 node_modules
3 package.json
4 readme.md
5 screenshots

$ cat 4
# executes cat readme.md
TODO write a readme. Lorem ipsum dolor sit amet, consectetur adipisicing elit,
sed do eiusmod.

$ amp echo "hi" >> 4
# executes echo "hi" >> readme.md

$ gs # this is an alias that uses `amp`
1  M readme.md

$ ga readme.md
1 M  readme.md

$ git commit -m 'added hi to my readme.'

A more complicated example:

screenshot

basic actions

  • list the variables you have saved

      $ amp
    
  • expand the variables you have saved

      $ amp vim 1 2 3-5
    
  • run a command (step 1: expand variables, step 2: run command, step 3: each line that matches the -p regex will be saved to a variable)

    
      $ amp -p "(.*)" ls -1
      1 amp
      2 node_modules
      3 package.json
      4 readme.md
      5 screenshots
    
      # let's view what the current variables are set to
      $ amp
      1 = amp
      2 = node_modules
      3 = package.json
      4 = readme.md
      5 = screenshots
    

suggested aliases

Because you don't want to type amp all over the place.

These are the aliases I use. Since I only just wrote this, there aren't that many. Based on these it shouldn't be too hard write/customize your own set of aliases.

    # give me variable saving!
    alias gs='amp -p "...(.*)$" git status -s'
    alias gbr='amp -p " ? (?:remotes\\/)?(?:origin\\/)?(.*)$" git branch' # supports -a, -r flags

    alias l='CLICOLOR_FORCE=1 amp -p "(.*)" ls -1'
    alias find='amp -p "(.*)" find'

    # give me variable expansion!
    alias subl='amp subl'
    alias ga='amp git add'
    alias grm='amp git rm'
    alias gco='amp git checkout'
    alias gd='amp git diff'
    alias gdh='amp git diff HEAD'
    alias gunstage='amp git unstage'
    alias cat='amp cat'
    alias less='amp less'
    alias mocha='amp mocha'
npm loves you