Documentação do PHP via manpage (pman)

Artigo sobre a utilização do pman, o novo recurso do PHP para acesso à documentação via man page.

Dica rápida: a equipe de desenvolvimento do PHP disponibilizou a documentação das funções do PHP via manpage. A instalação é simples: basta instalar o PEAR e instalar o pacote "pman" (é só executar o comando abaixo).

$ pear install doc.php.net/pman

Para acessar a documentação de uma função, basta usar o comando "pman" seguido do nome da função. Este comando na verdade é um script que utiliza o programa "man" usando o diretório onde a documentação do PHP foi instalada. No Linux, este diretório pode ser o "/usr/share/doc/pear/pman/". Exemplo de uso:

$ pman substr

A manpage é similar à documentação encontrada no php.net, exceto pela formatação. Para quem utiliza editores de código via terminal (vi, pico, nano, etc.), esta será uma ótima ferramenta.

Autocomplete

Um inconveniente (ainda) do PMAN, é que não oferece recurso de auto-completar no terminal. Porém, fiz um script rapidamente para contornar esta limitação. Primeiro, é preciso ter o programa "bash-completion". Depois, basta copiar o arquivo abaixo e salvá-lo em /etc/bash_completion.d/pman.

Copyright © 2011 Rubens Takiguti Ribeiro

Licença: LGPL 3

#
# Autocomplete for PMAN
# Author: Rubens Takiguti Ribeiro
# Version: 1.0 2011-06-26
# License: LGPL 3 (http://www.gnu.org/licenses/lgpl-3.0.txt)
# Copyright (C) 2011  Rubens Takiguti Ribeiro
#


#
#     Get manpages
#
_pman_get_pages() {
# String $1: current word
#
    local opts dir i item

    dir='/usr/share/doc/pear/pman/man3/'
    opts=""

    if [ -n "$1" ]
    then
        for i in "${dir}/${1}"*.3.gz
        do
            item=$(basename "$i" .3.gz)
            opts="$opts $item"
        done
    fi
    echo -n "$opts"
    return 0
}


#
#     Main Autocomplete
#
_pman() {
    local cur prev opts
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"

    if (( $COMP_CWORD == 1 ))
    then
        opts=$(_pman_get_pages "$cur")
        COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
        return 0
    fi
}

# Register auto-complete
complete -F _pman pman

Caso os seus manuais foram instalados em outro local, mude a linha onde coloquei o diretório "/usr/share/doc/pear/pman/man3/" para o diretório correto.

Observação: para o auto-completar funcionar, você precisa digitar pelo menos a primeira letra da função/classe desejada. Caso contrário, o script ficaria muito lento. Veja o exemplo:

$ pman sub<TAB>

Isso irá completar o "sub" com "substr" pois esta é a única função em PHP que começa com "sub". Caso você tenha digitado algo que existem mais de uma opção, então clique em TAB duas vezes ao invés de uma e a lista de possibilidades será mostrada.

0 comentários