xonsh/docs/index.rst

367 lines
8.4 KiB
ReStructuredText
Raw Normal View History

2015-03-07 18:58:14 -06:00
the xonsh shell
===============
2016-03-24 14:06:20 -04:00
.. raw:: html
2015-03-07 18:58:14 -06:00
<p style="text-align:center;">
<span style="font-family:Times;font-size:28px;font-style:normal;font-weight:normal;text-decoration:none;text-transform:none;font-variant:small-caps;color:000000;">
2016-03-24 14:06:20 -04:00
~
2015-03-07 18:58:14 -06:00
<script>
2015-03-08 22:48:34 -05:00
var taglines = [
2015-03-07 18:58:14 -06:00
"Exofrills in the shell",
"No frills in the shell",
"Become the Lord of the Files",
"Break out of your shell",
2015-03-07 22:41:47 -06:00
"The only shell that is also a shell",
"All that is and all that shell be",
2015-03-07 23:35:08 -06:00
"It cannot be that hard",
2015-03-07 23:22:13 -06:00
"Pass the xonsh, Piggy",
2015-03-07 22:41:47 -06:00
"Piggy glanced nervously into hell and cradled the xonsh",
"The xonsh is a symbol",
2015-03-07 23:22:13 -06:00
"It is pronounced <i>conch</i>",
2016-03-12 19:51:05 -08:00
"It is pronounced <i>🐚</i>",
"It is pronounced <i>kɒntʃ</i>",
2015-03-07 18:58:14 -06:00
"The shell, bourne again",
2015-03-08 00:32:17 -06:00
"Snailed it",
2015-03-07 18:58:14 -06:00
"Starfish loves you",
2015-03-07 23:22:13 -06:00
"Come snail away",
2015-03-08 00:32:17 -06:00
"This is Major Tom to Ground Xonshtrol",
2015-03-07 18:58:14 -06:00
"Sally sells csh and keeps xonsh to herself",
2015-03-10 01:25:29 -05:00
"Nice indeed. Everything's accounted for, except your old shell.",
"I wanna thank you for putting me back in my snail shell",
2016-02-09 02:36:57 -05:00
"Crustaceanly Yours",
2016-02-10 11:08:42 -08:00
"With great shell comes great reproducibility",
"None shell pass",
"You shell not pass!",
2016-02-21 10:15:23 -08:00
"The x-on shell",
2016-06-04 22:34:27 -04:00
"Ever wonder why there isn't a Taco Shell? Because it is a corny idea.",
2016-02-25 18:23:30 -05:00
"It is pronounced <i>コンシュ</i>",
2016-05-23 14:19:24 -04:00
"The carcolh will catch you!",
"People xonshtantly mispronounce these things",
"WHAT...is your favorite shell?",
2016-08-23 08:33:47 -04:00
"Conches for the xonsh god!",
"Python-powered, cross-platform, Unix-gazing shell",
"Exploiting the workers and hanging on to outdated imperialist dogma since 2015."
2015-03-07 18:58:14 -06:00
];
2015-03-08 22:48:34 -05:00
document.write(taglines[Math.floor(Math.random() * taglines.length)]);
2015-03-07 18:58:14 -06:00
</script>
~
<br />
<br />
</span>
</p>
2016-12-15 10:09:48 -08:00
Xonsh is a Python-powered, cross-platform, Unix-gazing shell language and
command prompt. The language is a superset of Python 3.4+ with additional
shell primitives that you are used to from Bash and IPython. It works on
all major systems including Linux, Mac OSX, and Windows. Xonsh is meant
for the daily use of experts and novices alike.
2015-03-07 18:58:14 -06:00
2016-11-27 19:38:00 -05:00
**Try it out!**
2015-03-08 23:55:10 -05:00
2016-03-24 14:06:20 -04:00
.. raw:: html
2015-03-08 23:55:10 -05:00
2016-11-27 19:38:00 -05:00
<style>
.tryitbutton {
background-color: #84A6C7;
border: none;
color: white;
padding: 15px 32px;
text-align: center;
text-decoration: none;
font-size: 22px;
margin: 4px 2px;
cursor: pointer;
border-radius: 8px;
position:relative;
float: right;
right: 35%;
bottom: 240px;
}
</style>
<div id="trydiv"><p style="text-align:center;">
2016-12-24 12:10:36 -08:00
<iframe id="tryframe" data-src="_static/xonsh-live.png"
2016-11-27 19:38:00 -05:00
src="_static/xonsh-live.png" width="80%" height="480px"
style="overflow:hidden;" scrolling="no">
</iframe>
<button class="tryitbutton" id="trybutton">Click to Try Xonsh!</button>
<script>
$("#trybutton").click(function(){
var tryframe = $("#tryframe");
var trybutton = $("#trybutton");
tryframe.attr("src", tryframe.data("src"));
trybutton.remove();
});
</script>
2015-03-08 23:55:10 -05:00
</p>
2016-11-27 19:38:00 -05:00
</div>
2015-03-08 23:55:10 -05:00
2016-12-24 12:10:36 -08:00
.. <iframe id="tryframe" data-src="http://hermit.astro73.com/"
src="_static/xonsh-live.png" width="80%" height="480px"
style="overflow:hidden;" scrolling="no">
</iframe>
2015-03-07 18:58:14 -06:00
=========
Contents
=========
2016-03-13 21:51:59 -04:00
**Installation:**
.. toctree::
2016-05-20 17:58:50 -04:00
:titlesonly:
:maxdepth: 1
2016-03-13 21:51:59 -04:00
2016-05-20 17:58:50 -04:00
dependencies
linux
osx
windows
customization
2016-03-13 21:51:59 -04:00
2016-02-04 22:37:45 -05:00
**Guides:**
2015-03-07 18:58:14 -06:00
.. toctree::
2015-03-28 12:06:09 -05:00
:titlesonly:
2015-03-07 18:58:14 -06:00
:maxdepth: 1
tutorial
2015-08-27 09:56:42 -04:00
tutorial_hist
2016-08-20 17:00:10 -04:00
tutorial_macros
2016-05-11 01:55:53 -04:00
tutorial_xontrib
2016-08-27 22:38:12 -04:00
tutorial_events
2016-06-02 12:08:13 -04:00
tutorial_completers
2017-02-02 19:58:25 +08:00
tutorial_history_backend
tutorial_ptk
2016-02-04 22:37:45 -05:00
bash_to_xsh
python_virtual_environments
2016-02-04 22:37:45 -05:00
**Configuration & Setup:**
.. toctree::
:titlesonly:
:maxdepth: 1
2015-09-12 20:27:21 -04:00
xonshrc
2015-10-10 23:22:36 -04:00
xonshconfig
envvars
2015-08-27 09:56:42 -04:00
aliases
2016-05-11 00:57:48 -04:00
xontribs
2016-08-27 22:38:12 -04:00
events
2016-02-04 22:37:45 -05:00
2016-06-18 18:18:46 -04:00
**News & Media:**
.. toctree::
:titlesonly:
:maxdepth: 1
talks_and_articles
quotes
2016-02-04 22:37:45 -05:00
**Development Spiral:**
.. toctree::
:titlesonly:
:maxdepth: 1
2015-03-07 18:58:14 -06:00
api/index
2016-08-27 22:38:12 -04:00
advanced_events
2015-03-28 12:06:09 -05:00
devguide/
2015-03-07 18:58:14 -06:00
previous/index
faq
2015-03-07 23:35:08 -06:00
todo
2015-03-07 18:58:14 -06:00
2015-09-12 19:57:50 -04:00
==========
Comparison
==========
Xonsh is significantly different from most other shells or shell tools. The following
table lists features and capabilities that various tools may or may not share.
2016-03-24 14:06:20 -04:00
.. list-table::
2015-09-12 19:57:50 -04:00
:widths: 3 1 1 1 1 1 1
:header-rows: 1
:stub-columns: 1
2016-03-24 14:06:20 -04:00
* -
2015-09-12 19:57:50 -04:00
- Bash
- zsh
- plumbum
- fish
- IPython
- xonsh
* - Sane language
2016-03-24 14:06:20 -04:00
-
-
2015-09-12 19:57:50 -04:00
-
-
-
-
* - Easily scriptable
-
-
-
-
2016-03-24 14:06:20 -04:00
-
2015-09-12 19:57:50 -04:00
-
* - Native cross-platform support
2016-03-24 14:06:20 -04:00
-
-
2015-09-12 19:57:50 -04:00
-
-
-
-
* - Meant as a shell
-
-
2016-03-24 14:06:20 -04:00
-
2015-09-12 19:57:50 -04:00
-
2016-03-24 14:06:20 -04:00
-
2015-09-12 19:57:50 -04:00
-
* - Tab completion
-
-
2016-03-24 14:06:20 -04:00
-
2015-09-12 19:57:50 -04:00
-
-
-
* - Man-page completion
2016-03-24 14:06:20 -04:00
-
-
-
2015-09-12 19:57:50 -04:00
-
2016-03-24 14:06:20 -04:00
-
2015-09-12 19:57:50 -04:00
-
* - Large standard library
2016-03-24 14:06:20 -04:00
-
2015-09-12 19:57:50 -04:00
-
2016-03-24 14:06:20 -04:00
-
-
2015-09-12 19:57:50 -04:00
-
-
* - Typed variables
2016-03-24 14:06:20 -04:00
-
-
2015-09-12 19:57:50 -04:00
-
-
-
-
* - Syntax highlighting
2016-03-24 14:06:20 -04:00
-
-
-
2015-09-12 19:57:50 -04:00
-
- in notebook
- w/ prompt-toolkit
* - Pun in name
-
2016-03-24 14:06:20 -04:00
-
2015-09-12 19:57:50 -04:00
-
2016-03-24 14:06:20 -04:00
-
-
2015-09-12 19:57:50 -04:00
-
* - Rich history
2016-03-24 14:06:20 -04:00
-
-
-
-
-
2015-09-12 19:57:50 -04:00
-
2015-03-07 18:58:14 -06:00
2016-05-22 19:45:03 +02:00
.. include:: dependencies.rst
2015-03-07 19:30:06 -06:00
2015-03-07 18:58:14 -06:00
============
Contributing
============
2016-03-24 14:06:20 -04:00
We highly encourage contributions to xonsh! If you would like to contribute,
it is as easy as forking the repository on GitHub, making your changes, and
issuing a pull request. If you have any questions about this process don't
2016-07-16 23:20:35 -07:00
hesitate to ask the mailing list (xonsh@googlegroups.com) or the `Gitter <https://gitter.im/xonsh/xonsh>`_ channel.
See the `Developer's Guide <devguide.html>`_ for more information about contributing.
2015-03-07 19:30:06 -06:00
==========
Contact Us
==========
If you have questions or comments, please send them to the mailing list
xonsh@googlegroups.com, page us on IRC, contact the author directly, or
2016-03-24 14:06:20 -04:00
open an issue on GitHub.
2015-03-07 19:30:06 -06:00
`Join the mailing list here! <https://groups.google.com/forum/#!forum/xonsh>`_
2015-03-07 18:58:14 -06:00
=============
Helpful Links
=============
2016-02-10 02:43:04 -05:00
* `Documentation <http://xon.sh>`_
2016-06-28 12:29:42 +08:00
* `Gitter <https://gitter.im/xonsh/xonsh>`_
2015-03-07 19:30:06 -06:00
* `Mailing list <https://groups.google.com/forum/#!forum/xonsh>`_
* `IRC: channel #xonsh on OFTC <http://www.oftc.net/>`_
2016-06-28 12:29:42 +08:00
* `GitHub Repository <https://github.com/xonsh/xonsh>`_
2015-03-07 18:58:14 -06:00
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
2015-03-25 01:58:03 -05:00
.. raw:: html
2015-03-07 18:58:14 -06:00
2016-10-31 07:20:59 -07:00
<a href="https://github.com/xonsh/xonsh" class='github-fork-ribbon' title='Fork me on GitHub'>Fork me on GitHub</a>
<style>
2016-10-31 07:20:59 -07:00
/*!
* Adapted from
* "Fork me on GitHub" CSS ribbon v0.2.0 | MIT License
* https://github.com/simonwhitaker/github-fork-ribbon-css
*/
.github-fork-ribbon, .github-fork-ribbon:hover, .github-fork-ribbon:hover:active {
background:none;
left: inherit;
width: 12.1em;
height: 12.1em;
position: absolute;
overflow: hidden;
top: 0;
right: 0;
z-index: 9999;
pointer-events: none;
text-decoration: none;
text-indent: -999999px;
}
2016-10-31 07:20:59 -07:00
.github-fork-ribbon:before, .github-fork-ribbon:after {
/* The right and left classes determine the side we attach our banner to */
position: absolute;
display: block;
width: 15.38em;
height: 1.54em;
top: 3.23em;
right: -3.23em;
box-sizing: content-box;
transform: rotate(45deg);
}
.github-fork-ribbon:before {
content: "";
padding: .38em 0;
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.1));
box-shadow: 0 0.07em 0.4em 0 rgba(0, 0, 0, 0.3);
pointer-events: auto;
}
.github-fork-ribbon:after {
content: attr(title);
color: #000;
font: 700 1em "Helvetica Neue", Helvetica, Arial, sans-serif;
line-height: 1.54em;
text-decoration: none;
text-align: center;
text-indent: 0;
padding: .15em 0;
margin: .15em 0;
border-width: .08em 0;
border-style: dotted;
border-color: #777;
}
</style>