/pcmpl-args.el

Enhanced shell completion in Emacs

Primary LanguageEmacs Lisp

pcmpl-args.el --- Enhanced shell command completion
===================================================

This package extends option and argument completion of shell
commands read by Emacs.  It is intended to make shell completion in
Emacs comparable to the rather excellent completion provided by
both Bash and Zsh.

This package uses `pcomplete' to define completion handlers which
are used whenever shell completion is performed.  This includes
when commands are read in the minibuffer via `shell-command' (M-!)
or in `shell-mode'.

Completion support is provided for many different commands
including:

  - GNU core utilities (ls, rm, mv, date, sort, cut, printf, ...)

  - Built-in shell commands (if, test, time, ...)

  - Various GNU/Linux commands (find, xargs, grep, man, tar, ...)

  - Version control systems (bzr, git, hg, ...)


Installation:

To use this package, save `pcmpl-args.el' to your `load-path' and
add the following to your `init.el':

    (require 'pcmpl-args)

Note: This package uses `lexical-binding' so it probably will not
work with older versions of Emacs (prior to 24.1).

Note: This package redefines the following functions:

  `pcomplete/bzip2'
  `pcomplete/chgrp'
  `pcomplete/chown'
  `pcomplete/gdb'
  `pcomplete/gzip'
  `pcomplete/make'
  `pcomplete/rm'
  `pcomplete/rmdir'
  `pcomplete/tar'
  `pcomplete/time'
  `pcomplete/which'
  `pcomplete/xargs'


Defining new completion commands:

This package contains a number of utilities for defining new
pcomplete completion commands:

`pcmpl-args-pcomplete'
     Can be used to define completion for commands that have
     complex option and argument parsing.

`pcmpl-args-pcomplete-on-help'
     Completion via parsing the output of `COMMAND --help'.

`pcmpl-args-pcomplete-on-man'
     Completion via parsing the output of `man COMMAND'.


------------------------------------------------------------------------

This file is not part of GNU Emacs.

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

------------------------------------------------------------------------

Author: Jonathan Waltman <jonathan.waltman@gmail.com>
URL: https://github.com/JonWaltman/pcmpl-args.el
Keywords: abbrev completion convenience processes terminals unix
Created: 25 Jul 2012
Version: 0.1.1
Compatibility: GNU Emacs: 24.x