Ho sudato sulla domanda di cui sopra. La risposta che fornirò mi ci è voluto un po 'per ricostruirmi, ma sembra ancora irrimediabilmente primitivo e hacky rispetto a quello che si potrebbe fare se il completamento fosse ridisegnato per essere meno pignolo. Ho quasi paura di chiedere se ci sia una buona ragione per cui la logica di completamento sembra essere completamente separata dal programma per il quale sta completando.Come raggruppare il completamento di bash con un programma e farlo funzionare nella shell corrente?
Q
Come raggruppare il completamento di bash con un programma e farlo funzionare nella shell corrente?
7
A
risposta
8
Ho scritto una libreria della riga di comando (può essere vista in scala trunk) che consente di capovolgere un interruttore per avere un'opzione "--bash". Se si esegue
./program --bash
Calcola il file di completamento, lo scrive fuori ad un tempfile, e fa eco
. /path/to/temp/file
alla console. Il risultato è che è possibile utilizzare backticks in questo modo:
`./program --bash`
e avrete il completamento di "programma" nella shell corrente dal momento che sarà fonte del tempfile.
Per un esempio concreto: check-out scala trunk ed eseguire test/partest.
Problemi correlati
- 1. installazione pip con completamento shell
- 2. Completamento Python argparse e bash
- 3. Come si implementa il completamento del tab nella shell node.js?
- 4. Programma lista nera dal completamento bash
- 5. ember cli e livereload: come farlo funzionare?
- 6. Caret ricerca e sostituzione nella shell Bash
- 7. Come richiedere NumberHelper e farlo funzionare?
- 8. Bash Shell Data corrente meno numero di giorni
- 9. Come installare TBB dal sorgente su Linux e farlo funzionare
- 10. Differenza tra shell Bash e terminale Bash?
- 11. Completamento automatico con C++ (NON con Shell)
- 12. esegui il comando bash nella nuova shell e resta nella nuova shell dopo che questo comando è stato eseguito
- 13. Elastislide - come farlo funzionare con diverse larghezze di immagine
- 14. Generazione di numeri casuali con awk nella shell BASH
- 15. Configurare grunt-ts e farlo funzionare con LiveReload
- 16. Completamento scheda in shell adb
- 17. nodejs redis Q promette, come farlo funzionare?
- 18. Come sfuggire al carattere bang (!) Nella shell bash di Linux?
- 19. Stampa l'eccezione corrente nella shell interattiva PDB
- 20. È possibile eseguire un programma dal terminale e farlo continuare a funzionare dopo aver chiuso il terminale?
- 21. Spazio finale condizionale con completamento programmabile bash
- 22. Come sovrascrivere delete() su un modello e farlo funzionare con le relative eliminazioni
- 23. MsTest, DataSourceAttribute - come farlo funzionare con un file generato in runtime?
- 24. Caricamento di zsh come shell predefinita nella schermata di GNU
- 25. webview android con connessione https e autenticazione di base. Come farlo funzionare?
- 26. android.support.v7.widget.GridLayout non riesce a farlo funzionare
- 27. come utilizzare uno script di shell per supervisionare un programma?
- 28. È possibile invocare bash o script di shell da un programma haskell?
- 29. come verificare se una stringa ha spazi nella shell bash
- 30. Come impostare un proxy tramite bash shell?
È possibile sbarazzarsi di file di temprary utilizzando qui stringhe: source/dev/stdin <<< "$ (./ programma --bash)" –
Sì, lo avevo incontrato, ma nella formulazione ho visto non ha funzionato su OSX. Il tuo lo fa! Grazie mille. – extempore
A partire dal 2017-10-06 il link è morto – Morgen