Advertisement
ProgramCrafter

RemoteEdit

Jan 31st, 2021
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 0.76 KB | None | 0 0
  1. local event  = require 'event'
  2. local bridge = require 'stem'
  3. local server = bridge.connect('stem.fomalhaut.me', 5733)
  4.  
  5. server:subscribe 'oo-editor'
  6.  
  7. local _, _, file = event.pull 'stem_message'
  8.  
  9. local function read_file()
  10.   local handle = io.open(file)
  11.   local d = handle:read('*a')
  12.   handle:close()
  13.   return d
  14. end
  15.  
  16. local function edit_file(_, _, file_text)
  17.   if not file_text then return end
  18.   if file_text:sub(1, 5) == '$STOP' then
  19.     server:disconnect()
  20.     print('Stem disconnected')
  21.    
  22.     return false
  23.   end
  24.  
  25.   local handle = io.open(file, 'w')
  26.   handle:write(file_text)
  27.   handle:close()
  28.  
  29.   server:send('oo-editor', read_file())
  30. end
  31.  
  32. server:send('oo-editor', read_file())
  33.  
  34. print('Stem connected')
  35. event.listen('stem_message', edit_file)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement