Module: Castanaut::Plugin::Terminal

Defined in:
lib/plugins/terminal.rb

Overview

This module provides actions for controlling Terminal.app Terminal 2.0.1 on Mac OS X 10.5.6

Instance Method Summary collapse

Instance Method Details

#cli(cmd, opts = {}) ⇒ Object



36
37
38
39
# File 'lib/plugins/terminal.rb', line 36

def cli(cmd, opts = {})
  type(cmd, opts)
  hit Enter
end

#do_script(args = '') ⇒ Object



13
14
15
# File 'lib/plugins/terminal.rb', line 13

def do_script(args = '')
  "do script \"#{args}\""
end

#ensure_window_for_terminalObject

Applescript fragment for new windows.



9
10
11
# File 'lib/plugins/terminal.rb', line 9

def ensure_window_for_terminal
  do_script
end

#focus_on_terminalObject



29
30
31
32
33
34
# File 'lib/plugins/terminal.rb', line 29

def focus_on_terminal
  execute_applescript "
    tell application \"Terminal\"
      activate
    end tell"
end

#launch_terminalObject



17
18
19
20
# File 'lib/plugins/terminal.rb', line 17

def launch_terminal
  launch "Terminal"
  execute_applescript ensure_window_for_terminal
end

#run_in_terminal(cmd) ⇒ Object



22
23
24
25
26
27
# File 'lib/plugins/terminal.rb', line 22

def run_in_terminal(cmd)
  execute_applescript "
    tell application \"Terminal\"
      #{do_script(cmd)} in window 1
    end tell"
end

#type_pre(string) ⇒ Object



41
42
43
# File 'lib/plugins/terminal.rb', line 41

def type_pre(string)
  type string.gsub(/\n/, '
')
end

#vim_insert(string) ⇒ Object



45
46
47
# File 'lib/plugins/terminal.rb', line 45

def vim_insert(string)
  type_pre 'i' + string + ''
end