Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Commits on Jul 22, 2011
  1. Merge pull request #18 from tapichu/master

    authored
    Command-t integration
Commits on May 5, 2011
  1. Fixes backspace key

    Eduardo Lopez authored
    For some reason in my box Curses::KEY_BACKSPACE is not equal to the
    keycode of the backspace key.
    
    Maybe this is related to keymap and the la-latin1 layout, I'll have
    to check.
  2. Remove command-t/scanner dependency

    Eduardo Lopez authored
    The Scanner class is empty, it adds nothing for now.
  3. Removed unnecessary simple_scanner.rb

    Eduardo Lopez authored
Commits on Mar 28, 2011
  1. Simplified boolean flags.

    authored
  2. Eduardo Lopez
  3. Eduardo Lopez

    SCP a directory recursively

    tapichu authored
  4. Eduardo Lopez

    Open with Konsole

    tapichu authored
  5. Eduardo Lopez
Commits on Mar 27, 2011
  1. Style corrections

    Eduardo Lopez authored
  2. Fixed FileSelect's change directory

    Eduardo Lopez authored
  3. Small change to be 1.8.7 compatible

    Eduardo Lopez authored
  4. Directory selector (<Leader>d)

    Eduardo Lopez authored
    Act on directories (change directory, remove directory, etc.).
    
    Can be Git aware.
  5. FilesysScanner can now search for files and/or directories

    Eduardo Lopez authored
    If gitignore is enabled, it will also ignore the directories ignored
    by Git (it won't scan them).
  6. No longer need to monkeypatch CommandT's FileScanner

    Eduardo Lopez authored
  7. FilesysFinder and FilesysScanner

    Eduardo Lopez authored
    Very similar to Command-t's FileFinder and FileScanner but with a
    couple of key differences:
    
    * Independent of VIM.
    * Supports glob ignore patterns.
    * Can be 'Git aware' (gitignore).
    
    Right now it only searches for files, but we plan to add support for
    directories too.
  8. SimpleScanner and SimpleFinder

    Eduardo Lopez authored
    Search over a list of items provided at initialization.
    Works great for many scenarios where you don't really need a scanner
    that searches for the items, you already have the list of items you
    want to search.
  9. Merge branch 'master' into command-t-1.1

    Eduardo Lopez authored
  10. Merge remote-tracking branch 'vic/master'

    Eduardo Lopez authored
  11. Open with $PAGER

    Eduardo Lopez authored committed
  12. Execute custom commands

    Eduardo Lopez authored committed
Commits on Mar 26, 2011
  1. Prepare for the next version of command-t (1.1)

    Eduardo Lopez authored
  2. Open with $PAGER

    Eduardo Lopez authored
  3. Execute custom commands

    Eduardo Lopez authored
Commits on Mar 25, 2011
  1. Eduardo Lopez

    Fixed bug when cancelling an action

    tapichu authored
    Pressing 'Esc' in the 'actions' view to go back and select another
    element causes an error because action is nil.
  2. Eduardo Lopez
  3. Added missing backslash

    authored
  4. Merge remote branch 'tapichu/gitignore'

    authored
    Conflicts:
    	lib/mrT/core.rb
  5. Merge remote branch 'tapichu/kde'

    authored
  6. Using PipeSelector with command redirection and custom shell actions.

    authored
    Basic _PipeSelector_ usage.
    ---------------------------
    
    Following the _UNIX_ tradition, _MrT_ is able to be part of a
    command pipe, that is taking input from one program and sending
    output as the input of another program.
    
    To use the _PipeSelector_, you need to give a single <code>-</code>
    argument to the _mrt_ program.
    
    Consuming input from another program.
    -------------------------------------
    
    The following pair of examples behave exactly equal, they allow
    you to select _foo_ or _bar_.
    
          # read selectable items from standard input.
          $ echo -e "foo\nbar" | mrt -
    
          # use arguments after the -- as selectable items.
          $ mrt - -- foo bar
    
    Specifying Actions as command line arguments.
    ---------------------------------------------
    
    Most of the time you'll want to perform some action on a selected
    value. When you select an item in _MrT_ and press the <code>TAB</code>
    key on it, a list of available actions will be shown.
    
    As _PipeSelector_ is quite generic, it provides an easy and quick
    way to specify possible actions to perform.
    
    Suppose you find yourself searching for a javascript file across
    all your filesystem and performing a defined set of actions upon
    them. Say, you want to run, compress, and check for lint errors:
    
          $ locate *.js | mrt - --js --gzip --jslint
    
    As you can see, the easiest way to specify an action is to simply
    give a command-name as a _POSIX_ *long option* to the _mrt_ program.
    
    Using more descriptive actions.
    -------------------------------
    
    The following example illustrates how to set the description for
    a given action. Simply use a semicolon <code>:</code> after the
    action name. *Note* each action is still a single argument.
    
          $ locate *.js | mrt --js:'Run on the JVM' --node:'Run on Node.js'
    
    Custom shell commands.
    ----------------------
    
    Sometimes specifying a single command name is not enough, and
    you'd like to specify a custom shell command to execute as action.
    
    Suppose you'd like to have a command to select one entry from your
    _/etc/fstab_ file and being able to mount and umount it. This example
    shows that using a non-option argument after an action name specifies
    the shell command to execute.
    
          $ cat /etc/fstab  | mrt - --mount "sudo mount -t %3 -o %4 %1 %2" --umount "sudo umount %2"
    
    *Node* you can use _placeholders_ inside the action command.
    <code>%0</code> is a reference to the selected line content.
    <code>%1</code> is the first non-blank string from the selected line.
    <code>%2</code> is the second non-blank string and so forth.
    
    Another example that lets you start/stop a system service. We escape
    the new-line only for formating reasons.
    
          $ ls /etc/init.d/* -d | mrt - \
               --start 'sudo %0 start' \
               --stop 'sudo %0 stop' \
               --restart 'sudo %0 restart' \
               --status 'sudo %0 status'
    
    Select and extract a single file from a tar archive.
    
          $ tar -tf some.tar | mrt - --extract 'tar -xf some.tar %0'
    
    Using Pipes to redirect _MrT_'s output to another program.
    ----------------------------------------------------------
    
    The following alias defines a *pity* command to select a process and
    kill it. There are possible better ways to implement it, but we just
    want to use this to illustrate how to pipe output into another program.
    
          $ alias pity="ps -eopid,cmd | mrt - 3>&1 1>&2 2>&3 | awk '{print\$1}' | xargs kill"
    
    *Note*  all that IO redirection is required because _mrt_ has a curses
    based interface, which means it needs to write to you and read your
    input.
    
    The following *sig* alias acts much like *pity* but uses named actions
    to provide a menu of which signal you want to send to the selected process.
    
          alias sig="ps -eopid,cmd | mrt -
                     --SIGHUP:'Hangup [see termio(7)]' 'kill -s SIGHUP %1' \
                     --SIGINT:'Interrupt [see termio(7)]' 'kill -s SIGINT %1' \
                     --SIGQUIT:'Quit [see termio(7)]' 'kill -s SIGQUIT %1' \
                     --SIGILL:'Illegal Instruction' 'kill -s SIGILL %1' \
                     --SIGTRAP:'Trace/Breakpoint Trap' 'kill -s SIGTRAP %1' \
                     --SIGABRT:'Abort' 'kill -s SIGABRT %1' \
                     --SIGEMT:'Emulation Trap' 'kill -s SIGEMT %1' \
                     --SIGFPE:'Arithmetic Exception' 'kill -s SIGFPE %1' \
                     --SIGKILL:'Killed' 'kill -s SIGKILL %1' \
                     --SIGBUS:'Bus Error' 'kill -s SIGBUS %1' \
                     --SIGSEGV:'Segmentation Fault' 'kill -s SIGSEGV %1' \
                     --SIGSYS:'Bad System Call' 'kill -s SIGSYS %1' \
                     --SIGPIPE:'Broken Pipe' 'kill -s SIGPIPE %1' \
                     --SIGALRM:'Alarm Clock' 'kill -s SIGALRM %1' \
                     --SIGTERM:'Terminated' 'kill -s SIGTERM %1' \
                     --SIGUSR1:'User Signal 1' 'kill -s SIGUSR1 %1' \
                     --SIGUSR2:'User Signal 2' 'kill -s SIGUSR2 %1' \
                     --SIGCHLD:'Child Status' 'kill -s SIGCHLD %1' \
                     --SIGPWR:'Power Fail/Restart' 'kill -s SIGPWR %1' \
                     --SIGWINCH:'Window Size Change' 'kill -s SIGWINCH %1' \
                     --SIGURG:'Urgent Socket Condition' 'kill -s SIGURG %1' \
                     --SIGPOLL:'Pollable event' 'kill -s SIGPOLL %1' \
                     --SIGSTOP:'Stopped (signal)' 'kill -s SIGSTOP %1' \
                     --SIGTSTP:'Stopped (user) [see termio(7)]' 'kill -s SIGTSTP %1' \
                     --SIGCONT:'Continued' 'kill -s SIGCONT %1' \
                     --SIGTTIN:'Stopped (tty input) [see termio(7)]' 'kill -s SIGTTIN %1' \
                     --SIGTTOU:'Stopped (tty output) [see termio(7)]' 'kill -s SIGTTOU %1' \
                     --SIGVTALRM:'Virtual Timer Expired' 'kill -s SIGVTALRM %1' \
                     --SIGPROF:'Profiling Timer Expired' 'kill -s SIGPROF %1' \
                     --SIGXCPU:'CPU time limit exceeded [see getrlimit(2)]' 'kill -s SIGXCPU %1' \
                     --SIGXFSZ:'File size limit exceeded [see getrlimit(2)]' 'kill -s SIGXFSZ %1' \
                     --SIGWAITING:'All LWPs blocked' 'kill -s SIGWAITING %1' \
                     --SIGLWP:'Virtual Interprocessor Interrupt for Threads Library' 'kill -s SIGLWP %1' \
                     --SIGAIO:'Asynchronous I/O' 'kill -s SIGAIO %1'"
  7. Merge remote-tracking branch 'vic/master' into kde

    Eduardo Lopez authored
Something went wrong with that request. Please try again.