chiark / gitweb /
dot/*: Major shake-up of shell configuration.
authorMark Wooding <mdw@distorted.org.uk>
Sat, 5 Aug 2017 23:56:24 +0000 (00:56 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Sat, 5 Aug 2017 23:56:24 +0000 (00:56 +0100)
commit74a53e2864888016fbe0dfc7443801db01bd1d04
tree43914fe65c2ec59054bf518570f09dd60f7b5214
parente82a96281380b42785b819964a335272a846347e
dot/*: Major shake-up of shell configuration.

Split out the major logic of session startup and shell configuration
into shell-neutral files `dot/profile' and `dot/shell-rc'.  There's a
little support now for pleasant `dash' sessions, but since `dash'
doesn't have a line editor or any way of varying the prompt dynamically,
it's still not marvellous.

Various things which have also been changed:

  * The prompt setup has been heavily refactored.  There's now a piece
    which calculates most of the major pieces, and another piece spliced
    into the shell's command-loop machinery to insert stuff like the Git
    status and previous exit code.  This also takes care of setting and
    clearing the Screen status, so that's much cleaner now.  (In
    particular, this means that Screen doesn't say that it's running
    Bash when it isn't really.)

  * Many of the shell functions have been revised to improve
    portability.  The old hack behind Solaris man(1) has gone
    because (a) it's hard to write portably, and (b) I don't use Solaris
    any more anyway.
dot/bash-profile
dot/bashrc
dot/profile [new file with mode: 0644]
dot/screenrc
dot/shell-logout [moved from dot/bash-logout with 56% similarity]
dot/shell-rc [new file with mode: 0644]
dot/shrc [new file with mode: 0644]
dot/xsession
setup