SoCLI
Stack overflow command line written in python. Using SoCLI you can search and browse stack overflow without leaving the terminal. Just use the socli command:
Installation
Supported platforms- Linux
- Windows
- Mac
- python 2+
Install python and just use pip command to install socli:
sudo apt-get install python python-pip
sudo pip install socli
For Windows
Download and install python. Don't forget to check the option "Add to path".
Open a command prompt with administrative privileges and use pip command to install socli:
pip install socli
Use easy_install if your python path have a space in it Read more:"Failed to create process":
easy_install socli
For Mac (via homebrew)
Install python and socli:
brew install python
easy_install pip
pip install socli
Updating
Use the command below to update your existing version of socli to the newest version, so that you won't miss any features:
sudo pip install --upgrade socli
Usage
Quick search
Just use socli command followed by the search query:
socli for loop in python syntax
The above command will search for the query "for loop in python syntax" and displays the first most voted question in stack overflow with its most voted answer. Pretty quick, right?
Interactive search
You can search the stack overflow interactively by using the command below:
socli -iq html error 404
This will display a list of questions from stack overflow for the query "html error 404" and it will allow you to choose any of the question you like interactively. When you chose a question, it will display the complete description of the chosen question with its most voted answer. Now you can browse through all the answers of that questions on stack overflow interactively.
Manual search
This will allow you to choose a question number for example:
socli -r 2 -q javascript porotype function
Will search for "javascript porotype function" in stack overflow and displays the second question that contains it.
Topic based search
Stack overflow supports topic by using tags. socli allows you to query stack overflow based on specific tags. Just specify the tag via the following command:
socli -t javascript -q window.open
You can also specify multiple tags, Just separate them with a comma:
socli -t javascript,node.js -q window.open
See the complete list of tags here.
New question
If you can't find an answer for your question in stack overflow, socli allows you to creata a new question via the web browser. Just type the command below and socli will open the new question page of stack overflow in the web browser for you:
socli -n
Syntax:
socli has the following syntax
Usage: socli [ Arguments] < Search Query >
Query
It refers to query to search in stack overflow.
Features
These are the amazing features of socli:
- Manual Search
- Interactively browse stack overflow using the interactive mode
- Coloured interface
- Question stats view
- Tag support
- Can open the page in a browser
- Can create a new question via the web browser
Please check out the list of issues.
Contributing
If you are willing to contribute to SoCLI project, You are awesome! Just follow the steps below:
- Fork it!
- Make a local clone:
git clone https://github.com/{YOUR_USERNAME}/socli.git
- Switch to the directory:
cd socli
- Create your new branch:
git checkout -b feature name
- Make necessary changes to this source code
- Add changes to git index by using
git add --all .
- Commit your changes:
git commit -am 'Added new feature'
- Push to the branch:
git push
- Submit a new pull request :smile:
Contributors
Special thanks to these superheroes:
- Killbee for making SoCLI colorful #3
- Sam Dean for adding Macintosh SoCLI installation instructions #1
- Plinio89s for adding the check for color support #8
- nagracks for improving readability of the SoCLI code #11
- mwwynne for adding links to the SoCLI #13
- Carlos J. Puga Medina for finding the bug #11 on SoCLI python2 version and for making SoCLI freshports port
- Jon Ericson (Community Manager, Stack Overflow) for the PR #18 and letting me know about the Stack overflow attribution policy. Thanks for the blog post
- Ankit Kr. Singh for fixing some typos PR #21 #23
- Harsha Alva for fixing windows encoding problem PR #24
- Pia Mancini for adding SoCLI to OpenCollective #27
- Elliott Beach for improving color support by adding colorama #29
- Aditya Tandon for the issue #30
- Akshatha Nayak for your first contribution to an open source project. PR #31
Bugs
If you are experiencing any bugs, don’t forget to open a new issue.
Thanks
- Thanks to all the existing users of SoCLI.
- Thanks to all upvoters and followers on reddit.
- impress that girl in the Starbucks by browsing SO with your CLI app XD XD by insane0hflex. Thanks for the post :wink:
- Special thanks to people who wrote about SoCLI on their blogs and websites:
- Tweets:
- Thanks to my favourite IDE JetBrains PyCharm
Visit https://github.com/gautamkrishnar/socli for more info.