hors
Awesome program howdoi which implemented in rust
Screenshot
Installation
hors is written in Rust
. The recommended way to install hors
is through cargo
.
cargo install hors
Note
For compiling with current version, you'll need the dependencies for bindgen available at build time.
For more information, please check out the following issue, sorry for the inconvenience.
Tested platforms
For now, hors
has been tested with the following platforms:
- linux
- osx
- windows
Usage
USAGE:
hors [FLAGS] [OPTIONS] <QUERY>
FLAGS:
-a, --all display the full text of the answer.
-c, --color enable colorized output.
--disable_proxy Disable system proxy.
-h, --help Prints help information
-l, --link display only the answer link.
-V, --version Prints version information
OPTIONS:
-e, --engine <engine> select middle search engine, currently support `bing`, `google` and
`duckduckgo`. [default: duckduckgo]
-n, --number_answers <number_answers> number of answers to return. [default: 1]
ARGS:
<QUERY>
Usage example
- Want to know how to export pandas dataframe to csv?
hors "pandas dataframe to csv"
Here it is:
- Answer from https://stackoverflow.com/questions/16923281/pandas-writing-dataframe-to-csv-file
df.to_csv(file_name, sep='\t')
- If we just want to know where is the answer existed?
hors "pandas dataframe to csv" -l
Here it is:
Title - pandas writing dataframe to csv file
https://stackoverflow.com/questions/16923281/pandas-writing-dataframe-to-csv-file
- If we want more about the answer detailed?
hors "how to parse json in rust" -a
Here it is:
- Answer from https://stackoverflow.com/questions/30292752/how-do-i-parse-a-json-file
Solved by the many helpful members of the Rust community:
extern crate rustc_serialize;
use rustc_serialize::json::Json;
use std::fs::File;
use std::io::Read;
fn main() {
let mut file = File::open("text.json").unwrap();
let mut data = String::new();
file.read_to_string(&mut data).unwrap();
let json = Json::from_str(&data).unwrap();
println!("{}", json.find_path(&["Address", "Street"]).unwrap());
}
- What if we want to make output code colorized?
hors "how to parse json in python" -c
Here it is:
=
print
- How to get more than one answers
hors "set git remote url" -n 2 -a
Here it is:
- Answer from https://stackoverflow.com/questions/2432764/how-to-change-the-uri-url-for-a-remote-git-repository
You can
git remote set-url origin new.git.url/here
(see git help remote) or you can just edit .git/config and change the URLs there. You're not in any danger of losing history unless you do something very silly (and if you're worried, just make a copy of your repo, since your repo is your history.)
^_^ ==================================================== ^_^
- Answer from https://stackoverflow.com/questions/42830557/git-remote-add-origin-vs-remote-set-url-origin
below is used to a add a new remote:
git remote add origin git@github.com:User/UserRepo.git
below is used to change the url of an existing remote repository:
git remote set-url origin git@github.com:User/UserRepo.git
below will push your code to the master branch of the remote repository defined with origin and -u let you point your current local branch to the remote master branch:
git push -u origin master
Documentation
- The default search engine is bing, how can I use other search engine?
hors "set git remote url" -n 2 -a -e "google"
Customize
hors
is command line tools, which means that users can easily customize it.
For example, in Linux or MacOS, you can easily customize hors
by alias. You can add the following lines into profile
:
alias hors="hors -c"
which will enable hors
colorize output by default. Let's says that we want to make hors
output the whole answers, coloring output by default. So we can add the following lines into profile
:
alias hors="hors -c -a"
Special thanks
Very thanks for the awesome project and links :)
- howdoi which inspired
hors
(Fow nowhors
ishowdoi
which implements inrust
). - stackoverflow helps user solve question about coding.
About the name
hors
is the abbreviation of howdoi in rust
.