blob: 5f32506741bbaba903281604d5f084d31e5ba0d0 [file] [log] [blame]
Bram Moolenaar6463ca22016-02-13 17:04:46 +01001#!/usr/bin/python
2#
3# Server that will communicate over stdin/stderr
4#
5# This requires Python 2.6 or later.
6
7from __future__ import print_function
8import sys
9
10if __name__ == "__main__":
11
12 if len(sys.argv) > 1:
Bram Moolenaarf65333c2016-03-08 18:27:21 +010013 if sys.argv[1].startswith("err"):
14 print(sys.argv[1], file=sys.stderr)
15 sys.stderr.flush()
16 else:
17 print(sys.argv[1])
18 sys.stdout.flush()
Bram Moolenaarb2658a12016-04-26 17:16:24 +020019 if sys.argv[1].startswith("quit"):
20 sys.exit(0)
Bram Moolenaar6463ca22016-02-13 17:04:46 +010021
22 while True:
23 typed = sys.stdin.readline()
24 if typed.startswith("quit"):
25 print("Goodbye!")
26 sys.stdout.flush()
27 break
Bram Moolenaarc25558b2016-03-03 21:02:23 +010028 if typed.startswith("echo "):
Bram Moolenaar6463ca22016-02-13 17:04:46 +010029 print(typed[5:-1])
30 sys.stdout.flush()
Bram Moolenaare98d1212016-03-08 15:37:41 +010031 if typed.startswith("double "):
Bram Moolenaar9a6e33a2016-02-16 19:25:12 +010032 print(typed[7:-1] + "\nAND " + typed[7:-1])
33 sys.stdout.flush()
Bram Moolenaare98d1212016-03-08 15:37:41 +010034 if typed.startswith("echoerr "):
35 print(typed[8:-1], file=sys.stderr)
36 sys.stderr.flush()
37 if typed.startswith("doubleerr "):
38 print(typed[10:-1] + "\nAND " + typed[10:-1], file=sys.stderr)
39 sys.stderr.flush()
Bram Moolenaar6463ca22016-02-13 17:04:46 +010040