Přemysl Eric Janouch
6927d022fb
WebSocket: send a User-Agent header
2020-10-15 04:30:48 +02:00
Přemysl Eric Janouch
75b2094cdd
json-rpc-test-server: add a simple co-process mode
...
A disgusting copy-paste but it will have to do for now.
Closes #6
2020-10-15 03:20:20 +02:00
Přemysl Eric Janouch
b3c377afdb
json-rpc-test-server: WS: fix failures to upgrade
...
Similar to ad1aba9
, only here we return 426 to the client.
2020-10-15 00:39:27 +02:00
Přemysl Eric Janouch
4236a4943a
WebSocket: adapt to common "await" infrastructure
2020-10-14 13:37:10 +02:00
Přemysl Eric Janouch
23c728e535
Add a backend for co-processes
...
Targets language servers.
In this first stage, we don't need to support bi-directionality,
although it's a requirement for finishing this task.
Updates #4
2020-10-14 13:37:08 +02:00
Přemysl Eric Janouch
dfe814316f
This software is no longer simple
2020-10-14 13:36:35 +02:00
Přemysl Eric Janouch
efc663a178
WebSocket: some clean-up
2020-10-14 12:25:22 +02:00
Přemysl Eric Janouch
2b8f52ac72
Split out a http-parser wrapper
2020-10-14 12:25:22 +02:00
Přemysl Eric Janouch
bb7ffe1da2
Simplify the FAIL macro
2020-10-14 12:25:21 +02:00
Přemysl Eric Janouch
ad1aba9d22
WebSocket: fix upgrade processing
...
When http-parser sets the upgrade field, it checks for status code 101
and even resolves our TODO about checking the entire Connection header.
2020-10-14 09:44:46 +02:00
Přemysl Eric Janouch
0107d09abc
json-rpc-shell.adoc: document the M-Enter binding
2020-10-14 02:37:50 +02:00
Přemysl Eric Janouch
01767198f2
WebSockets -> WebSocket
...
This is the correct name of the protocol, usage of the word
"WebSockets" should be limited.
2020-10-14 00:03:34 +02:00
Přemysl Eric Janouch
5854ed1b32
Support reading OpenRPC documents from a file
...
Bump liberty, it generated incorrect help messages.
2020-10-13 21:48:24 +02:00
Přemysl Eric Janouch
63c8a79479
Factor out init_backend()
...
The main() function is still way too long.
2020-10-13 21:07:40 +02:00
Přemysl Eric Janouch
d489362a28
json-rpc-test-server: implement rpc.discover
2020-10-13 20:54:27 +02:00
Přemysl Eric Janouch
c87869bef7
Cleanup
...
Prevent the last fuck-up from happening again.
2020-10-13 20:30:33 +02:00
Přemysl Eric Janouch
fcf65f8377
Add libedit autocompletion back in
...
I've mistakenly removed it in the M-Enter change.
2020-10-13 20:19:19 +02:00
Přemysl Eric Janouch
d820bc2f23
Bump version, update NEWS
2020-10-13 16:03:19 +02:00
Přemysl Eric Janouch
b458fc1f99
libedit: bind M-Enter to newline-insert as well
2020-10-13 15:55:37 +02:00
Přemysl Eric Janouch
0771c142fe
json-rpc-test-server: fix reading the request URI
2020-10-13 04:46:08 +02:00
Přemysl Eric Janouch
742632a931
Bump http-parser
...
Apparently it's reached maturity and there won't be any changes
anytime soon, making this the perfect time for an upgrade.
2020-10-13 04:35:42 +02:00
Přemysl Eric Janouch
2221828763
OpenRPC: avoid eating HTTP/transport errors
2020-10-13 04:35:32 +02:00
Přemysl Eric Janouch
c2a00511c0
Document OpenRPC tab completion support
...
Now that it's functional in both frontends, we can flaunt it.
I still don't want to make it the default.
Closes #1
2020-10-13 04:23:28 +02:00
Přemysl Eric Janouch
2b18ebf314
Implement tab completion under libedit
...
I haven't tested it with real wide characters but it will have to do.
I wasn't even sure if this piece of crap could be coerced into doing
this at first, so it's a win for me.
It uses a variation of the code in degesch where we /don't/ want to
print the list of candidates on partial failure.
Updates #1
2020-10-13 03:58:26 +02:00
Přemysl Eric Janouch
5d2cd01db0
json-rpc-test-server: fix a potential memory leak
2020-10-13 02:08:53 +02:00
Přemysl Eric Janouch
ee79249d23
json-rpc-shell.adoc: update WebSocket notes
...
https://github.com/open-rpc/client-js also uses WebSockets,
although they don't seem to support notifications (in general).
2020-10-10 05:20:31 +02:00
Přemysl Eric Janouch
160d23018a
Bump liberty
...
resolve_relative_runtime_unique_filename() used to have a bug.
2020-10-10 05:09:11 +02:00
Přemysl Eric Janouch
fed2892ee1
Readline: add trivial OpenRPC support
...
So far hidden under a switch and only for this frontend.
2020-10-10 05:09:10 +02:00
Přemysl Eric Janouch
667b01cb73
Reorder help message entries a bit
...
Should be both more useful and more alphabetic this way.
2020-10-10 02:57:14 +02:00
Přemysl Eric Janouch
20c8578084
Fix use of possibly uninitialised memory
2020-10-10 02:57:14 +02:00
Přemysl Eric Janouch
57a3b4e990
Split make_json_rpc_call() in half
2020-10-10 02:57:13 +02:00
Přemysl Eric Janouch
e4d1529b4d
Slightly refactor make_json_rpc_call()
2020-10-10 02:57:13 +02:00
Přemysl Eric Janouch
897a263ee7
Readline: make M-Enter insert a newline
...
Before, it was only possible with C-v C-j but it's too useful
to require such an awkward method.
There is a precedent in, e.g., zsh and fish for the new binding.
2020-10-09 20:41:37 +02:00
Přemysl Eric Janouch
84702fa47d
Fix handling terminal resizes while the terminal is suspended
...
GNU Readline has a misfeature.
2020-10-09 20:21:52 +02:00
Přemysl Eric Janouch
b315892249
Readline: fix a dormant bug in prompt changes
...
For details, see a similar change in degesch from uirc3.
2020-10-09 20:17:17 +02:00
Přemysl Eric Janouch
710f5f197f
Make a release, create NEWS
2020-09-05 20:42:02 +02:00
Přemysl Eric Janouch
ba68585d14
Streamline the manual page a bit
...
I have consulted `man 7 man-pages` but overall it's a huge mess.
2020-09-05 06:34:00 +02:00
Přemysl Eric Janouch
984e5b4e7f
Use saner defaults
...
So that most of the time users won't need to use any switches.
--pretty-print has been inverted into jq's --compact-output,
and --auto-id has been replaced with barely, if-at-all useful
--null-as-id.
2020-09-05 06:07:45 +02:00
Přemysl Eric Janouch
d57a8bd3c7
Improve AsciiDoc compatibility
...
I need two renderers to work: hswg/libasciidoc and asciidoctor
in man page mode (and ideally in HTML as well). That should be
covered now.
The triple-plus thing was the first thing that showed good results,
after trying backslashes, single-plus quoting and [] after ://.
The change of the source code block kind could be considered as
unification. I'm combining tabs with spaces within one document
though, and I should get rid of the tabs in the rest of it then...
2020-09-05 04:36:43 +02:00
Přemysl Eric Janouch
2962a644da
Write a nice new man page in AsciiDoc
...
Taking some preliminary steps for inclusion in Linux distributions.
The help message has been slightly improved and the README extended,
with part of it now residing in the man page.
One less GNU dependency, for what it's worth.
2020-09-05 03:51:36 +02:00
Přemysl Eric Janouch
6f5ef30293
Move "connecting..." messages to the debug mode
...
So that the --verbose option does only one thing.
2020-09-05 03:50:14 +02:00
Přemysl Eric Janouch
b7b1198be7
Fix libedit a bit more and discourage from using it
2020-09-02 01:08:09 +02:00
Přemysl Eric Janouch
633f7007d1
json-rpc-test-server: add a "date" method
2020-09-01 23:41:20 +02:00
Přemysl Eric Janouch
f4d178b3f6
Update copyright years
2020-09-01 21:03:53 +02:00
Přemysl Eric Janouch
ee5317f865
json-rpc-test-server: reject non-null params in "ping"
2020-09-01 20:56:03 +02:00
Přemysl Eric Janouch
20558ecd2b
json-rpc-test-server: make sure to set the id in responses
2020-09-01 20:55:22 +02:00
Přemysl Eric Janouch
f6225ac6cc
Warn on unexpected "id" fields
2020-09-01 20:54:23 +02:00
Přemysl Eric Janouch
16ec8261dc
Make the verbose mode also show the raw input
...
To make it more useful for debugging. We might also tie this
to the --debug option, though that would be a bit chaotic.
2020-09-01 20:37:08 +02:00
Přemysl Eric Janouch
e49ff84b74
Strip trailing newlines from editor output
2020-09-01 19:26:37 +02:00
Přemysl Eric Janouch
b7c9bfd9f5
Fix libedit crash
...
Again, I have no idea why it started to happen, it just occured
to me to try to change the call, and it turns out out it works.
2020-09-01 19:02:41 +02:00