diff --git a/doc.go b/doc.go index 806600ec..43e7b990 100644 --- a/doc.go +++ b/doc.go @@ -144,6 +144,7 @@ The following environment variables are exported for shell commands: fx id PWD + OLDPWD LF_LEVEL OPENER EDITOR @@ -716,6 +717,10 @@ Id of the running client. Present working directory. + OLDPWD + +Initial working directory. + LF_LEVEL The value of this variable is set to the current nesting level when you run lf from a shell spawned inside lf. diff --git a/docstring.go b/docstring.go index 0983142e..f077fd21 100644 --- a/docstring.go +++ b/docstring.go @@ -148,6 +148,7 @@ The following environment variables are exported for shell commands: fx id PWD + OLDPWD LF_LEVEL OPENER EDITOR @@ -768,6 +769,10 @@ Id of the running client. Present working directory. + OLDPWD + +Initial working directory. + LF_LEVEL The value of this variable is set to the current nesting level when you run diff --git a/lf.1 b/lf.1 index d2153632..74715ae1 100644 --- a/lf.1 +++ b/lf.1 @@ -164,6 +164,7 @@ The following environment variables are exported for shell commands: fx id PWD + OLDPWD LF_LEVEL OPENER EDITOR @@ -868,6 +869,12 @@ Id of the running client. .PP Present working directory. .PP +.EX + OLDPWD +.EE +.PP +Initial working directory. +.PP .EX LF_LEVEL .EE diff --git a/main.go b/main.go index 48dcd2da..25aae79d 100644 --- a/main.go +++ b/main.go @@ -65,6 +65,12 @@ func exportEnvVars() { os.Setenv("PAGER", envPager) os.Setenv("SHELL", envShell) + dir, err := os.Getwd() + if err != nil { + fmt.Fprintf(os.Stderr, "%s\n", err) + } + os.Setenv("OLDPWD", dir) + level, err := strconv.Atoi(envLevel) if err != nil { log.Printf("reading lf level: %s", err)