summary refs log tree commit diff stats
path: root/doc/cd-after-exit.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/cd-after-exit.txt')
-rw-r--r--doc/cd-after-exit.txt22
1 files changed, 15 insertions, 7 deletions
diff --git a/doc/cd-after-exit.txt b/doc/cd-after-exit.txt
index 5e54fee0..ee300518 100644
--- a/doc/cd-after-exit.txt
+++ b/doc/cd-after-exit.txt
@@ -1,6 +1,8 @@
 The "cd-after-exit" Feature
+===========================
 
-== Abstract
+Abstract
+--------
 
 This document explains the troublesome implementation of the "cd-after-exit"
 feature.
@@ -8,7 +10,8 @@ feature.
 This is written for developers who wonder how it's working.
 
 
-== Specification
+Specification
+-------------
 
 When the feature is enabled, ranger will attempt to change the directory of
 the parent shell (from which ranger is run) to the last visited directory
@@ -20,7 +23,8 @@ addition of support for csh, ksh, and other shells to those who actually use
 those shells.
 
 
-== What's the problem?
+What's the problem?
+-------------------
 
 Shells have several limitations, the implementation could not be done easily
 because:
@@ -33,7 +37,8 @@ of the parent shell at all.
 which is directly integrated in to the shell and can not be run this way.
 
 
-== Redirection of streams
+Redirection of streams
+----------------------
 
 The only way I found is using cd `program` from inside the shell to change
 the directory to whatever `program` prints to the stdout:
@@ -62,7 +67,8 @@ switch which:
     bash$ cd `ranger --cd-after-exit 3>&1 1>&2 2>&3 3>&-`
 
 
-== Argument passing
+Argument passing
+----------------
 
 This works well enough, but there are two remaining problems:
 
@@ -92,7 +98,8 @@ run.sh:
     cd "`$RANGER --cd-after-exit \"$@\" 3>&1 1>&2 2>&3 3>&-`"
 
 
-== Put it in a nutshell
+Put it in a nutshell
+--------------------
 
 I didn't want to have 2 files for the main program and wanted just one
 file at /usr/bin/ranger.  So I used this trick to merge both files into one:
@@ -120,7 +127,8 @@ A convenient way of using this feature is adding this line to your bashrc:
     alias rn='source ranger ranger'
 
 
-== Open issues
+Open issues
+-----------
 
 Unfortunately there is some redundancy: you have to type the path to ranger
 twice.  I know of no way to fix this, because it is not possible to get the