Script di completamento automatico di Bash con El Capitan

0

Circa una settimana fa, ho aggiunto quanto segue alla fine del mio script .bash_profile, quindi imposta il completamento della tabulazione per le pagine man:

function _man_pages()
{
    local cur opts prev
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"      #Get the current word
    prev="${COMP_WORDS[COMP_CWORD - 1]}" #Get the previous word
    opts=""
    if [ "$prev" = "man" ];
    then
        #We didn't use a section number
        #This lovely regex converts from the file path to the name of the page
        opts=$(find -E "/usr/share/man" -regex ".*/man[1-9n]/(${cur}.*)\.[1-9n].*$" | sed -E 's/^.*\/(.*)\.[1-9n].*$//')
    else 
        #We entered a section number
        opts=$(find -E "/usr/share/man" -regex ".*/man${prev}/(${cur}.*)\.${prev}.*$" | sed -E "s/^.*\/(.*)\.${prev}.*$//")
    fi

    COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
    return 0
}

complete -F _man_pages man

Tuttavia, quando mi sono aggiornato a El Capitan questa mattina, ha smesso di funzionare. Ho eseguito con successo la parte regex dello script nel mio terminale stesso, quindi sono fiducioso che siano ancora corretti. Qualcuno può spiegare perché questo sta accadendo e / o come risolverlo?

Grazie!

AGGIORNAMENTO: Dopo aver fatto un po 'più di scavo, ho scoperto che funziona ancora per la maggior parte delle pagine man, solo non man 2 o man 3. Dopo aver guardato nella cartella corretta era prima, le cartelle man2 e man3 sono scomparse . Sono ancora in grado di fare "man pthread_create" e ottenere risultati, quindi quelle cartelle devono essere andate da qualche parte. Tornerò quando ne saprò di più.

    
posta ThomasAlbet 03.10.2015 - 21:29
fonte

1 risposta

1

Dopo un po 'di ricerche, ho scoperto che posso fare "man -W" per ottenere un elenco di cartelle che man controlla quando si cercano le pagine stesse, inclusa quella in cui pthread_create è.

P.S. Sembra che sia nella cartella dell'app Xcode ora.

    
risposta data 04.10.2015 - 09:12
fonte

Leggi altre domande sui tag