This tool is almost exactly what I'm looking for; thanks for putting it together!
Would it be possible to add JSON support? Where it can read JSON from disk using the compiled classes from the .proto file, throw exceptions if it doesn't conform to the structure, allow me to edit it with the .proto schema constraints, and write JSON back to disk when I save?
I'm storing JSON configuration files in source control and I'm reading them at runtime with my compiled proto classes. Many people edit these configuration files, so merging changes in source control in a human readable format is an important feature to me which is why I store them in JSON and not in binary. It also means that inspecting them is easier as it doesn't require a tool.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have had a quick look at it - it should be possible.
Can you answer one question:
Do you write out the JSON as one message to the file or can there be more than one message in the JSON file.
At a first look, it looks as though it will be reasonably easy to add in. If it proves to be easy, I will do it reasonably quickly if not it will have to wait.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
This tool is almost exactly what I'm looking for; thanks for putting it together!
Would it be possible to add JSON support? Where it can read JSON from disk using the compiled classes from the .proto file, throw exceptions if it doesn't conform to the structure, allow me to edit it with the .proto schema constraints, and write JSON back to disk when I save?
I'm storing JSON configuration files in source control and I'm reading them at runtime with my compiled proto classes. Many people edit these configuration files, so merging changes in source control in a human readable format is an important feature to me which is why I store them in JSON and not in binary. It also means that inspecting them is easier as it doesn't require a tool.
I have had a quick look at it - it should be possible.
Can you answer one question:
At a first look, it looks as though it will be reasonably easy to add in. If it proves to be easy, I will do it reasonably quickly if not it will have to wait.
I have uploaded a new version:
that supports JSON (Single message format)