sesh 0.3.5 → 0.3.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/Session.vim +56 -32
- data/lib/sesh/inferences.rb +12 -0
- data/lib/sesh/tmux_control.rb +8 -2
- data/lib/sesh/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 778297769aa09cf17f59f199a3d60d39fc05e6f9
|
4
|
+
data.tar.gz: ccb02fbe907590287018b237d5df85d66b36828b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8c2a2200deaf1ed97de80198ce860137fcb6dde1f87ffec819666e75dbb7546e65b0cda7e1b43d577ef246c4f31987d9ba059a39000c7eeaaf2da8ec11188ab0
|
7
|
+
data.tar.gz: d1d3d10d95a64720f2eb665ee689473078703ad8e7c436bcfba864cf07c2b380d5ad6e77395513856afbecda17d73a2126b95341cea1cb271f07ae604d34fd3c
|
data/Gemfile.lock
CHANGED
data/Session.vim
CHANGED
@@ -324,10 +324,10 @@ badd +32 sesh.gemspec
|
|
324
324
|
badd +18 exe/return_to_sesh.applescript
|
325
325
|
badd +1 \'/Users/smit1625/Sites/sesh/exe/return_to_sesh.applescript\'
|
326
326
|
badd +2 exe/return_to_sesh
|
327
|
-
badd +
|
327
|
+
badd +3 exe/sesh
|
328
328
|
argglobal
|
329
329
|
silent! argdel *
|
330
|
-
edit
|
330
|
+
edit lib/sesh/version.rb
|
331
331
|
set splitbelow splitright
|
332
332
|
wincmd _ | wincmd |
|
333
333
|
split
|
@@ -337,7 +337,10 @@ vsplit
|
|
337
337
|
1wincmd h
|
338
338
|
wincmd _ | wincmd |
|
339
339
|
split
|
340
|
-
|
340
|
+
wincmd _ | wincmd |
|
341
|
+
split
|
342
|
+
2wincmd k
|
343
|
+
wincmd w
|
341
344
|
wincmd w
|
342
345
|
wincmd w
|
343
346
|
wincmd _ | wincmd |
|
@@ -353,18 +356,20 @@ set nosplitbelow
|
|
353
356
|
set nosplitright
|
354
357
|
wincmd t
|
355
358
|
set winheight=1 winwidth=1
|
356
|
-
exe '1resize ' . ((&lines *
|
359
|
+
exe '1resize ' . ((&lines * 15 + 31) / 62)
|
357
360
|
exe 'vert 1resize ' . ((&columns * 102 + 136) / 272)
|
358
|
-
exe '2resize ' . ((&lines *
|
361
|
+
exe '2resize ' . ((&lines * 14 + 31) / 62)
|
359
362
|
exe 'vert 2resize ' . ((&columns * 102 + 136) / 272)
|
360
|
-
exe '3resize ' . ((&lines *
|
361
|
-
exe 'vert 3resize ' . ((&columns *
|
362
|
-
exe '4resize ' . ((&lines *
|
363
|
+
exe '3resize ' . ((&lines * 14 + 31) / 62)
|
364
|
+
exe 'vert 3resize ' . ((&columns * 102 + 136) / 272)
|
365
|
+
exe '4resize ' . ((&lines * 22 + 31) / 62)
|
363
366
|
exe 'vert 4resize ' . ((&columns * 169 + 136) / 272)
|
364
|
-
exe '5resize ' . ((&lines *
|
365
|
-
exe 'vert 5resize ' . ((&columns *
|
366
|
-
exe '6resize ' . ((&lines *
|
367
|
-
exe 'vert 6resize ' . ((&columns *
|
367
|
+
exe '5resize ' . ((&lines * 22 + 31) / 62)
|
368
|
+
exe 'vert 5resize ' . ((&columns * 169 + 136) / 272)
|
369
|
+
exe '6resize ' . ((&lines * 14 + 31) / 62)
|
370
|
+
exe 'vert 6resize ' . ((&columns * 101 + 136) / 272)
|
371
|
+
exe '7resize ' . ((&lines * 14 + 31) / 62)
|
372
|
+
exe 'vert 7resize ' . ((&columns * 170 + 136) / 272)
|
368
373
|
argglobal
|
369
374
|
setlocal fdm=manual
|
370
375
|
setlocal fde=0
|
@@ -375,7 +380,7 @@ setlocal fml=1
|
|
375
380
|
setlocal fdn=20
|
376
381
|
setlocal fen
|
377
382
|
silent! normal! zE
|
378
|
-
let s:l = 1 - ((0 * winheight(0) +
|
383
|
+
let s:l = 1 - ((0 * winheight(0) + 7) / 15)
|
379
384
|
if s:l < 1 | let s:l = 1 | endif
|
380
385
|
exe s:l
|
381
386
|
normal! zt
|
@@ -383,6 +388,24 @@ normal! zt
|
|
383
388
|
normal! 0
|
384
389
|
wincmd w
|
385
390
|
argglobal
|
391
|
+
edit exe/sesh
|
392
|
+
setlocal fdm=manual
|
393
|
+
setlocal fde=0
|
394
|
+
setlocal fmr={{{,}}}
|
395
|
+
setlocal fdi=#
|
396
|
+
setlocal fdl=0
|
397
|
+
setlocal fml=1
|
398
|
+
setlocal fdn=20
|
399
|
+
setlocal fen
|
400
|
+
silent! normal! zE
|
401
|
+
let s:l = 3 - ((1 * winheight(0) + 7) / 14)
|
402
|
+
if s:l < 1 | let s:l = 1 | endif
|
403
|
+
exe s:l
|
404
|
+
normal! zt
|
405
|
+
3
|
406
|
+
normal! 015|
|
407
|
+
wincmd w
|
408
|
+
argglobal
|
386
409
|
edit lib/sesh/tmux_control.rb
|
387
410
|
setlocal fdm=manual
|
388
411
|
setlocal fde=0
|
@@ -393,12 +416,12 @@ setlocal fml=1
|
|
393
416
|
setlocal fdn=20
|
394
417
|
setlocal fen
|
395
418
|
silent! normal! zE
|
396
|
-
let s:l =
|
419
|
+
let s:l = 192 - ((12 * winheight(0) + 7) / 14)
|
397
420
|
if s:l < 1 | let s:l = 1 | endif
|
398
421
|
exe s:l
|
399
422
|
normal! zt
|
400
|
-
|
401
|
-
normal!
|
423
|
+
192
|
424
|
+
normal! 033|
|
402
425
|
wincmd w
|
403
426
|
argglobal
|
404
427
|
edit lib/sesh/ssh_control.rb
|
@@ -411,7 +434,7 @@ setlocal fml=1
|
|
411
434
|
setlocal fdn=20
|
412
435
|
setlocal fen
|
413
436
|
silent! normal! zE
|
414
|
-
let s:l = 38 - ((1 * winheight(0) +
|
437
|
+
let s:l = 38 - ((1 * winheight(0) + 11) / 22)
|
415
438
|
if s:l < 1 | let s:l = 1 | endif
|
416
439
|
exe s:l
|
417
440
|
normal! zt
|
@@ -429,12 +452,12 @@ setlocal fml=1
|
|
429
452
|
setlocal fdn=20
|
430
453
|
setlocal fen
|
431
454
|
silent! normal! zE
|
432
|
-
let s:l =
|
455
|
+
let s:l = 41 - ((15 * winheight(0) + 11) / 22)
|
433
456
|
if s:l < 1 | let s:l = 1 | endif
|
434
457
|
exe s:l
|
435
458
|
normal! zt
|
436
|
-
|
437
|
-
normal!
|
459
|
+
41
|
460
|
+
normal! 058|
|
438
461
|
wincmd w
|
439
462
|
argglobal
|
440
463
|
edit lib/sesh.rb
|
@@ -447,7 +470,7 @@ setlocal fml=1
|
|
447
470
|
setlocal fdn=20
|
448
471
|
setlocal fen
|
449
472
|
silent! normal! zE
|
450
|
-
let s:l = 45 - ((
|
473
|
+
let s:l = 45 - ((6 * winheight(0) + 7) / 14)
|
451
474
|
if s:l < 1 | let s:l = 1 | endif
|
452
475
|
exe s:l
|
453
476
|
normal! zt
|
@@ -465,26 +488,27 @@ setlocal fml=1
|
|
465
488
|
setlocal fdn=20
|
466
489
|
setlocal fen
|
467
490
|
silent! normal! zE
|
468
|
-
let s:l = 94 - ((
|
491
|
+
let s:l = 94 - ((13 * winheight(0) + 7) / 14)
|
469
492
|
if s:l < 1 | let s:l = 1 | endif
|
470
493
|
exe s:l
|
471
494
|
normal! zt
|
472
495
|
94
|
473
496
|
normal! 032|
|
474
497
|
wincmd w
|
475
|
-
|
476
|
-
exe '1resize ' . ((&lines * 19 + 31) / 62)
|
498
|
+
exe '1resize ' . ((&lines * 15 + 31) / 62)
|
477
499
|
exe 'vert 1resize ' . ((&columns * 102 + 136) / 272)
|
478
|
-
exe '2resize ' . ((&lines *
|
500
|
+
exe '2resize ' . ((&lines * 14 + 31) / 62)
|
479
501
|
exe 'vert 2resize ' . ((&columns * 102 + 136) / 272)
|
480
|
-
exe '3resize ' . ((&lines *
|
481
|
-
exe 'vert 3resize ' . ((&columns *
|
482
|
-
exe '4resize ' . ((&lines *
|
502
|
+
exe '3resize ' . ((&lines * 14 + 31) / 62)
|
503
|
+
exe 'vert 3resize ' . ((&columns * 102 + 136) / 272)
|
504
|
+
exe '4resize ' . ((&lines * 22 + 31) / 62)
|
483
505
|
exe 'vert 4resize ' . ((&columns * 169 + 136) / 272)
|
484
|
-
exe '5resize ' . ((&lines *
|
485
|
-
exe 'vert 5resize ' . ((&columns *
|
486
|
-
exe '6resize ' . ((&lines *
|
487
|
-
exe 'vert 6resize ' . ((&columns *
|
506
|
+
exe '5resize ' . ((&lines * 22 + 31) / 62)
|
507
|
+
exe 'vert 5resize ' . ((&columns * 169 + 136) / 272)
|
508
|
+
exe '6resize ' . ((&lines * 14 + 31) / 62)
|
509
|
+
exe 'vert 6resize ' . ((&columns * 101 + 136) / 272)
|
510
|
+
exe '7resize ' . ((&lines * 14 + 31) / 62)
|
511
|
+
exe 'vert 7resize ' . ((&columns * 170 + 136) / 272)
|
488
512
|
tabnext 1
|
489
513
|
if exists('s:wipebuf')
|
490
514
|
silent exe 'bwipe ' . s:wipebuf
|
data/lib/sesh/inferences.rb
CHANGED
@@ -27,6 +27,18 @@ module Sesh
|
|
27
27
|
if OS.windows? then 'notepad.exe'
|
28
28
|
else o = `echo $EDITOR`.strip; o = 'vim' unless o.length > 0; o end
|
29
29
|
end
|
30
|
+
def self.infer_tmux_project
|
31
|
+
tmux_session_pid = `echo $TMUX | cut -d , -f 2`.strip
|
32
|
+
return if tmux_session_pid.length == 0
|
33
|
+
tmux_process_line =
|
34
|
+
`ps aux | grep tmux | grep #{tmux_session_pid}`.strip.lines.first
|
35
|
+
return if tmux_process_line.nil?
|
36
|
+
tmux_process_line.split('-s ')[-1].split(' -n')[0]
|
37
|
+
end
|
38
|
+
def self.infer_tmux_pane
|
39
|
+
return if ( o = `echo $TMUX_PANE`.strip ).nil?; o[1..-1].to_i end
|
40
|
+
def self.infer_tmux_location; {
|
41
|
+
project: infer_tmux_project, pane: infer_tmux_pane } end
|
30
42
|
|
31
43
|
module OS
|
32
44
|
def OS.windows?
|
data/lib/sesh/tmux_control.rb
CHANGED
@@ -183,10 +183,16 @@ module Sesh
|
|
183
183
|
if options[:and_return]
|
184
184
|
options[:command] = "return_to_sesh &; #{options[:command]}"
|
185
185
|
end
|
186
|
+
inferred_location = Inferences.infer_tmux_location
|
186
187
|
if options[:pane].nil?
|
187
|
-
|
188
|
+
if inferred_location[:project] == @project then system options[:command]
|
189
|
+
else interrupt_and_send_command_to_project! options[:command] end
|
188
190
|
else
|
189
|
-
|
191
|
+
if inferred_location == { project: @project, pane: options[:pane] }
|
192
|
+
system options[:command]
|
193
|
+
else
|
194
|
+
interrupt_and_send_command_to_pane! options[:pane], options[:command]
|
195
|
+
end
|
190
196
|
end
|
191
197
|
end
|
192
198
|
|
data/lib/sesh/version.rb
CHANGED