]> ruderich.org/simon Gitweb - config/dotfiles.git/commitdiff
tmux.conf: Use line continuation.
authorSimon Ruderich <simon@ruderich.org>
Fri, 12 Oct 2012 14:41:21 +0000 (16:41 +0200)
committerSimon Ruderich <simon@ruderich.org>
Fri, 12 Oct 2012 14:41:27 +0000 (16:41 +0200)
Also add new script remove-continuation.pl which performs this change.
Older Tmux versions don't support line continuation.

Adapt setup.sh to generate tmux.conf from tmux.conf.in.

.gitignore
bin/remove-continuation.pl [new file with mode: 0755]
setup.sh
tmux.conf.in [moved from tmux.conf with 93% similarity]

index 1cec4e7a98a5343b7939b6b437acc93e9227445d..7d37188cd875f27956fdc996fd19983ed441f0ea 100644 (file)
@@ -1,6 +1,7 @@
 # Ignore generated files.
 /htoprc
 /screenrc
+/tmux.conf
 # Ignore temporary zsh files.
 /zsh/cache
 /zsh/history*
diff --git a/bin/remove-continuation.pl b/bin/remove-continuation.pl
new file mode 100755 (executable)
index 0000000..8658df8
--- /dev/null
@@ -0,0 +1,42 @@
+#!/usr/bin/perl
+
+# Remove continuation lines from stdin/file. Leading whitespace on the next
+# line is removed.
+
+# Copyright (C) 2012  Simon Ruderich
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+
+use strict;
+use warnings;
+
+
+my $continuation = 0;
+while (my $line = <>) {
+    # Remove leading whitespace if the last line was a line continuation.
+    if ($continuation) {
+        $line =~ s/^\s+//;
+    }
+
+    if ($line =~ /^(.+?)\\$/) {
+        print $1;
+        $continuation = 1;
+    } else {
+        print $line;
+        $continuation = 0;
+    }
+}
+# Handle line continuation on the last line.
+print "\n" if $continuation;
index 5e5acc65e0c1685f11d2a0af894a6171464ab2db..8873bf601137bcd78511472159609b6198fbe9f1 100755 (executable)
--- a/setup.sh
+++ b/setup.sh
@@ -93,6 +93,7 @@ fi
 link inputrc ~/.inputrc
 link screenrc ~/.screenrc
 if installed tmux; then
+    generate perl tmux.conf ./bin/remove-continuation.pl
     link tmux.conf ~/.tmux.conf
 fi
 if installed htop; then
similarity index 93%
rename from tmux.conf
rename to tmux.conf.in
index 09c6ed3128d47e51ec5c40c152e85413863f466f..f1fe4e54468b2da6e8894238d8374cb09a743b93 100644 (file)
--- a/tmux.conf
@@ -50,7 +50,8 @@ set-option -g status-bg colour12
 # Nothing left of window list.
 set-option -g status-left ""
 # Current load average and hostname on the right.
-set-option -g status-right "#(uptime | sed 's/^.*load averages*: //; s/,//g') #H"
+set-option -g status-right "#(uptime | sed 's/^.*load averages*: //; s/,//g') \
+                            #H"
 
 # Format for windows in the window list in the status line. #I window index,
 # #W window number, #F window flags.
@@ -92,6 +93,8 @@ bind-key C-t display-message
 # Run urlview on the current screen content. Very useful to follow links.
 # Thanks to Arch wiki (https://wiki.archlinux.org/index.php/Tmux) for the
 # basic idea.
-bind-key C-b capture-pane \; save-buffer ~/.tmp/tmux-urlview \; new-window "$SHELL -c 'urlview < ~/.tmp/tmux-urlview'"
+bind-key C-b capture-pane \; \
+             save-buffer ~/.tmp/tmux-urlview \; \
+             new-window "$SHELL -c 'urlview < ~/.tmp/tmux-urlview'"
 
 # vim: ft=tmux