git.fiddlerwoaroof.com
Browse code

Start emacs server if not already running, add utility scripts

Ed Langley authored on 20/06/2017 05:14:29
Showing 4 changed files
... ...
@@ -318,11 +318,15 @@
318 318
 
319 319
 
320 320
 
321
-(add-hook 'after-init-hook (evil-mode))
322
-(add-hook 'after-init-hook 'paredit-mode)
323
-(add-hook 'after-init-hook 'evil-paredit-mode)
324
-(add-hook 'after-init-hook 'global-company-mode)
325
-(add-hook 'after-init-hook 'global-linum-mode)
321
+(add-hook 'after-init-hook
322
+	  (lambda ()
323
+	    (unless (server-running-p)
324
+	      (server-start))
325
+	    (evil-mode)
326
+	    (paredit-mode)
327
+	    (evil-paredit-mode)
328
+	    (global-company-mode)
329
+	    (global-linum-mode)))
326 330
 
327 331
 (progn ; linum
328 332
   (setq linum-format "%5d\u2502"))
329 333
new file mode 100755
... ...
@@ -0,0 +1,35 @@
1
+#!/usr/bin/env zsh
2
+tmux ls
3
+
4
+attach_tmux () {
5
+  TMUX_SESSION="$1"
6
+  tmux attach -t "$TMUX_SESSION" -d
7
+}
8
+
9
+new_tmux () {
10
+  TMUX_SESSION="$1"
11
+  exec tmux new-session -s "$TMUX_SESSION"
12
+}
13
+
14
+if [[ x"$1" == x ]]; then
15
+
16
+  echo -n "Which session? "
17
+  read TMUX_SESSION
18
+
19
+  if [[ "$TMUX_SESSION"x != ""x ]]; then
20
+    attach_tmux "$TMUX_SESSION" && exit 0
21
+  fi
22
+
23
+  echo -n "No such session '$TMUX_SESSION', new session [y/N]? "
24
+  read NEW_SESSION
25
+  NEW_SESSION="${NEW_SESSION/Y/y}"
26
+
27
+  if [[ x"${NEW_SESSION[1]}" == x'y' ]]; then
28
+    new_tmux "$TMUX_SESSION"
29
+  fi
30
+
31
+  echo "Either you decided not to create a new session or something went _horribly_ wrong!"
32
+  read BOB
33
+else
34
+  attach_tmux "$1" || new_tmux "$1"
35
+fi
0 36
new file mode 100755
... ...
@@ -0,0 +1,9 @@
1
+#!/usr/bin/env zsh
2
+
3
+git remote | (
4
+    while read -r remote; do
5
+	printf "Pushing to %s\n" "$remote..."
6
+	git push --all "$@" "$remote"
7
+	git push --tags "$remote"
8
+    done
9
+)
0 10
new file mode 100755
... ...
@@ -0,0 +1,55 @@
1
+#!/usr/bin/env awk -f
2
+# Waterman's Algorithm R for random sampling
3
+# by way of Knuth's The Art of Computer Programming, volume 2
4
+
5
+BEGIN {
6
+    if (!n) {
7
+        print "Usage: sample.awk -v n=[size]"
8
+        exit
9
+    }
10
+    t = n
11
+    srand()
12
+
13
+}
14
+
15
+NR <= n {
16
+    pool[NR] = $0
17
+    places[NR] = NR
18
+    next
19
+
20
+}
21
+
22
+NR > n {
23
+    t++
24
+    M = int(rand()*t) + 1
25
+    if (M <= n) {
26
+        READ_NEXT_RECORD(M)
27
+    }
28
+
29
+}
30
+
31
+END {
32
+    if (NR < n) {
33
+        print "sample.awk: Not enough records for sample" \
34
+            > "/dev/stderr"
35
+        exit
36
+    }
37
+    # gawk needs a numeric sort function
38
+    # since it doesn't have one, zero-pad and sort alphabetically
39
+    pad = length(NR)
40
+    for (i in pool) {
41
+        new_index = sprintf("%0" pad "d", i)
42
+        newpool[new_index] = pool[i]
43
+    }
44
+    x = asorti(newpool, ordered)
45
+    for (i = 1; i <= x; i++)
46
+        print newpool[ordered[i]]
47
+
48
+}
49
+
50
+function READ_NEXT_RECORD(idx) {
51
+    rec = places[idx]
52
+    delete pool[rec]
53
+    pool[NR] = $0
54
+    places[idx] = NR  
55
+}