1
0
forked from aniani/vim
Files
vim/src/testdir/test_channel_pipe.py
Bram Moolenaar b2658a1ab0 patch 7.4.1787
Problem:    When a job ends the close callback is invoked before other
            callbacks. On Windows the close callback is not called.
Solution:   First invoke out/err callbacks before the close callback.
            Make the close callback work on Windows.
2016-04-26 17:16:24 +02:00

41 lines
1.1 KiB
Python

#!/usr/bin/python
#
# Server that will communicate over stdin/stderr
#
# This requires Python 2.6 or later.
from __future__ import print_function
import sys
if __name__ == "__main__":
if len(sys.argv) > 1:
if sys.argv[1].startswith("err"):
print(sys.argv[1], file=sys.stderr)
sys.stderr.flush()
else:
print(sys.argv[1])
sys.stdout.flush()
if sys.argv[1].startswith("quit"):
sys.exit(0)
while True:
typed = sys.stdin.readline()
if typed.startswith("quit"):
print("Goodbye!")
sys.stdout.flush()
break
if typed.startswith("echo "):
print(typed[5:-1])
sys.stdout.flush()
if typed.startswith("double "):
print(typed[7:-1] + "\nAND " + typed[7:-1])
sys.stdout.flush()
if typed.startswith("echoerr "):
print(typed[8:-1], file=sys.stderr)
sys.stderr.flush()
if typed.startswith("doubleerr "):
print(typed[10:-1] + "\nAND " + typed[10:-1], file=sys.stderr)
sys.stderr.flush()