Permalink
Commits on Apr 13, 2012
  1. Document virtualenv in the README

    committed Apr 13, 2012
Commits on Apr 11, 2012
  1. add on-prompt docs to README

    cxreg committed Apr 11, 2012
  2. 'smartcd on-prompt' command

    This is similar to setting PROMPT_COMMAND or precmd, but with a smartcd
    twist.  The argument passed to this command is evaulated at each prompt,
    so long as you remain in the current directory or any of its children.
    
    The commands are stored independently of any existing prompt hooks,
    including smartcd's own.  In addition to this, they are fully nestable.
    That is, you can add on-prompt commands in subdirectories after you have
    already configured some and they will _all_ run until you return to a
    previous directory.
    
    For example:
    
        ~/foo$ smartcd on-prompt 'echo test 1'
        test 1
        ~/foo$ cd bar
        test 1
        ~/foo/bar$ smartcd on-prompt 'echo test 2'
        test 1
        test 2
        ~/foo/bar$ cd ..
        test 1
        ~/foo$ cd
        ~$
    cxreg committed Apr 11, 2012
  3. allow "smartcd edit enter" to be passed a directory

    If you pass an additional directory argument to "smartcd edit enter",
    you will now be able to edit scripts for directories which are not your
    current working directory
    
        smartcd edit enter /usr/local/bin
    cxreg committed Apr 11, 2012
Commits on Apr 10, 2012
  1. improve wording in config

    cxreg committed Apr 10, 2012
  2. helper for use with virtualenv

    committed Apr 10, 2012
Commits on Apr 9, 2012
  1. smartd append

    cxreg committed Apr 9, 2012
Commits on Apr 8, 2012
  1. completion support for helpers

    cxreg committed Apr 8, 2012
  2. perlbrew helper

    smartcd now ships with built-in perlbrew integration.  Simply place the
    following line in your enter script
    
        smartcd helper run perlbrew init __PATH__/local/perl
    
    and perlbrew will be loaded and configured for you.  When you cd away,
    the settings are undone and you get your "regular" perl back
    cxreg committed Apr 8, 2012
  3. fix broken tests

    cxreg committed Apr 8, 2012
  4. minor updates to helper usage

    cxreg committed Apr 8, 2012
  5. history helper

    This helper is designed to allow you to have shell history which is
    localized to the directory where you invoke it.  That history will be
    used for the directory and any of its subdirectories, unless they
    themselves override this with their own configuration.
    
    Basic usage looks like this:
    
        smartcd helper run history also-read ~/.bash_history
        smartcd helper run history localize __PATH__/.history
    
    The argument passed to 'localize' is the file in which your history will
    be stored.
    
    The 'also-read' action will read in any files you list prior to setting
    up the new history.  This allows you to have access to any number of
    other history files, but to put them "further back" in your buffer.
    cxreg committed Apr 8, 2012
  6. PATH helper

    This is a way to modify your PATH environment variable
    
        smartcd helper run path append __PATH__/bin /bar
    
        smartcd helper run path prepend __PATH__/foo __PATH__/baz
    
    These are analagous to
    
        autostash PATH="$PATH:__PATH__/bin:/bar"
    
        autostash PATH="__PATH__/foo:__PATH__/baz:$PATH"
    
    And although this is actually more verbose than the original commands,
    it serves as a useful proof of concept for the smartcd helper facility,
    and in addition you could use aliases to shorten this significantly:
    
        alias pa="smartcd helper run path append"
        alias pp="smartcd helper run path prepend"
    
        pa __PATH__/bin /bar
        pp __PATH__/foo __PATH__/baz
    cxreg committed Apr 8, 2012
  7. new feature: helpers

    This introduces a powerful new element to smartcd, the concept of
    "helpers".  These are essentially sharable templates, designed to be
    written and distributed by anyone who wants to do so.  This could be the
    author of another piece of software, providing easily used smartcd
    hooks, or just someone with a good idea.
    
    Eventually this feature will have built-in install and update support,
    with access to a centralized repository of these.
    
    For now, the main action is 'run', and is performed like:
    
        smartcd helper run <name> [args...]
    
    This is most likely useful when added to an enter script.  The syntax
    and arguments which can be passed to one of these is entirely up to its
    author, and their respective documentation should be viewed for further
    information.
    cxreg committed Jan 8, 2012
  8. remove bash shebangs

    cxreg committed Apr 8, 2012
Commits on Apr 6, 2012
  1. new `leave-hook` action which can be used to create transient leave s…

    …cripts
    
    This is called like this:
    
        smartcd leave-hook 'shell code'
    
    The shell code will be stored in a temporary function which will be
    executed on leave from the directory in which it was defined.  The
    function will then undefine itself.
    
    This is especially useful for dynamically generated actions needed as a
    result of an enter script, instead of writing them into the leave script
    itself.
    cxreg committed Apr 6, 2012
Commits on Apr 4, 2012
  1. more DWIMmy behavior for double-stashing

    This is a change in the case where you stash-assign the same variable
    twice.  Previously, if you did this, you would get an error:
    
        $ stash foo=bar
        $ stash foo=baz
        You have already stashed foo, please specify "-f" if you want to
        overwrite another stashed value
    
    This error is suppressed if and only if subsequent stashes are assigning
    a value.  When you do this, the new value is assigned but the stashed
    value is not replaced.
    
    The primary reason for this is that you may find yourself wanting to
    touch the same variable several times in short succession, and the
    "right thing" is to allow this to happen but then to restore to the
    original value upon unstash.
    cxreg committed Apr 4, 2012
Commits on Apr 2, 2012
  1. autoload config

    cxreg committed Apr 2, 2012
  2. autoload template

    cxreg committed Apr 2, 2012