Browse Source

update xonsh differences page

master
adam j hartz 2 years ago
parent
commit
5347ace89d
1 changed files with 12 additions and 4 deletions
  1. 12
    4
      source/xonsh.html

+ 12
- 4
source/xonsh.html View File

@@ -13,22 +13,28 @@ were removed:
13 13
 <ul>
14 14
 <li><tt>tako</tt> only supports a readline-based shell interface (the <tt>prompt-toolkit</tt>-based shell was removed).</li>
15 15
 <li>Support for running in Microsoft Windows natively was removed (though it is still possible to run under Windows via Cygwin).</li>
16
-<li>The notion of "rich history" is removed completely, as it complicated a number of basic shell operations.</li>
16
+<li>The notion of "rich history" is removed completely, as it complicated or broke a number of basic shell operations.</li>
17 17
 <li>A big rewrite of the way subprocess-mode commands are handled was rolled back because it caused a number of issues with job control.</li>
18
-<li>Branch information for version control systems (Mercurial/Git) was removed by default.</li>
18
+<li>Branch information for version control systems (Mercurial/Git) was removed by default because of performance issues.</li>
19 19
 <li>The "amalgamation" optimization was removed because it complicated the codebase and error reporting.</li>
20 20
 <li>All reliance on foreign shells was removed (except for, optionally, tab completion via Bash).</li>
21 21
 <li>The (unused) <tt>Block</tt> and <tt>Functor</tt> contexts have been removed.</li>
22 22
 </ul>
23
+</p>
23 24
 
24
-Many of these changes were made in an attempt to reduce the size and complexity of the codebase, and to fix issues with management of subprocess-mode commands.  When the project was first forked, these changes led to a drastic reduction in the size of the codebase (~3MB vs ~10MB), increased startup times by a factor of 3, and dramatically reduced CPU load.  I have not done any testing recently.
25
+<p>
26
+Many of these changes were made in an attempt to reduce the size and complexity
27
+of the codebase, and to fix multiple breaking issues with management of
28
+subprocess-mode commands.  When the project was first forked, these changes led
29
+to a drastic reduction in the size of the codebase (~3MB vs ~10MB), increased
30
+startup times by a factor of 3, and dramatically reduced CPU load.  I have not
31
+done any testing recently.
25 32
 </p>
26 33
 
27 34
 <p>
28 35
 While a big part of the fork indeed involved removing large portions of the
29 36
 xonsh codebase, a number of new features and changes have also been introduced:
30 37
 <ul>
31
-<li>The name is a funnier pun and is pronounceable :)</li>
32 38
 <li><tt>disown</tt>ing a process is possible in <tt>tako</tt>.</li>
33 39
 <li>Tako-specific settings have been moved out of environment variables and into a special settings object.</li>
34 40
 <li>Static JSON configuration has been replaced with <tt>preload.tako</tt> and <tt>config.tako</tt> in <tt>$XDG_CONFIG_HOME</tt>.</li>
@@ -39,6 +45,8 @@ xonsh codebase, a number of new features and changes have also been introduced:
39 45
 <li>Support for 256 colors in prompt formatting fields.</li>
40 46
 <li><tt>tako</tt> supports three different means of handling numbers: <tt>exact</tt> (decimals and fractions are stored in exact form as long as possible), <tt>python</tt> (Pythonic number treatment), and <tt>hybrid</tt> (like <tt>exact</tt>, except decimals are immediately represented as floats).</li>
41 47
 <li>Tuples and "bare" generators can be used in <tt>@(...)</tt>.</li>
48
+<li><tt>umask</tt> is implemented as a built-in command.</li>
49
+<li><tt>echo</tt> is implemented as a built-in command to avoid issues with large arguments.</li>
42 50
 <li>Indentation level is cleared on a <tt>KeyboardInterrupt</tt>.</li>
43 51
 <li><tt>tako</tt> has a different way of handling plugins and event hooks.</li>
44 52
 </ul>

Loading…
Cancel
Save