# rebound Rebound is a command-line tool that instantly fetches Stack Overflow results when an exception is thrown. Just use the `rebound` command to execute your file. ![Placeholder Demo](docs/demo.gif) __Featured in:__ [50 Most Popular Python Projects in 2018](https://boostlog.io/@bily809/50-most-popular-python-projects-in-2018-5aea8e1c47018500491f4361), the top of [r/Python](https://www.reddit.com/r/Python/comments/8cwq72/i_made_a_commandline_tool_that_instantly_fetches/), [awesome-cli-apps](https://github.com/agarrharr/awesome-cli-apps), [awesome-shell](https://github.com/alebcay/awesome-shell), [terminals-are-sexy](https://github.com/k4m4/terminals-are-sexy), and [awesome-mac](https://github.com/jaywcjlove/awesome-mac). ## Installation >Requires Python 3.0 or higher. Rebound works on MacOS, Linux, and Windows (if you use Cygwin). You can install it with pip: `$ pip install rebound-cli` or apt-get if you're using Linux: `$ sudo apt-get install rebound-cli` ## Usage Running a file with `rebound` is just as easy as running it normally: `$ rebound [file_path]` This will execute the file, pull the error message, and let you browse related Stack Overflow questions and answers without leaving the terminal. __Supported file types:__ Python, Node.js, Ruby, Golang, and Java. ## Contributing To make a contribution, fork the repo, make your changes and then submit a pull request. Please try to adhere to the existing style. If you've discovered a bug or have a feature request, create an [issue](https://github.com/shobrook/rebound/issues/new). __Pending Features:__ * Improved text formatting (i.e. for duplicate questions, markdown, blockquotes, clickable links, etc.) * Improved search result accuracy by extracting potential search terms from the stack trace * Support for more languages ## How it Works Rebound is written in Python and built on Urwid. Beautiful Soup is used to scrape Stack Overflow content and subprocess for catching compiler errors. ## Acknowledgements Special thanks to [@rndusr](https://github.com/rndusr) for helping with the scrollbar.